Препятствуйте тому, чтобы Ubuntu изменила аппаратные часы

Я всегда говорю людям, что 'ничто не может пойти не так, как надо' и что 'их компьютер не будет даже помнить', если я загружу их системы от своего установленного на Ubuntu pendrive, но я недавно узнал, что это не верно. Начальная загрузка от pendrive имеет возможность изменения аппаратных часов компьютера, на котором это используется.

Как объяснено, например, в этих страницах справки, Linux и Windows интерпретируют аппаратные часы как UTC и местное время, соответственно. Это означает, что в системе двойной загрузки, каждый хочет заставить Linux считать системные часы как местное время также, предотвратить несоответствие в Windows. Проблема состоит в том, что я хочу использовать свой pendrive и в компьютерах с Linux как их основная ОС и в компьютерах с Windows как их основная ОС, таким образом, безотносительно решения я делаю для своего pendrive (местное время по сравнению с UTC), это не собирается устанавливать все компьютеры.

Существует ли способ просто препятствовать тому, чтобы Ubuntu изменила системные часы, так по крайней мере, я не порчу установки других людей? Если это означает, что pendrive система иногда не отображает корректное время, то пусть будет так.

ОТМЕТЬТЕ К НЕТЕРПЕЛИВОМУ FLAGGERS: Я знаю, что этот вопрос задали тысячу раз на этом сайте двойные футболисты (см. эти два Вопросов и ответов ниже), но для того, насколько я мог найти, предлагаемое решение состояло в том, чтобы всегда корректировать настройки Linux, чтобы интерпретировать аппаратные часы как местное время (или заставить Windows интерпретировать его как UTC). Это не опция для меня, так как я хочу портативную систему, которая не изменяет часов.

4
задан 6 August 2018 в 13:13

2 ответа

systemd-timesyncd.service

ответственно за обновление времени в базирующихся системах systemd. Это - встроенный клиент NTP для systemd. Это остановит и отключит его:

$ sudo -i 
# systemctl stop systemd-timesyncd
# systemctl disable systemd-timesyncd

(systemd использует timedatectl, и это может использоваться отдельно также).

Отметьте, независимо от Вашего вопроса это, когда системные часы будут установлены на Местное время, systemd-timesyncd не обновит аппаратные часы. Таким образом, САМЫЙ ЛЕГКИЙ подход должен был бы использовать местное время.

  • В более старых версиях был бы a UTC=yes в /etc/default/rcS. Набор, что к не, если Вы хотите отключить обновление аппаратных часов
  • timedatectl --adjust-system-clock set-local-rtc true делает то же и предупредит Вас о повреждении изменений часового пояса и корректировок летнего времени.
0
ответ дан 1 December 2019 в 11:19

Я думаю, что это - хорошая цель настроить Вашу Карту памяти установка Linux, чтобы быть скромным гостем. Я думал, что это могла бы быть простая модификация ядра, чтобы погасить функцию, которая делает это, но похоже, что ядро просто обеспечивает функции для записи в CMOS и hwclock программа, ответственная за обновление времени. Таким образом, я думаю, что необходимо получить исходный код для hwclock и погасите cmos_set_time функция. Восстановите его и замените свою версию Карты памяти/sbin/hwclock с Вашей недавно созданной версией.

0
ответ дан 1 December 2019 в 11:19

Другие вопросы по тегам:

Похожие вопросы: