Ubuntu 18.04 не может установить аппаратные часы как местное время

У меня были двойная загрузка машины 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”, все еще никакая удача.

Кто-то знает, как решить эту проблему?

4
задан 2 August 2018 в 11:52

6 ответов

Это работало на меня:

timezonectl set-timezone <tz> && \
timedatectl set-local-rtc 0    && \
timedatectl set-local-rtc 1 --adjust-system-clock

у меня действительно нет объяснения (это было результатом приготовления пюре кнопки).

0
ответ дан 1 December 2019 в 09:20

Команда, предложенная работами @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. Таким образом, инструкции установить часы в местное время:

  1. Выполненный sudo timedatectl set-local-rtc 1 --adjust-system-clock.
  2. Компьютер перезапуска, перейдите к своим настройкам BIOS.
  3. Время набора к Вашему локальному часовому поясу, сохраните и перезагрузка.
3
ответ дан 1 December 2019 в 09:20

Вы пробовали это как корень также? Я смог сделать то, что Вы хотите как пользователь root. Попытайтесь использовать команду:

sudo timedatectl set-local-rtc 1 --adjust-system-clock
1
ответ дан 1 December 2019 в 09:20

IMO правильное решение нужно было установить RTC на UTC. Затем поведение значения по умолчанию Ubuntu показывает корректное местное время или на основе локали / установка региона или на основе местоположения, распознающегося при наличии. То, как Ubuntu рассматривает RTC, может быть проверено с выводом sudo hwclock --debug; это скажет Вам, что Ubuntu ожидает, что RTC будет установлен на UTC. Поведение Windows может быть исправлено подходящим редактированием конкретного ключа реестра - информация об этом доступна в Интернете.

0
ответ дан 1 December 2019 в 09:20

Альтернатива методу, предложенному @PrahladYeri, - то, что вместо изменения скота время RTC от BIOS, начальной загрузки в Windows и позволило Windows автоматически overite RTC.

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Теперь начальная загрузка в Windows и в "Изменении Дата и время", отключают и с другой стороны включают "Время набора автоматически". Это должно перезаписать местное время на RTC.

2
ответ дан 1 December 2019 в 09:20

Для 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, и применяет смещение. Это приводит к тому, что одна из ваших операционных систем показывает неправильное время в ситуации двойной загрузки.

Ссылки:

0
ответ дан 19 February 2020 в 02:08

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

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