Если на вашей машине установлены Ubuntu и Windows, вы замечаете, что время “скачет” после перезагрузки из одной системы в другую. Сегодня мы расскажем, как исправить это.
Такой конфликт во времени между Windows и Ubuntu происходит из-за того, что по умолчанию Ubuntu хранит время в аппаратных часах в виде универсального скоординированного времени (UTC), а Microsoft Windows хранит время в локальном часовом поясе. Таким образом, при переключении между Ubuntu и Windows время показывается по-разному.
Исправить эту проблему достаточно просто, как из Ubuntu, так и из Windows.
Как исправить разницу во времени между Ubuntu и Windows
A. Изменить разницу между UTC и локальным временем между Ubuntu и Windows из Ubuntu, чтобы Ubuntu использовала локальное время.
Перед тем, как приступать к реализации этого метода обратите внимание, что Ubuntu рекомендует хранить время в UTC, так как в этом случае не возникает проблем с переходом на летнее время и обратно. Метод B (исправление в Windows), приведенный ниже, не имеет таких недостатков.
Для Ubuntu 16.04 и новее, выполните следующие команды:
timedatectl set-local-rtc 1
Проверить, использует ли Ubuntu локальное время вместо UTC, можно с помощью команды
timedatectl
Если вы используете Ubuntu предыдуших версий, до 16.04: нужно отредактировать файл /etc/default/rcS и заменить “UTC=yes” на “UTC=no” (без кавычек). Для того, чтобы сделать это автоматически, просто вставьте следующую команду в терминал:
sudo sed -i 's/UTC=yes/UTC=no/' /etc/default/rcS
После этого необходимо перезагрузить систему.
B. Исправляем из Windows (метод должен работать в Vista SP2, Windows 7, Server 2008 R2 и Windows 8/8.1), чтобы система использовала универсальное время вместо локального: загрузите этот файл реестра Windows и установите его двойным щелчком по имени файла.
Затем необходимо отключить службу времени Windows (которая продолжает записывать локальное время при выключении, независимо от параметров реестра), запустите командную строку от имени администратора и выполните следующую команду:
sc config w32time start= disabled
После этого необходимо перезагрузить систему.
Как вернуть изменения
A. Из Ubuntu: вернуть изменения из Ubuntu достаточно просто.
Ubuntu 16.04 и новее: для того, чтобы вернуть изменения, просто запустите следующую команду:
timedatectl set-local-rtc 0
Ubuntu версий до 16.04: всё, что нужно сделать, это заменить “UTC=no” на “UTC=yes” в файле /etc/default/rcS. Для того, чтобы сделать это автоматически, вставьте в терминал следующую команду:
sudo sed -i 's/UTC=no/UTC=yes/' /etc/default/rcS
После этого перезагрузите компьютер.
B. Из Windows: вернуть изменения в Windows чуть более сложно.
Для начала, откройте загруженный ранее файл .reg в текстовом редакторе и измените значение ключа “RealTimeIsUniversal” с “dword:00000001” на “-” (без кавычек). Вот как будет выглядеть файл после изменений:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-
Сохраните файл и дважды кликните по нему.
Затем выполните следующую команду из командной строки (запущенной от имени администратора), чтобы разрешить запуск службы времени Windows:
sc config w32time start= demand
После этого перезагрузите компьютер.