Примушуйте 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, годинник стає localtime-0400, тому що Arch вважає, що BIOS має правильний час UTC.

Я не хочу дозволити Arch Linux використовувати localtime. Згідно з цією умовою, чи можливе рішення?


1
Ключ RealTimeIsU Universal працював для мене чудово, також подвійне завантаження Arch Linux.
числа1311407

Відповіді:


3

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


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

1
@flyingsheep Протягом багатьох років було випущено кілька виправлень, див. Поточний стан підтримки в Windows на cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
Stijn

@Stijn Чудове посилання, я думаю, ви повинні зробити це відповіддю для більшої наочності.
Марк.2377,

15

Служба Windows Windows за замовчуванням завжди записуватиме місцевий час на апаратний годинник при відключенні, незалежно від того, що реєстр говорить про реальний час перебування в UTC. Поза цим застереженням Windows буде правильно ставитись до апаратного часу, якщо реєстр встановлений правильно. Спробуйте це:

  1. Якщо час збито з спроби змусити Windows використати UTC, завантажтесь у Windows та встановіть час, як це було б нормально (правильний часовий пояс, відсутність повторного редагування, увімкнено службу часу Windows, нещодавно синхронізовано тощо)
  2. Зробіть регеніт, про який ви вже згадували
  3. Синхронізуйте час w32tm /config /update
  4. Вимкнути службу Windows Time sc config w32time start= disabled
  5. Встановіть сторонній клієнт NTP
  6. Переконайтеся, що він працює з перезавантаженням

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

Це програмне забезпечення, здається, перепаковує офіційний дистрибутив NTP з деякими додатковими послугами. У всякому разі, я використав це, і також виявив, що він працює.
David Z

10

RealTimeIsUniversalключ реєстру все ще працює в Windows 8 і 10! Просто випробував це сам. Інструкції щодо використання цього методу пояснюються багато разів скрізь, наприклад, у цій відповіді .

Я повторю відповідь тут:

  1. Win+ S, regedit, Enter.

  2. Перейдіть до ключа: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.

  3. Створіть нове значення (32-бітове) DWORD, назвіть його RealTimeIsUniversal.

  4. Встановіть його значення на 1.

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


0

@jiehanzheng так, якщо ви використовуєте NTP в Windows, це зіпсує годинник. Здається, найкращим способом є запуск NTP в будь-якому кольорі * NIX. Ви подвійне завантаження, відключення NTP у Windows та зміщення за допомогою будь-якого часового поясу. Тоді вам просто доведеться коригувати літній час вручну зі зрушенням часового поясу в Windows, але так ..


0

RealTimeIsUniversalпрацює для мене. Щоб змусити його працювати, застосувавши запис у реєстрі, вимкніть Windows (не сплячи або сплячи). Перед завантаженням у Windows завантажте машину та введіть BIOS, змініть час у BIOS, збережіть, а потім продовжуйте завантажуватись у Windows. Крім того, після вимкнення Windows, завантажтеся в Linux і нехай синхронізація часу виконує свою роботу. Якщо час оновлюється в межах Windows, Windows якось оновить невірний час для системи після перезавантаження.


1
Чи можете ви зв’язатись із джерелами, які пояснюють RealTimeIsUniversal? Я не знав, що це було, поки ви не згадали про це, і за низкою результатів, схоже, він має власний набір потенційно негативних побічних ефектів.
вбивця

-1

RealTimeIsUniversal працював для мене в Windows 10. А в середині грудня 2016 року він працює і для мого Windows 7 Pro, не перезавантажуючи Linux.


-3

Ви можете просто встановити свій часовий пояс на чотири години виходу.

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


Розумне вирішення ... але апаратний та системний годинник знову зіпсується, коли я використовую NTP (Інтернет-час), правда?
jiehanzheng
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.