Вопрос или проблема
При использовании двойной загрузки Windows + Linux Ubuntu существует известная проблема: одна система использует время, сохраненное в RTC, как местное, а другая использует UTC. См. связанные (не дублирующие) вопросы, такие как Ubuntu 18.04 не может установить аппаратные часы как местное время.
После последовательности загрузка Windows
, загрузка Linux
, загрузка Windows
в RTC сохраняется смещение на -1 час.
Существуют решения, такие как:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Но более общим вопросом является, как попросить Ubuntu совершенно не изменять значение, хранящееся в чипе реальных часов (RTC)?
(т.е. Ubuntu не должна изменять какое-либо значение в RTC, никогда, даже если происходит изменение времени по летнему времени и т.д. это будет сделано вне Ubuntu)
Примечание: даже если sudo timedatectl set-local-rtc 1 --adjust-system-clock
работает, мой вопрос более общим: я хотел бы понять, почему в первую очередь Ubuntu изменяет RTC, если мы не просим ее это делать. После цикла загрузка Win
, загрузка Ubuntu
, загрузка Win
мы видим смещение на 1 час. Почему это происходит в первую очередь?
Ответ или решение
Настройка Ubuntu для полного отключения изменений RTC
Когда вы используете двойную загрузку Windows и Linux Ubuntu, может возникнуть известная проблема: одна операционная система использует время, хранящееся в RTC (часы реального времени), как местное время, а другая — в формате UTC. Это становится особенно заметным, когда вы несколько раз загружаете Windows и Linux, поскольку появляется сдвиг времени. В данном ответе мы предложим решение, как настроить Ubuntu так, чтобы она абсолютно не изменяла значение, хранящееся в чипе RTC, даже при изменениях, связанных с переходом на зимнее/летнее время.
Понимание проблемы
Ubuntu по умолчанию предполагает, что система работает с временем UTC, тогда как Windows обычно использует локальное время. Когда вы загружаете Windows, она обновляет RTC, и это может привести к несоответствиям, если Ubuntu также попытается обновить его, что, в свою очередь, создаст дополнительные проблемы при переключении между системами.
Причины изменений RTC в Ubuntu
-
Настройки по умолчанию: Ubuntu настроена использовать UTC для системного времени и подразумевает, что RTC должен отображать время в UTC. Поэтому, если вы загружаете Windows, она может обновить RTC в соответствии с местным временем, а затем при следующем запуске Ubuntu система опять пытается синхронизировать RTC с UTC.
-
Переход на зимнее/летнее время: Это ещё одна причина, по которой Ubuntu может изменять значение RTC. Она попытается корректировать время в RTC в зависимости от установки, касающихся временных зон.
Как настроить Ubuntu для отсутствия изменений в RTC
Для того чтобы Ubuntu не вносила никаких изменений в RTC, выполните следующие шаги:
-
Отключить автоматическую синхронизацию RTC:
В первую очередь, необходимо изменить настройкиsystemd-timesyncd
. Выполните команду:sudo nano /etc/systemd/timesyncd.conf
В этом файле убедитесь, что параметр
NTP
закомментирован (начинается с#
) или отсутствует. Это предотвратит синхронизацию времени, что также может приводить к изменению RTC. -
Использование параметров загрузки ядра:
Необходимо добавить параметр ядра, который указывает Ubuntu не изменять RTC. Откройте файл загрузки GRUB:sudo nano /etc/default/grub
Найдите строку, которая начинается с
GRUB_CMDLINE_LINUX_DEFAULT
и добавьте следующие параметры:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash clocksource=tsc nortc"
После изменения файла не забудьте обновить конфигурацию GRUB:
sudo update-grub
-
Изменение пользовательской конфигурации
timedatectl
:
Убедитесь, что Ubuntu располагает настройкой времени как локального:timedatectl set-local-rtc 0 --adjust-system-clock
Это также предотвратит автоматические изменения RTC при запуске.
-
Используйте команду
hwclock
:
Убедитесь, что RTC остается неизменным при каждом запуске:sudo hwclock --systohc --noadjfile
Это гарантирует, что изменения времени в системе не вносят корректировки в RTC.
Заключение
С настройками, описанными выше, вы сможете настроить Ubuntu таким образом, чтобы она не изменяла время, хранящееся в RTC. Устранение этой проблемы позволяет избежать неразберихи, связанной с переходами между Windows и Ubuntu, и обеспечивает стабилизацию работы обеих систем. Помните, что дальнейшие изменения в настройках вашего устройства или изменения в конфигурации ПО могут потребовать дополнительной настройки описанных параметров.
Если у вас будут дополнительные вопросы или потребуется больше информации, не стесняйтесь обратиться за квалифицированной помощью.