Исправить проблему изменения времени по-разному в Windows и Linux при двойной загрузке

Если ваш заказ двойная загрузка Как в Windows, так и в Linux вы можете заметить, что синхронизировать системные часы невозможно. Как бы ни менялось время в одной операционной системе, проблема не решается в другой операционной системе. Это происходит из-за разногласий по поводу методологии хронометража между Windows и операционными системами на базе Linux. К счастью, есть относительно простое решение.

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

Почему это происходит?

Компьютер хранит текущее время в часах на материнской плате. Это позволяет компьютеру отслеживать время, даже когда компьютер выключен. Для расчета часовых поясов разные операционные системы используют разные методы. Windows предполагает, что местное время хранится на материнской плате, поэтому не применяется какое-либо смещение часового пояса. Для Nix, с другой стороны, он интерпретирует время на материнской плате как UTC (то есть среднее время по Гринвичу) и применяет компенсацию часового пояса для отображения местного времени.

Каждая из этих систем отлично работает независимо. Проблема возникает при двойной загрузке Windows и Linux с одной материнской платы. Когда операционные системы должны совместно использовать хранилище времени, часы не будут синхронизироваться.

Есть два разных способа решить эту проблему: мы можем изменить то, как Nix интерпретирует сохраненное время, или мы можем сделать то же самое в Windows.

Вариант 1. Заставьте Linux использовать местное время

Самый надежный способ привести Linux и Windows в соответствие со временем - это изменить методологию хронометража Linux. Хотя это явно не поддерживается, это немного надежнее, чем то же самое в Windows. Он работает с любым дистрибутивом Linux, использующим systemd, включая Ubuntu, Fedora, Red Hat, Debian и Mint. Изменение времени Windows обычно работает очень хорошо, но иногда это может привести к нестабильности в сторонних программах, которые ожидают, что сохраненное время будет локальным.

1. Откройте Терминал и выполните следующую команду:

timedatectl set-local-rtc 1 --adjust-system-clock
Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux
Это сообщит системе и интерпретирует время хранения материнской платы по местному времени. Linux не применяет настройки часового пояса к времени, хранящемуся на материнской плате. В результате ваши часы не будут синхронизированы.
Если вам когда-нибудь понадобится отменить команду, измените 1 на 0:
timedatectl set-local-rtc 0 --adjust-system-clock

Вариант 2. Заставьте Windows использовать UTC

Вы также можете изменить способ отображения системного времени в Windows. Это объяснение заставит Windows интерпретировать время, хранящееся на материнской плате, как UTC, что затем заставит Linux интерпретировать правильный часовой пояс. Хотя обычно это работает нормально, некоторые приложения полагаются на время материнской платы как на местное время. В результате это может вызвать проблемы с этими приложениями. Это делает этот вариант немного менее желательным, чем первый.

1. Отключите «Устанавливать время автоматически» в разделе «Время и язык» в приложении «Настройки». Это предотвратит возврат Windows к изменениям, которыми мы будем делиться.

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

2. Откройте редактор реестра, набрав regedit в меню «Пуск».

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

3. Найдите следующий раздел реестра на правой панели редактора реестра. Чтобы быстро туда добраться, вставьте местоположение в адресную строку редактора реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

4. Щелкните правой кнопкой мыши кнопку «Информация о часовом поясе» на правой панели и выберите «Создать -> Значение DWORD (32-битное)» в контекстном меню.

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

5. Назовите новое значение «RealTimeIsUniversal».

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

6. Дважды щелкните созданное значение, установите для него значение «1», затем щелкните OK.

Устранение проблемы изменения времени по-разному в Windows и Linux при двойной загрузке - Windows Linux

Заключение

Самый безопасный способ синхронизировать системные часы в системе с двойной загрузкой - это настроить то, как Linux интерпретирует время. Если это не работает для вас (или если вы используете macOS вместо Linux), вы также можете отредактировать реестр Windows, чтобы изменить способ интерпретации времени материнской платы Windows.

Источник
Наверх