3

У меня действительно большая проблема со временем на windows 10. Каждый раз, когда я запускаю компьютер, я должен вручную установить правильное время. Я не знаю, в чем проблема. В настройках "Установить время автоматически" включено. Кроме того, я изменил тип запуска службы Windows Time на автоматический. Ничто не помогло мне. Возможно, это будет полезной информацией, у меня на компьютере две ОС: Windows 10, Ubuntu. Более того, время не обновляется, только если я использовал Ubuntu перед запуском Windows 10.

1 ответ1

3

Скорее всего, Linux пытается сохранить ваши аппаратные часы как UTC. Он пересчитывается в нужный часовой пояс каждый раз, когда это необходимо. Это делает аппаратные часы независимыми от часового пояса, конкретной ОС, летнего времени и т.д. Две ОС с разными настройками часового пояса могут мирно сосуществовать, если только они согласятся, что аппаратные часы имеют UTC.

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

Есть несколько способов справиться с этим. Выбери один:

  1. Пусть каждая ОС самостоятельно синхронизируется через NTP и устанавливает аппаратные часы назад и вперед. Пока не включится демон / служба NTP, системные часы могут быть выключены. Если демон / служба не выполняет свою работу, системные часы могут быть выключены. Ваши комментарии заставляют меня поверить, что ваша служба времени Windows вообще не запускается; это должно начаться автоматически. Я полагаю, что когда вы запускаете Ubuntu, время не работает, но Linux получает часы прямо через NTP, прежде чем вы это узнаете.

  2. Заставьте Windows поддерживать UTC как аппаратное время. Смотрите этот ответ на соответствующий вопрос. Обратите внимание, что для этого требуется остановить службу времени Windows.

  3. Заставьте Ubuntu использовать местное время как аппаратное время. Согласно этому ответу:

    Убедитесь, что /etc/adjtime настроен правильно. Третья строка должна содержать UTC (именно эти три символа), если аппаратные часы используют UTC, и что-то еще (например, пустое), если аппаратные часы используют местное время (в часовом поясе, определенном в /etc/timezone).

    Очевидно, настройки часового пояса в обеих ОС должны совпадать. Я полагаю, что с помощью этого метода вы можете продолжать синхронизацию через NTP на одной ОС или обеих.


редактировать

Третий способ требует наличия /etc/adjtime . Если в вашей Ubuntu его нет, то я думаю, что этот ответ дает правильную подсказку:

Если файл /etc/adjtime отсутствует, systemd предполагает, что аппаратные часы установлены в UTC.

Аппаратные часы могут быть запрошены и установлены с помощью команды timedatectl . Чтобы изменить стандарт аппаратного времени на местное, используйте:

sudo timedatectl set-local-rtc 1

Если вы хотите вернуться к аппаратным часам в UTC, выполните:

sudo timedatectl set-local-rtc 0

Они автоматически сгенерируют /etc/adjtime и соответственно обновят RTC; дальнейшая настройка не требуется.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .