3

У меня странная проблема с системными часами. Иногда, когда я запускаю 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 часов, так что это была действительно проблема с аппаратными часами, установленными в Universal/Local Ubuntu/Windows соответственно.

1 ответ1

4

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

Если вы хотите, чтобы ваш hwclock показывал время в вашем часовом поясе, вам нужно будет изменить linux, чтобы он не был UTC, что означает, что Linux должен использовать локальное время. Если у вас все в порядке с вашим hwclock (BIOS) в UTC, то измените окна на 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .