Примушуйте 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.