У меня были двойная загрузка машины Ubuntu 18.04.1 с Windows 10 и эти два, ОС имеет конфликт времени. Предыдущий на моей машине с человечностью 16.04 этот конфликт может быть легко решен с timedatectl set-local-rtc 1 — adjust-system-clock
, но эта команда больше не работает над моей системой Ubuntu 18.04.
Вот терминальный вывод:
yunhui@hp:~$ timedatectl set-local-rtc 1 --adjust-system-clock
yunhui@hp:~$ timedatectl
Local time: Thu 2018-08-02 16:31:58 CST
Universal time: Thu 2018-08-02 08:31:58 UTC
RTC time: Thu 2018-08-02 08:31:58
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode can not be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
yunhui@hp:~$ grep -i utc /etc/default/rcS
grep: /etc/default/rcS: No such file or directory
В основном Ubuntu знает, что у меня есть изменение для интерпретации аппаратных часов как местного времени, но временем RTC является все еще Всемирное время. Также “rcS” файл не существует, но я попробовал, вручную создают файл и пишут “UTC=no”, все еще никакая удача.
Кто-то знает, как решить эту проблему?
Это работало на меня:
timezonectl set-timezone <tz> && \
timedatectl set-local-rtc 0 && \
timedatectl set-local-rtc 1 --adjust-system-clock
у меня действительно нет объяснения (это было результатом приготовления пюре кнопки).
Команда, предложенная работами @Jens, но корректировкой часов назад к локальному RTC, не довольно легка, необходимо пройти через несколько обручей!
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Выполнение вышеупомянутой команды действительно устанавливало local-rtc
отметьте к 1, но это также изменило время, которое появляется на моем рабочем столе от IST (стандартное время Индии) к UTC. Другими словами, вышеупомянутая команда не "скорректировала" или внесла изменения в часы аппаратных средств или BIOS, все, что это сделало был отображен, чем время BIOS было (который был все еще UTC), и считайте это местным временем и покажите его на рабочем столе. Но я не хотел это, так как я не живу в часовом поясе UTC, таким образом, я перешел к менеджеру по Настройкам XFCE и изменил его на +5.5 часов, так, чтобы мои часы теперь отразили IST. Но увы, менеджер по Настройкам XFCE, кажется, не находится в синхронизации с timedatectl
. Это действительно изменило мое настольное время на IST, но пододвинуло часы BIOS обратно на 5,5 часов, таким образом, это снова перешло к UTC после перезагрузки. Наконец, единственный способ решить этот вопрос состоял в том, чтобы войти в BIOS и изменение те часы к IST. Таким образом, инструкции установить часы в местное время:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
.Вы пробовали это как корень также? Я смог сделать то, что Вы хотите как пользователь root. Попытайтесь использовать команду:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
IMO правильное решение нужно было установить RTC на UTC. Затем поведение значения по умолчанию Ubuntu показывает корректное местное время или на основе локали / установка региона или на основе местоположения, распознающегося при наличии. То, как Ubuntu рассматривает RTC, может быть проверено с выводом sudo hwclock --debug
; это скажет Вам, что Ubuntu ожидает, что RTC будет установлен на UTC. Поведение Windows может быть исправлено подходящим редактированием конкретного ключа реестра - информация об этом доступна в Интернете.
Альтернатива методу, предложенному @PrahladYeri, - то, что вместо изменения скота время RTC от BIOS, начальной загрузки в Windows и позволило Windows автоматически overite RTC.
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Теперь начальная загрузка в Windows и в "Изменении Дата и время", отключают и с другой стороны включают "Время набора автоматически". Это должно перезаписать местное время на RTC.
Для RTC лучше использовать UTC, поэтому вам следует использовать эту команду
timedatectl set-local-rtc 0
Можете ли вы показать нам текущие настройки, выполнив команду timedatectl
без каких-либо параметров? Пример того, на что следует обратить внимание:
$ timedatectl
Local time: Wed 2020-02-19 09:46:42 +08
Universal time: Wed 2020-02-19 01:46:42 UTC
RTC time: Wed 2020-02-19 01:46:43
Time zone: Asia/Singapore (+08, +0800)
System clock synchronized: no
RTC in local TZ: no
Если системные часы синхронизированы, это может помешать вам настроить RTC. Поэтому вам нужно отключить его:
sudo timedatectl set-ntp false
Теперь вы можете сбросить время RTC:
sudo timedatectl set-time "2014-11-08 06:40:00"
Обратите внимание, что Windows использует RTC не так, как Linux. По умолчанию Windows предполагает, что RTC хранится в местном времени, в то время как Linux предполагает, что время хранится в формате UTC, и применяет смещение. Это приводит к тому, что одна из ваших операционных систем показывает неправильное время в ситуации двойной загрузки.
Ссылки: