Гид по технологиям

Как привести часы Windows и Linux к совпадащему времени на dual‑boot

• 5 min read • Системное администрирование • Обновлено 23 Nov 2025
Синхронизация часов Windows и Linux на dual‑boot
Синхронизация часов Windows и Linux на dual‑boot

Дисплеи с часами Windows и Linux на экране ноутбука

Быстрые ссылки

  • Вопрос
  • Ответ
  • Шаги для исправления
  • Альтернативы и отладка

Вопрос

При использовании компьютера в dual‑boot время в одной ОС после перезагрузки отличается от другого. В BIOS аппаратные часы (RTC) показывают время, которое соответствует одной из ОС. Как правильно настроить часы, чтобы и Windows, и Linux показывали одинаковое время?

Короткий ответ

Лучший метод — хранить аппаратные часы в UTC и настроить обе ОС соответственно:

  1. В Linux задать аппаратные часы в UTC (hwclock). Синхронизировать время через NTP.
  2. В Windows включить реестр RealTimeIsUniversal, чтобы Windows тоже воспринимала RTC как UTC.

Это минимальный, надёжный и совместимый подход. Если по каким‑то причинам Windows не поддерживает RealTimeIsUniversal на вашей системе (старые версии Windows, некоторые OEM‑настройки), можно сделать обратное: настроить Linux на использование локального времени, но это менее предпочтительно.

Пошаговая инструкция для стандартного решения

Выполните эти команды от имени root в Linux:

sudo ntpdate pool.ntp.org
sudo hwclock --systohc --utc

Пояснение:

  • ntpdate синхронизирует системное время с публичным NTP‑сервером.
  • hwclock –systohc –utc записывает текущее системное время в аппаратные часы в формате UTC.

Затем загрузитесь в Windows и создайте .reg файл с таким содержимым (создаётся в Блокноте, сохраняется как myfix.reg и запускается двойным щелчком):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

После перезагрузки обе ОС будут читать аппаратные часы как UTC и показывать правильное локальное время с учётом настроенной часовой зоны.

Важно: Для некоторых старых версий Windows или на отдельных ноутбуках изменение реестра может не сработать или привести к конфликтам с программным обеспечением производителя. Всегда сохраняйте точные резервные копии реестра перед правками.

Альтернативные подходы и когда их применять

  • Настроить Windows на работу с локальным временем (стандартное поведение) и заставить Linux использовать локальное время:
    • Команда в Linux: timedatectl set-local-rtc 1 или правка конфигурации системы. Это быстрее, но менее рекомендуемо, потому что локальное хранение RTC создаёт проблемы при смене часовых поясов и DST.
  • Использовать сетевую синхронизацию в обеих системах (NTP/chrony/timesyncd) и игнорировать RTC. Это работает для серверов и машин, постоянно подключённых к сети, но при отсутствии сети часы могут расходиться.
  • Установить сторонние утилиты в Windows, которые принудительно переводят RTC в UTC после загрузки. Это костыль и менее безопасно.

Мини‑методология: как проверить и подтвердить результат

  1. Проверьте системное время в Linux: date.
  2. Синхронизируйте через NTP: sudo ntpdate pool.ntp.org.
  3. Запишите в RTC: sudo hwclock --systohc --utc.
  4. Перезагрузитесь в Windows.
  5. Убедитесь, что время в Windows совпадает с Linux. Если нет, повторите проверку настроек часового пояса в обеих ОС.

Что может пойти не так и как это исправить

  • Некоторые BIOS/UEFI ожидают локальное время и неправильно работают с UTC. В таком случае либо переключите Linux на локальное время, либо обновите BIOS/UEFI, если доступно.
  • На ноутбуках с «фирменными» часовыми утилитами Windows изменение реестра может быть отменено обновлениями производителя. В этом случае создайте задачу, которая применяет ключ реестра при входе в систему, или используйте альтернативный подход.
  • Если после правки реестра Windows показывает неверное время, проверьте, не установлены ли сторонние приложения для синхронизации времени, и отключите их.

Отладочная чек‑листа

  • Проверить, что часовой пояс в обеих ОС установлен верно.
  • В Linux: timedatectl — убедиться, что RTC в UTC.
  • В Windows: проверить наличие ключа реестра RealTimeIsUniversal и его значение = 1.
  • В BIOS: проверить, какое время показывает аппаратный RTC.
  • Если используется виртуализация (VMware, VirtualBox), убедиться, что гипервизор не перезаписывает часы гостевой ОС.

Роль‑ориентированные шаги

  • Для обычного пользователя:

    • Выполнить команды в Linux (можно с sudo).
    • Создать и запустить файл .reg в Windows.
    • Перезагрузить и проверить время.
  • Для системного администратора:

    • Автоматизировать применение настроек через конфигурационные инструменты (Ansible, Puppet).
    • Настроить SSO и политики, контролирующие синхронизацию времени.
    • Включить мониторинг SLI: задержание синхронизации, отклонение RTC.

Когда лучше не менять ничего

  • Если компьютер должен работать с локальными часами для совместимости с устаревшим ПО, и смена поведения приведёт к проблемам, не применяйте общий совет. В таком случае настройте Linux на локальное время и документируйте это решение.

Быстрая методика отмены изменений

  • В Windows удалить ключ RealTimeIsUniversal или установить его в 0.
  • В Linux: sudo hwclock --systohc --localtime или timedatectl set-local-rtc 1.

Термины в одну строку

  • RTC — аппаратные (аппаратные) часы на материнской плате.
  • UTC — всемирное координированное время.
  • NTP — протокол синхронизации времени по сети.

Диаграмма принятия решения

flowchart TD
  A[Начало] --> B{BIOS ожидает UTC?}
  B -- Да --> C[Настроить Linux на UTC и включить RealTimeIsUniversal в Windows]
  B -- Нет --> D[Настроить Linux на локальное время или обновить BIOS]
  C --> E[Перезагрузить и проверить время]
  D --> E
  E --> F{Время совпадает?}
  F -- Да --> G[Готово]
  F -- Нет --> H[Проверить NTP и сторонние утилиты]

Краткое резюме

  • Проблема возникает из‑за разного представления аппаратного времени (UTC vs локальное).
  • Лучшее универсальное решение — хранить RTC в UTC и включить поддержку UTC в Windows через реестр.
  • Если это невозможно, настройте Linux на локальное время, но будьте внимательны при смене часовых поясов.

Важно: Перед любыми изменениями создавайте резервные копии важных конфигураций и реестра Windows.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро