Часы Windows XP установлены неправильно после выхода из спящего режима

Я использую двойную загрузку Linux и Windows XP на своем ноутбуке. Я добавил следующий ключ реестра в XP для поддержки Universal Time из BIOS:

HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Когда я запускаю XP, часы установлены правильно, но если машина выходит из спящего режима, часы выключаются на пару часов.

Есть ли способ, чтобы XP правильно использовал настройку универсального времени во время пробуждения? Если нет, могу ли я помешать XP установить часы на возобновление?

3 ответа

Я предполагаю, что Windows как-то плохо себя ведет после пробуждения из-за системного времени. Согласно статье в Википедии, раздел реестра, на который вы ссылаетесь, работает не полностью, даже в последних версиях Windows:

Windows ожидает, что часы реального времени компьютера будут работать по местному времени. Поскольку в Windows NT была запись реестра RealTimeIsUniversal=1, но эта функция еще не поддерживается или не полностью реализована (включая Vista), поэтому невозможно запускать часы реального времени в формате универсального координированного времени.

Я думаю, что вам лучше всего сказать Linux, что системные часы работают по местному времени, и кусать пулю два раза в год с помощью летнего времени.

ETA: в этой статье немного подробнее описывается проблема, а также намекает тот факт, что проблемы с этим разделом реестра устранены в Vista SP2 и Windows 7:

2001-07-09: Я получил ответ от кого-то из Microsoft Base Kernel Team, который заинтересовался RealTimeIsUniversal, и они изучили соответствующие части исходного кода ядра NT. Флаг RealTimeIsUniversal присутствует (остаток со времен, когда NT все еще работал на RISC-машинах с UTC RTC), но его реализация кажется сейчас неполной, и в настоящее время он не охватывается документацией Microsoft и набором регрессионных тестов, поэтому его использование не рекомендуется в этот раз. За последние несколько дней было выявлено несколько потенциальных ошибок RealTimeIsUniversal, возможно, их будет больше. Например, отладчик ядра предполагает, что время CMOS является местным, и ошибочно получит время, когда RealTimeIsUniversal=1. Может быть похожая проблема в коде, который возобновляет обработку после приостановки ЦП, или в коде, который вычисляет время изменения летнего времени.

2008-10-31: Ура! Кто-то из Отдела основных операционных систем Microsoft намекнул мне по электронной почте, что как Vista SP2, так и Windows 7 исправят проблемы с поддержкой RealTimeIsUniversal=1, из-за которой запуск часов CMOS в UTC пока не практичен для Windows (т. Е. Время был не прав после возобновления приостановки / гибернации Windows). Тем не менее, он предупреждает, что эта улучшенная поддержка UTC в часах CMOS может быть не сразу задокументирована, и детали могут измениться в будущем.

Итак, в заключение я думаю, что у вас есть два варианта:

  1. Обновите операционную систему до последней версии.
  2. Переключите Linux на местное время.

PS: В отличие от других постеров, это не может быть батарея CMOS. Часы реального времени не питаются от батареи, пока система работает. Это включает в себя режим сна (очевидно). Если батарея CMOS разряжена, часы реального времени вернутся к своим заводским настройкам, которые обычно 1 января, несколько лет назад. Смещение пары часов просто не происходит, поскольку нет никакого "состояния" часов, которое переживало бы полную потерю мощности. Это не родственные настенные часы с отслаивающейся батареей, которые сохраняют свое время, даже когда батарея разряжена.

Если при загрузке установлено правильное время (потому что оно синхронизируется), и оно правильно, пока Windows его продвигает, но оно не наступает, когда Windows спит, тогда, скорее всего, вам следует проверить батарею CMOS.

Он не похож на батарею CMOS, поскольку обычно сбрасывает время на фиксированную дату, а не "выключается на пару часов".

Другое временное решение - установить что-то вроде Atomic Clock Sync и установить для него значение "Auto Synchronize Daily". Это вернет часы в соответствие.

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