Если на вашем компьютере установлено несколько операционных систем (ОС) (Windows, Linux, Mac OS/Хакинтош), то вы могли заметить, что сбивается время на разницу в часовом поясе.
Время сдвигается при загрузке Windows, если до этого вы загружались в ОС Linux, Mac OS/Хакинтош. Например, вы перезагружаете компьютер для загрузки Windows 10 после Хакинтош. Время 12:30 по МСК. После загрузки в Windows время установится 9:30.
Почему время сбивается?
Когда ОС система не загружена, то время компьютера хранится на аппаратном уровне в BIOS.
Сбой в отображении времени зависит от того как ОС хранит время в BIOS:
- Linux, Mac OS/Хакинтош хранит время в BIOS в формате UTC, т.е. без учета сдвига часового пояса
- Windows хранит время в BIOS с учетом часового пояса.
В результате загрузки Windows время отображается не корректно, т.к. ОС считает, что в BIOS время установлено с учетом часового пояса.
Как исправить?
Чтобы время не сбивалось при использовании разных ОС, необходимо Windows настроить на хранение времени в BIOS в формате UTC.
Для этого необходимо в реестр добавить параметр RealTimeIsUniversal=1
- Ветка реестра: \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
- Формат параметра RealTimeIsUniversal выбрать DWORD/QWORD в зависимости от разрядности Windows 32/64 соответственно.
Способ 1
- Открыть редактор реестра
- Нажать комбинацию клавиш Ctrl+R, в командной строке ввести regedit
- Нажать комбинацию клавиш Ctrl+R, в командной строке ввести regedit
- Открыть ветку реестра
- Добавить параметр RealTimeIsUniversal=1
- Создать параметр с типом DWORD/QWORD в зависимости от разрядности ОС 32/64.
- Присвоить имя созданному параметру RealTimeIsUniversal
- Указать значение = 1
- Создать параметр с типом DWORD/QWORD в зависимости от разрядности ОС 32/64.
- Перезагрузить компьютер.
- Если время всё также сбиваться, то потребуется дополнительная настройка. Служба времени Windows продолжает писать время в местном формате при обновлении его через интернет. Поэтому отключим службу синхронизации времени:
В командной строке с правами администратора выполнить команду:
sc config w32time start=disabled
Для того чтобы обратно запустить службу необходимо выполнить команду:
sc config w32time start=demand
Сделал. Не помогает. Windows11/macOS Catalina Dual Boot
Алексей, добрый вечер!
Не тестировал с новыми версиями Windows и MacOS. Возможно что-то изменилось.
Проверьте:
1) Для Windows 11 параметр RealTimeIsUniversal обязательно должен быть QWORD.
2) Попробуйте в Windows отключить службу синхронизации времени. Для этого в командной строке с правами администратора выполните команду:
sc config w32time start=disabled
Для включения необходимо также с правами администратора выполнить команду:
sc config w32time start=demand