Сбивается время в Ubuntu и Windows, почему так происходит? Связано с разными форматами хранения и восстановления времени.
На данный момент используется два формата времени:
- UTC - аппаратные, и программные часы идут по Гринвичу. То есть часы дают универсальное время на нулевом часовом поясе. А пользователь добавляет свой часовой пояс, например GMT+2.
- localtime - программные часы идут по Гринвичу, а аппаратные часы идут по времени локального часового пояса. При загрузке и синхронизации времени ОС вычитает из аппаратного времени 2 часа (или другую поправку на часовой пояс), чтобы программное время было верным.
Для того, что бы время не сбивалось при переходе с виндовс на линукс, или наоборот. Надо заставить обе системы работать по одному формату.
НАСТРОЙКА WINDOWS ДЛЯ РАБОТЫ ПО UTC.
На примере Windows 10. Для этого достаточно добавить один ключ реестра с помощью команды в консоли. Открываем командную строку от имени администратора. Вводим команды:
Для 32 битных систем:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
Для 64 битных систем:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
И отключить службу времени Windows:
sc config w32time start= disabled
Вернуть обратно:
Возвращаем ключ реестра в исходное значение:
Для 32 битных систем:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
Для 64 битных систем:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 0
И запускаем обратно службу синхронизации времени:
sc config w32time start= demand
НАСТРОЙКА LINUX ДЛЯ РАБОТЫ LOCALTIME НА ПРИМЕРЕ UBUNTU.
По умолчанию Ubuntu использует формат хранения времени UTC, для перевода в localtime, нужно выполнить команду:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Для того, что бы вернуть обратно в формат UTC:
sudo timedatectl set-local-rtc 0
Вот такими простыми способами можно решить проблему сбившегося времени в дистрибутивах Windows 10 и Linux Ubuntu.