Как Ubuntu и Windows время не поделили

Как Ubuntu и Windows время не поделили

iSergium

Использование нескольких операционных систем на одном компьютере иногда приводит к их конфликтам между собой, когда они используют одно и то же. Иногда это касается таких простых вещей как время. Даже такие популярные ОС для ПК как Windows и Ubuntu могут не поладить и постоянно менять время друг друга на некорректное.

Причины этого явления на самом деле просты: Windows воспринимает системное время (которое выводится в настройках CMOS) как локальное (с учётом часового пояса), а Ubuntu - по UTC (по Гринвичу, без учёта часового пояса). Из-за этого они подправляют системное время под свою логику, нарушая логику друг друга.

Решение проблемы тоже простое: либо заставить Windows добавлять к системному времени сдвиг по часовому поясу, либо запретить Ubuntu добавлять этот сдвиг.

Настройки в Ubuntu

Начиная с версии 16.04 настройки отображения времени можно переключать двумя командами.

Включение отображения локального времени:
sudo hwclock --localtime --adjust

Включение отображения по UTC:
sudo hwclock --utc --adjust

В более старых версиях Ubuntu нужно редактировать файл rtC:

sudo nano /etc/default/rcS

В нём нужно добавить (для отображения локального времени) или удалить эту строчку (для отображения времени по UTC):

UTC=no

Настройки в Windows

В Windows почти все системные настройки редактируются в реесте, необходимый в данной ситуации TimeZoneInformation не исключение. Находится он в реесте по этому адресу:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Здесь нужно добавить или изменить параметр RealTimeIsUniversal. Его тип DWORD. Для того чтобы системное время считывалось по UTC нужно выставить значение 1, для распознавания его как локального нужно выставить значение 0 или вовсе удалить этот параметр.

Редактор реестра можно запустить командой regedit.