Вопрос Время в секундах отключено при двойной загрузке


Двойная система загрузки Windows XP Pro и Ubuntu 12.04.

У меня установлен биос для правильного времени, а Ubuntu установлен для восточного времени США. Ubuntu будет загружаться, и время будет отключено на -4 часа. Если я исправлю время в Ubuntu, то при загрузке в Windows XP время будет выключено на + 4 часа.

Это новая установка 12.04. У меня не было этой проблемы, прежде чем переустанавливать Ubuntu.


274
2017-07-28 17:48


происхождения




ответы:


https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

Временные конфликты нескольких загрузочных систем

Операционные системы хранят и извлекают время в аппаратных часах   расположенный на вашей материнской плате, чтобы он мог отслеживать время даже   когда система не имеет мощности. Большинство операционных систем   (Linux / Unix / Mac) сохраняют время на аппаратных часах, как универсальное глобальное время от   по умолчанию, хотя некоторые системы (в частности, Microsoft Windows) хранят   время на аппаратных часах как «локальное» время. Это вызывает проблемы   в системе двойной загрузки, если обе системы рассматривают аппаратные часы   иначе.

Преимущество использования аппаратных часов в качестве UTC заключается в том, что вы не   необходимо изменить аппаратные часы при перемещении между часовыми поясами или   когда переход на летнее время (DST) начинается или заканчивается по мере того, как UTC не имеет   DST или смещения временной шкалы.

Изменение Linux для использования местного времени проще и надежнее, чем   изменение Windows для использования UTC, поэтому системы Linux / Windows с двойной загрузкой   для использования местного времени.

Поскольку Intrepid (8.10), UTC = yes - значение по умолчанию.

Сделать Windows использовать UTC

Заметка: Этот метод первоначально не поддерживался в Windows Vista и Server 2008, но вернулся с Vista SP2, Windows 7, Server 2008 R2   и Windows 8 / 8.1.

Чтобы MS Windows вычислила время с аппаратных часов в формате UTC.

Создайте файл с именем WindowsTimeFixUTC.reg со следующими   и затем дважды щелкните по нему, чтобы слить содержимое с помощью   реестр:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Заметка: Служба времени Windows по-прежнему будет записывать местное время в RTC независимо от установленного выше параметра реестра при выключении, поэтому это удобно   для отключения службы Windows Time с помощью этой команды (если синхронизация времени   все еще требуется, в то время как в Windows используется сторонняя синхронизация времени   решение):

sc config w32time start= disabled

Отмена изменения
 Вы можете создать файл со следующим   и затем дважды щелкните его, чтобы слить исходные изменения, так как   выше:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

Если служба времени Windows была отключена, включите ее снова с помощью   команда:

sc config w32time start= demand

Сделать Linux «локальным» временем

Чтобы сообщить вашей системе Ubuntu, что аппаратные часы установлены на «local»,   время:

Системы Pre-Ubuntu 15.04 (например, Ubuntu 14.04 LTS):

  1. редактировать /etc/default/rcS
  2. добавить или изменить следующий раздел

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    

Системы Ubuntu 15.04 и выше (например, Ubuntu 16.04 LTS):

  1. откройте терминал и выполните следующую команду

    timedatectl set-local-rtc 1
    

232
2017-07-28 18:07



О Господи. Я не могу верить они были достаточно глупы, чтобы использовать местное время на аппаратных часах. Почему ты когда-нибудь это делал? - iono
@twome, потому что с тех пор, как в начале MS-DOS не было много способов сетевого взаимодействия, и было бы нередко перемещать ПК до тех пор, пока он не переместит временные интервалы. (И да, даже учитывая, что история, это был еще не лучший шаг). - Jon Hanna
@twome, хотя я согласен с тобой, что вы остаетесь универсальным, поскольку он не поддерживает информацию о часовом поясе, есть несколько проблем с этим: A) BIOS / UEFI имеют различные функции, такие как автоматическое просыпание / спящий режим, где вы установить время для этих триггеров. Было бы странно устанавливать те времена в UTC - по крайней мере, для среднего пользователя. B) Как сказал Джон выше, соображения обратной совместимости. - Shahriyar Imanov
В Windows PowerShell выполните эту команду, чтобы обновить вышеупомянутое свойство реестра: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 - Anatoly Mironov
Для тех, кто просматривает текст, вам нужно только изменить настройки в одной из ОС, а не на обоих. - Alexander Revo


Чтобы установить часы BIOS в локальное время вместо UTC в версии на базе systemd (15.04 и выше), вам придется использовать timedatectlкоманда. В соответствии с Викиреальность:

Вы можете установить стандартное время аппаратного времени через командную строку.   Вы можете проверить, что вы настроили для использования:

$ timedatectl | grep local

Аппаратные часы можно запросить и установить с помощью timedatectl   команда. Чтобы изменить стандартное время аппаратного времени на местное время, используйте:

# timedatectl set-local-rtc 1

Если вы хотите вернуться к аппаратным часам в UTC, выполните следующие действия:

# timedatectl set-local-rtc 0

59
2018-01-13 03:40



На Ubuntu 16.10 это помогло сделать «hwclock --systohc - localtime». Это записывает «локальную часть» в / etc / adjtime и тем самым делает ее постоянной. - user1050755
@ user1050755 - это до, после или вместо команды timedatectl? - nasch


Ваш часовой пояс восточный, который в настоящее время является EDT (Eastern Daylight Time). EDT - универсальное глобальное время минус четыре часа, то же самое, что и смещение, которое вы испытываете.

Когда это происходит в системе с двойной загрузкой, обычно это происходит потому, что одна операционная система думает, что аппаратные часы отслеживают местное время, а другая операционная система считает, что аппаратные часы отслеживают UTC.

В вашем случае ваши аппаратные часы, вероятно, установлены в локальное время и:

  • Windows настроена на использование местного времени, которое (с учетом ваших настроек времени) верный,
  • Ubuntu настроен на использование UTC, который (учитывая ваши настройки времени) некорректный,

Если бы вы просто сбросили время в системе Ubuntu, либо вручную, либо автоматически, тогда это было бы неправильно в Windows, так что это нехорошее решение.

Вместо этого наилучшим решением, вероятно, является перенастроить Ubuntu для обработки времени аппаратного времени в качестве местного времени (тогда вы можете оставить свою конфигурацию Windows и время вашего оборудования).

Для этого отредактируйте /etc/default/rcS как root, и убедитесь, что он UTC=no:

  1. Нажмите Alt+F2,

  2. Тип gksu gedit /etc/default/rcS и нажмите Войти,

  3. Вероятно, вы увидите следующее:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Если вы это сделаете, измените UTC=yes в UTC=no, (Или вы можете добавить комментарий тоже, изменив его на что-то вроде UTC=no # changed to accommodate Windows system, Все на линии после # character - комментарий, и вам просто нужно сделать ваши настройки более удобочитаемыми.)
    • Если вы этого не сделаете, найдите UTC= линия. Если он раскоментирован (т. Е. Не имеет # в начале), измените его соответствующим образом. Если он прокомментирован, раскомментируйте его, удалив ведущий # и убедитесь, что он говорит UTC=no,
  4. Сохраните файл и закройте текстовый редактор.

  5. Перезагрузитесь, чтобы применить свои изменения и проверить, что время работает правильно в обеих операционных системах.

Источник:  https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time 

(Но это очень общее, я написал этот ответ, чтобы конкретно обратиться к вашей ситуации, что является довольно распространенной проблемой.)


32
2017-07-28 18:16



Обратите внимание, что это также может произойти при обновлении с одной версии Ubuntu до следующего, как это было для меня. Я могу порекомендовать выполнить описанное выше исправление, а затем вручную синхронизировать ваши часы, как в этом ответе (отрегулировать его для работы с systemd): askubuntu.com/a/254846/139735 - starbeamrainbowlabs
Это должен быть принятый ответ imho. Я установил Windows и работал нормально, тогда я установил Ubuntu, и часы пошли haywire - я не вижу причины, по которой мне нужно изменить настройки Windows, если это явно добавило Linux, который нарушил мою конфигурацию. - Przemek D


Исправление / etc / rcS не работало над установкой Win7 / Ubuntu 14.04x64, а также не исправлялось через графический интерфейс часов. Поскольку корень проблемы - время BIOS VS UTC, а Windows - боль в прикладе, когда дело доходит до использования UTC, я просто выбрал точку на карте, которая использует UTC + 0 (без изменений между BIOS и временем UTC) ,

Попробуйте изменить свое местоположение в Рейкьявик (столица Исландии). Вуаля! Ваше время Ubuntu изменится в соответствии с вашим временем BIOS.


12
2017-07-03 17:49



Ха-ха! Потрясающие. : D Мне действительно не важно мое местоположение. Это было исправлено за две секунды. Большое спасибо. - Pale Blue Dot