[ Пред. ] [ Содержание ] [ След. ]

Синхронизация времени между Linux и Windows

[ @console @time @windows ]

 


См. также Автообновление времени и даты


Когда на ноуте установлены две операционные системы, можно заметить, что в Windows и Linux время отображается по-разному. Windows полагает, что время в BIOS — local time, а Linux воспринимает время в UTC time.


Второе правильнее — есть общее, стандартное время, а в настройках каждого пользовательского аккаунта можно настраивать по-отдельности под себя.


И всегда есть жители обесерватории в Гринвиче, которые эту разницу никогда не увидят.


1)


Можно просто отключить автообновление времени в Windows.


Параметры
> Время и язык
> Дата и время


Установить время автоматически = Откл.


2)


А можно в угоду Windows поменять настройки Linux — указать системе, что в BIOS хранится local time.


Утилита hwclock может не распознаваться, словно её не установили.


Скорее всего, она есть:


sudo /sbin/hwclock --version


Её можно запустить указанием её прямого местонахождения:


/sbin/hwclock --localtime --systohc --test


В ответе в предпоследней строчке должно быть только слово «LOCAL».


Убрать параметр --test и изменения применятся автоматически:


hwclock --localtime --systohc


После этого время в обеих операционных системах будет отображаться одинаково.


3)


Уже есть компьютеры (или виртуальные системы, или небольшие «Raspberry Pi», или модерновые тонкие ноутбуки), где RTC нет. Там нужна утилита fake-hwclock, которая сохраняет системное время в файл (обычно при выключении или перезагрузке) и восстанавливает его при загрузке. То есть, временное решение для систем без аппаратных часов, где важно сохранить время между перезагрузками.


hwclock работает с аппаратными часами (real-time clock, RTC, для них в материнской плате установлена плоская батарейка), которые обычно установлены в больших компьютерах.


hwclock --systohc — записывает системное время в аппаратные часы.
hwclock --hctosys — считывает время из аппаратных часов и устанавливает его как системное.