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

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

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

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

369
задан 2 January 2017 в 19:30

4 ответа

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

Операционные системы множества загрузочных систем хранят и извлекают время в аппаратных часах. расположен на материнской плате, так что он может отслеживать время даже когда система не имеет питания. Большинство операционных систем (Linux/Unix/Mac) сохраняет время на аппаратных часах в виде UTC путем по умолчанию, хотя некоторые системы (в частности, 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 версия 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
 "RealTimeIsUniversal"=dword:00000001

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

sc config w32time start= disabled

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

Редактор реестра Windows, версия 5.00.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
 "RealTimeIsUniversal" =-

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

sc config w32time start= demand

Заставьте Linux использовать "локальное" время

, чтобы сообщить системе Ubuntu, что аппаратные часы настроены на "локальные". time:

Pre-Ubuntu 15.04 systems (например, Ubuntu 14.04 LTS):

  1. edit /etc/default/rcS
  2. add or change the following section

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=нет
    

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

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

    timedatectl set-local-rtc 1
    

319
ответ дан 2 January 2017 в 19:30

Для установки часов BIOS на местное время вместо UTC в версия на основе systemd (15.04 и выше) вам нужно будет использовать команду timedatectl . Согласно Arch Wiki :

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

 $ timedatectl |  grep local
 

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

 # timedatectl set-local-rtc 1
 

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

 # timedatectl set-local-rtc 0
 
70
ответ дан 2 January 2017 в 19:30

Вашим часовым поясом является восточное , которое в настоящее время является EDT (восточное летнее время). EDT - это UTC минус четыре часа, то же самое, что и смещение.

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

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

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

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

Вместо этого, лучшим решением, вероятно, будет перенастройка Ubuntu, чтобы считать аппаратное время как местное (тогда Вы можете оставить конфигурацию Windows, и аппаратное время часов, в покое). Для этого отредактируйте /etc/default/rcS в корневом режиме и убедитесь, что он имеет UTC=no-:

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

  2. Введите gksu gedit /etc/default/rcS и нажмите Enter.

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

    # предположим, что часы BIOS установлены на UTC-время (рекомендуется).
    UTC=да
    
    • Если это так, измените UTC=да на UTC=нет . (Или вы можете также добавить комментарий, изменив его на что-то вроде UTC=no-#, чтобы подогнать под систему Windows. Все в строке после символа # является комментарием, и это просто для того, чтобы сделать ваши настройки более удобочитаемыми.)
    • Если вы этого не сделаете, ищите любую строку UTC=. Если она не закомментирована (т.е. в начале отсутствует #), измените ее соответствующим образом. Если она закомментирована, снимите комментарий, удалив ведущую # и убедитесь, что в ней написано UTC=no.
  4. Сохраните файл и выйдите из текстового редактора.

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

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

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

36
ответ дан 2 January 2017 в 19:30

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

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

12
ответ дан 2 January 2017 в 19:30

Другие вопросы по тегам:

Похожие вопросы: