Заставить Windows использовать UTC

Заставить Windows использовать UTC

У меня возникла странная проблема с системными часами. Иногда, когда я запускаю Windows 10, мои часы показывают время, которое опережает текущее время на 5 часов. Так что если там, где я живу (восточный часовой пояс), сейчас полдень, часы показывают 5 вечера. Они также переходят на летнее время, оставаясь на 5 часов впереди.

Я проверил настройки часового пояса, и он установлен на правильный часовой пояс. У меня установлено интернет-время для синхронизации с time.nist.gov, и при ручной синхронизации времени часы устанавливаются правильно, хотя при этом появляется следующее сообщение об ошибке:

«Произошла ошибка при синхронизации Windows с time.nist.gov. Операция завершена, поскольку истекло время ожидания».

Эта проблема началась сразу после того, как я стер жесткий диск и переустановил Windows 10 с нуля, так что она не вызвана ничем, что я устанавливал с тех пор. Это происходит только при запуске Windows, но не каждый раз. В настоящее время у меня установлена ​​Ubuntu 16.04 в конфигурации с двойной загрузкой (проблема началась до того, как я установил Ubuntu), и я не видел никаких подобных проблем с часами Ubuntu.

Я просматривал в интернете похожие вопросы, связанные со временем, но ни один из них не соответствовал моему.Этот вопросочень похож на мой, но проблема там была вызвана отключением аппаратных часов, а часы, отображаемые в BIOS на моем компьютере, установлены на правильное время.

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

ОБНОВЛЕНИЕ: Оказывается, переключение с Ubuntu на Windows каждый раз приводит к смещению на 5 часов, так что проблема действительно была в установке аппаратных часов на универсальные/локальные в Ubuntu/Windows соответственно.

решение1

Я бы очень подозревал, что Ubuntu и Windows не согласны по поводу того, является ли hwclock локальным временем или UTC. Конфликт обычно возникает из-за того, что Linux использует hwclock, установленный в UTC, в то время как Windows использует hwclock, установленный в локальном часовом поясе.

Если вы хотите, чтобы ваши hwclock показывали время в вашем часовом поясе, то вам нужно будет изменить linux так, чтобы он не был UTC, что означает, что linux должен использовать localtime. Если вас устраивает, что ваш hwclock (BIOS) будет в UTC, то измените Windows на UTC.

Отздесь:

Заставить 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 с помощью этой команды (если синхронизация времени по-прежнему требуется, а в 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, что аппаратные часы установлены на «местное» время:

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

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

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

Системы Ubuntu 15.04 и выше (например, Ubuntu 16.04 LTS): откройте терминал и выполните следующую команду:

timedatectl set-local-rtc 1

Связанный контент