Сообщение «system time synchronized with the hardware clock» в журнале systemd — это не ошибка, а информационная запись о том, что служба синхронизации времени (обычно systemd-timesyncd или chrony) сверила системные часы с аппаратными часами RTC. Однако если такая запись появляется слишком часто, сопровождается сбоями времени или скачками даты, стоит разобраться в причинах.

В этой статье разберём, что означает это сообщение, как устроена синхронизация времени в Linux, в каких случаях запись сигнализирует о проблеме и как проверить корректность работы часов на вашем компьютере или сервере.

Что означает это сообщение в журнале

Запись генерируется подсистемой синхронизации времени и означает, что системное время (software clock, которое отсчитывает ядро Linux) было приведено в соответствие с аппаратными часами RTC (Real-Time Clock) — микросхемой на материнской плате, работающей от батарейки даже при выключенном питании.

Такая синхронизация происходит в штатных ситуациях:

  • 🕐 при загрузке системы — ядро считывает время из RTC;
  • 🔄 при корректном завершении работы — системное время записывается обратно в RTC;
  • 🌐 после успешной синхронизации по NTP-протоколу с сервером времени;
  • ⚙️ при ручном изменении времени командой timedatectl или hwclock.

То есть само по себе сообщение — признак нормальной работы службы времени. Беспокойство должны вызывать лишь его частота и сопутствующие симптомы.

Как устроена синхронизация времени в Linux

В системе существуют два независимых источника времени. RTC — это аппаратные часы с собственным кварцевым генератором и элементом питания (обычно батарейка CR2032). Они тикают постоянно, но точность их невысока: уход может составлять секунды в сутки. Системные часы ядра стартуют от показаний RTC при загрузке, а дальше поддерживаются прерываниями таймера и корректируются по сети.

Служба systemd-timesyncd периодически опрашивает NTP-серверы и плавно подстраивает системное время. После успешной коррекции она может записать обновлённое значение в аппаратные часы — именно тогда в журнале и появляется разбираемое сообщение.

💡

Сообщение «system time synchronized with the hardware clock» — штатная запись о сверке системного времени с RTC. Проблемой оно становится только при частом повторении или скачках времени.

Типичные причины частого появления записи

Если сообщение повторяется в журнале подозрительно часто или время на машине «прыгает», возможные причины следующие:

  • 🔋 Севшая батарейка RTC — часы сбрасываются при каждом выключении, и системе приходится заново синхронизировать время;
  • 🌍 Нестабильный NTP-сервер или сеть — служба получает противоречивые данные и многократно корректирует часы;
  • 💻 Dual boot с Windows — Windows трактует RTC как локальное время, а Linux по умолчанию как UTC, из-за чего часы «перескакивают» после каждой смены ОС;
  • 🖥️ Виртуальная машина — гипервизор периодически подсовывает гостю время хоста;
  • Ручные изменения времени скриптами или администратором.
⚠️ Внимание: резкие скачки системного времени могут нарушить работу баз данных, планировщика cron, TLS-сертификатов и распределённых систем. Прежде чем менять настройки синхронизации на сервере, оцените, какие службы зависят от монотонного хода часов.

Диагностика: как проверить состояние часов

Начните с базовой проверки статуса синхронизации. Выполните в терминале:

timedatectl status

Обратите внимание на строки System clock synchronized (должно быть yes), NTP service (активна ли служба) и RTC in local TZ (критично при dual boot). Для просмотра самих записей в журнале используйте:

journalctl -u systemd-timesyncd --since today

Дополнительно проверьте расхождение системного времени и RTC командой sudo hwclock --show и сравните с выводом date. Небольшая разница в пределах секунд — норма, существенное расхождение — повод искать причину.

☑️ Проверка синхронизации времени

Выполнено: 0 / 5
📊 Как часто вы видите сообщение о синхронизации с hardware clock?
Только при загрузке — всё в порядке
Несколько раз в день
Постоянно, время скачет
Вижу впервые, просто изучаю журнал

Конфликт Windows и Linux при двойной загрузке

Самая распространённая причина «гуляющего» времени на домашних машинах — dual boot. Windows по традиции хранит в RTC локальное время, а Linux ожидает там UTC и добавляет смещение часового пояса программно. В результате после каждой перезагрузки в другую ОС часы смещаются на величину вашего пояса, и служба синхронизации фиксирует это в журнале.

Решение — привести обе системы к единому соглашению. Проще всего на стороне Linux разрешить локальное время в RTC:

