Заставить Windows 8 использовать UTC при работе с BIOS


18

У меня есть Arch Linux + Windows 8 на моем ноутбуке. В предыдущих версиях Windows в системном реестре присутствовал DWORD, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversalкоторый переключался между местным временем и UTC, но в Windows 8 это больше не работает.

Сейчас я получаю время UTC в Windows, так как считает, что BIOS указывает местное время, которое фактически соответствует времени UTC, и после перезагрузки в Arch Linux часы становятся местными - 0400, потому что Arch считает, что BIOS имеет правильное время UTC.

Я не хочу позволить Arch Linux использовать местное время. При этом предварительном условии, есть ли возможное решение?


1
Ключ RealTimeIsUniversal работал хорошо для меня, а также для двойной загрузки Arch Linux.
1311407

Ответы:


3

RealTimeIsUniversal действительно содержит ошибки и не является официально рекомендованным решением (может, поэтому они отключили его в Win8?). Смотрите, что часы IBM PC Real Time должны работать в UT, и ответ Раймонда Чена здесь: Почему Windows поддерживает ваши часы BIOS по местному времени? , На сегодняшний день я не думаю, что есть правильное решение для этого.


5
глючит? никогда не было никаких проблем с этим, и принуждение окон к использованию системных часов UTC действительно является единственным разумным решением. и ключ не отключен в win8. Реальное решение - установить ключ реестра, отключить синхронизацию времени Windows и позволить linux управлять синхронизацией, если вы загружаетесь там достаточно часто.
летающие овцы

1
@flyingsheep За эти годы было выпущено несколько исправлений, см. Текущий статус поддержки в Windows на cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
Stijn

@Stijn Отличная ссылка, я думаю, вы должны превратить ее в ответ для большей наглядности.
23 марта

15

Служба Windows Time по умолчанию всегда записывает местное время в аппаратные часы при выключении, независимо от того, что реестр говорит о реальном времени в UTC. За пределами этого предупреждения Windows будет правильно относиться к аппаратным часам, если реестр задан правильно. Попробуй это:

  1. Если время перепутано с попыткой заставить Windows использовать UTC, загрузиться в Windows и установить время как обычно (правильный часовой пояс, без regedit, служба времени Windows включена, недавно синхронизирована и т. Д.)
  2. Вы уже упомянули о регидите
  3. Синхронизировать время w32tm /config /update
  4. Отключить службу времени Windows sc config w32time start= disabled
  5. Установите сторонний NTP-клиент
  6. Убедитесь, что это работает с перезагрузкой

1
Просто настройте это самостоятельно после того, как Windows установит часы при каждом выключении. Нашел следующее программное обеспечение NTP для Windows, которое очень легко установить и настроить. meinbergglobal.com/english/sw/ntp.htm
Dracs

Это программное обеспечение, кажется, переупаковывает официальный дистрибутив NTP, с некоторыми дополнениями. Во всяком случае, я использовал его, а также нашел его на работу.
Дэвид З

10

RealTimeIsUniversalключ реестра по- прежнему работает в Windows 8 и 10! Просто проверил это сам. Инструкции по использованию этого метода объясняются много раз везде, например, в этом ответе .

Я повторю ответ здесь:

  1. Win+ S, regedit, Enter.

  2. Перейдите к ключу: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.

  3. Создайте новое DWORD (32-битное) значение, назовите его RealTimeIsUniversal.

  4. Установите его значение в 1.

После этого просто перезагрузите компьютер. После того, как он снова заработает, позвольте Windows автоматически установить время (нажмите на текущее время в трее, Date and Time Settings> Set Time Automatically), на этот раз он не будет связываться с ним.


0

@jiehanzheng Да, если вы используете NTP в Windows, это может испортить время. Похоже, лучшим обходным путем является запуск NTP в любой разновидности * NIX, в которой вы используете двойную загрузку, отключение NTP в Windows и смещение в любом часовом поясе. Тогда вам просто нужно отрегулировать переход на летнее время вручную со смещением часового пояса в Windows, но ...


0

RealTimeIsUniversalработает для меня. Чтобы заставить его работать, после применения записи в реестре выключите Windows (не спите и не переходите в спящий режим). Загрузите компьютер и войдите в BIOS перед загрузкой в ​​Windows, измените время в BIOS, сохраните и продолжите загрузку в Windows. В качестве альтернативы, после завершения работы Windows загрузитесь в Linux и дайте временной синхронизации выполнить свою работу. Если время обновляется из-за Windows, Windows как-то обновит неправильное время в системе после перезагрузки.


1
Не могли бы вы дать ссылку на источники, которые объясняют RealTimeIsUniversal? Я не знал, что это было, пока вы не упомянули об этом, и, судя по ряду результатов, похоже, что он имеет свой собственный набор потенциально негативных побочных эффектов.
убийца

-1

RealTimeIsUniversal работал для меня в Windows 10. И в середине декабря 2016 года он работает и для моего Windows 7 Pro, без перезагрузки в Linux.


-3

Вы можете просто установить часовой пояс на четыре часа.

введите описание изображения здесь


Умный обходной путь ... но аппаратные и системные часы снова будут испорчены при использовании NTP (Internet Time), верно?
jiehanzheng
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.