timedatectl set-local-rtc 1

Либо, что считается более правильным, настроить Windows на работу с UTC через параметр реестра RealTimeIsUniversal. Конкретный способ зависит от версии Windows — сверьтесь с официальной документацией Microsoft перед изменением реестра.

💡

После команды timedatectl set-local-rtc 1 перезагрузитесь в обе системы и убедитесь, что время в них совпадает. Если смещение осталось — проверьте часовой пояс в каждой ОС.

Когда виновата батарейка RTC

Если время сбрасывается на дату много лет назад после каждого отключения питания, а в журнале после загрузки видны резкие коррекции — почти наверняка разрядился элемент питания RTC. На настольных ПК это обычно батарейка CR2032 на материнской плате, на ноутбуках — отдельный аккумулятор CMOS, иногда несъёмный.

Замена на десктопе несложна: обесточьте компьютер, извлеките старый элемент из гнезда и установите новый с соблюдением полярности. После этого выставите время в BIOS/UEFI и загрузите систему. На ноутбуках доступ к батарейке CMOS зависит от модели — иногда требуется частичная разборка, поэтому сверьтесь с сервисной документацией производителя.

⚠️ Внимание: перед заменой батарейки полностью отключите питание и извлеките аккумулятор ноутбука, если он съёмный. Работа на включённом устройстве может повредить материнскую плату.

Сравнение источников проблем со временем

ПричинаСимптомСпособ проверки
Севшая батарейка RTCСброс даты при отключении питанияВыключить ПК на ночь, проверить время в BIOS
Dual boot Windows/LinuxСмещение на величину часового поясаtimedatectl — строка RTC in local TZ
Проблемы с NTPЧастые коррекции, статус synchronized: nojournalctl -u systemd-timesyncd
ВиртуализацияВремя повторяет часы хостаНастройки синхронизации гипервизора
Ручные измененияРазовые скачки в журналеАудит команд date/hwclock в истории
Почему нельзя просто отключить синхронизацию

Отключение NTP оставит систему на милость неточных аппаратных часов RTC, уход которых накапливается со временем. Для серверов это критично: расхождение времени ломает проверку сертификатов, логирование и работу кластеров. Правильный путь — устранить причину сбоев, а не отключать службу.

Как настроить корректную синхронизацию

Убедитесь, что NTP-синхронизация включена и работает с надёжными серверами. Активировать службу можно командой:

timedatectl set-ntp true

Список используемых серверов задаётся в конфигурации systemd-timesyncd (файл /etc/systemd/timesyncd.conf) или в настройках chrony, если используется она. Пути и формат конфигурации могут отличаться в зависимости от дистрибутива — проверьте документацию вашей системы. После правок перезапустите службу и снова проверьте статус через timedatectl.

Ключевой признак здоровой конфигурации: сообщение о синхронизации с hardware clock появляется в журнале редко — при загрузке и после плановых коррекций, а время между перезагрузками не скачет.

⚠️ Внимание: не запускайте одновременно две службы синхронизации (например, systemd-timesyncd и chrony) — они будут конфликтовать, и в журнале появятся постоянные коррекции времени. Оставьте активной только одну.
💡

Устраняйте причину сбоев (батарейка, dual boot, конфликт служб), а не само сообщение — оно лишь симптом работы механизма синхронизации.

Часто задаваемые вопросы

Это сообщение — ошибка?

Нет, это информационная запись. Ошибкой она становится только в контексте: если время реально скачет или сбрасывается, сообщение помогает отследить момент коррекции.

Почему время смещается ровно на 3 часа (или на величину моего пояса)?

Классический признак конфликта трактовки RTC между Windows и Linux при двойной загрузке. Одна система считает RTC локальным временем, другая — UTC.

Можно ли запретить запись системного времени в RTC?

Да, поведение настраивается в зависимости от дистрибутива и службы синхронизации, но делать это без необходимости не стоит: после жёсткой перезагрузки система стартует с устаревшим временем RTC.

Как понять, что пора менять батарейку на материнской плате?

Отключите компьютер от сети на несколько часов, затем включите и зайдите в BIOS/UEFI. Если дата и время сбросились — элемент питания RTC разряжен и требует замены.

Влияет ли это сообщение на производительность системы?

Нет, запись в журнал и сама операция сверки часов практически не потребляют ресурсов. Влияние оказывают лишь последствия неверного времени для других служб.