Многие новые пользователи, которые только перешли на Linux с операционной системы Windows, и пока все еще запускают эту систему время от времени, сталкиваются с проблемой, что после загрузки Windows в Ubuntu сбивается время на несколько часов назад или вперед, затем после нескольких перезагрузок уже сложно понять какое сейчас время.
Все это происходит из-за различий формата хранения времени в этих операционных системах. И будет происходить при каждой перезагрузке, сколько бы вы ни устанавливали правильное время. Но эту проблему можно решить. И даже несколькими способами. В этой статье мы рассмотрим, как решить проблему сбивается время в Ubuntu и Windows.
Почему так происходит?
Как я уже сказал, проблема в разных форматах хранения и восстановления времени. В компьютере есть два вида часов. Аппаратные — идут всегда, даже когда компьютер выключен и программные часы, встроенные в ядро. Когда компьютер включается значение аппаратных часов записывается в программные, и в дальнейшем операционная система берет время оттуда. Но Windows и Linux работают по-разному с этими двумя часами. Есть два способа работы:
- UTC — и аппаратные, и программные часы идут по Гринвичу. То есть часы дают универсальное время на нулевом часовом поясе. Например, если у вас часовой пояс GMT+3, Киев, то часы будут отставать на три часа. А уже пользователи локально прибавляют к этому времени поправку на часовой пояс, например, плюс +3. Каждый пользователь добавляет нужную ему поправку. Так делается на серверах, чтобы каждый пользователь мог получить правильное для своего часового пояса время.
- localtime — в этом варианте аппаратные часы тоже идут по Гринвичу, но програмные часы идут по времени локального часового пояса. Для пользователя разницы никакой нет, все равно нужно добавлять поправку на свой часовой пояс. Но при загрузке и синхронизации времени Windows вычитает из аппаратного времени 3 часа (или другую поправку на часовой пояс), чтобы программное время было верным.
Так почему же сбивается время Ubuntu и Windows? Вот, допустим, работает Windows, и со временем там все нормально, оно сохранено в формате localtime. Но при перезагрузке в Linux, операционная система берет время Localtime, и думает что это UTC. Таким образом, пользователь будет брать уже правильное время, и прибавлять к нему поправку на часовой пояс. Поэтому время уже будет неверным.
Дальше вы исправили время, и теперь аппаратные часы работают в UTC. Но затем грузите WIndows. Система думает, что это localtime и для установки правильного программного времени добавляет к аппаратному поправку на часовой пояс, например, в нашем случае +3. Дальше каждый пользователь еще раз применяет эту поправку и время уже сбито, опять.
Единственно верный способ решить эту проблему — заставить обе системы работать по одному формату и сделать это совсем несложно. Причем можно пойти двумя путями: либо заставить Windows работать по UTC, либо Linux по формату localtime, что является не совсем правильным, но вполне возможно. Итак перейдем к решению проблемы сбивается время в Ubuntu.
Настройка Windows для работы по UTC
Итак, если у вас сбивается время Windows и Linux при переключении между операционными системами, лучшим способом будет заставить Windows работать по более правильному и логичному формату. Для этого достаточно добавить один ключ реестра. Вы можете сделать это с помощью одной команды в консоли. Чтобы открыть консоль в Windows 10 проведите мышь в левый нижний угол, затем нажмите правую кнопку. В контекстном меню выберите Командная строка (администратор):
Дальше наберите команду для 32 битных систем:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
А для 64-битных, нужно использовать тип значения REG_QWORD:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Почти готово, но служба времени Windows независимо от этой настройки будет писать время в местном формате при обновлении его через интернет, поэтому удобно эту службу отключить. Для этого выполните:
> sc config w32time start= disabled
Как вернуть обратно?
Если вы хотите вернуть все как было, то сделать это можно проще простого. Сначала возвращаем ключ реестра в правильное положение:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
И запускаем обратно службу синхронизации:
> sc config w32time start= demand
Готово, а дальше рассмотрим, как заставить Linux использовать формат времени localtime.
Настройка Linux для работы localtime
По умолчанию Linux использует формат хранения времени UTC, но если Ubuntu сбивает время Windows, вы можете очень просто заставить систему хранить в аппаратном таймере местное время. Во всех дистрибутивах, использующих Systemd, в том числе в Ubuntu для этого достаточно выполнить команду:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Чтобы посмотреть текущее состояние аппаратных и программных часов выполните:
sudo timedatectl
Готово, теперь вы можете перезапустить компьютер и запустить Windows, чтобы убедиться, что время не сбивается при перезагрузке. В более старых системах Ubuntu, вам нужно отредактировать файл /etc/default/rcS и заменить UTC=yes на UTC=no. Вы можете сделать это командой:
sudo sed -i 's/UTC=yes/UTC=no/' /etc/default/rcS
Как вернуть обратно?
Опять же, вернуть все как было можно с помощью одной команды:
sudo timedatectl set-local-rtc 0
А в старых дистрибутивах Ubuntu:
sudo sed -i 's/UTC=no/UTC=yes/' /etc/default/rcS
Выводы
Вот и все. Теперь, если вы столкнетесь с проблемой Windows 10 — сбивается время Ubuntu или любом другом Linux дистрибутиве, вы уже будете знать, как её решить с помощью двух полностью работающих способов. Если у вас остались вопросы, спрашивайте в комментариях!
Мы разобрались, как настроить правильное время в Ubuntu и Windows, чтобы временные зоны не сбивались, но что такое временные зоны и зачем они нужны, на завершение видео про это:
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Многие новички Linux оставляют у себя на компьютере второй запасной операционной системой Windows. Но при переходе то в одну, то во вторую систему наблюдается неприятный момент — время начинает «убегать» на несколько часов то вперед, то назад. Это происходит потому, что Linux и Window хранят время в разных форматах.
В компьютере используется два вида часов. Первые — аппаратные часы, которые идут всегда, даже тогда, когда компьютер выключен (питаются от батарейки на материнской плате компьютера). Вторые часы — программные. Вот именно этими часами пользуется операционная система. При включении компьютера первоначальное время берется из аппаратных часов и записывается в программные часы. И вся проблема как раз в том, что разные операционные системы по-разному работают с программными часами. Есть два варианта работы:
- UTC — аппаратные и программные часы идут по Гринвичу. И эти часы дают универсальное время с нулевым смещением (нулевой часовой пояс). А уже локально к этому времени прибавляется ваш часовой пояс (с плюсом или минусом). Чаще всего так время идет на серверах, с которыми потом синхронизируются рабочие станции пользователей и уже локально у всех пользователей происходит поправка на их часовой пояс.
- Localtime — в данном случае программные часы тоже идут по Гринвичу, а вот аппаратные часы идут по времени локального часового пояса. Пользователь особой разницы не заметит, т.к. все равно нужно добавлять или вычитать поправку на свой часовой пояс. И вот тут появляется проблема. Windows при загрузке и(или) синхронизации времени делает поправку на часовой пояс пользователя для того, чтобы программное время было верным. В Linux не так.
Именно поэтому, при каждой перезагрузке из одной системы в другую будет происходить смещение времени на величину поправки на часовой пояс. И единственный способ это устранить — это заставить обе системы (и Windows, и Linux) работать со временем в одном формате. Сделать это можно двумя путями:
- Заставить Windows работать по UTC, как Linux;
- Заставить Linux работать в формате localtime.
Переключение Windows на работу по UTC
Для решения проблемы сбивающегося времени достаточно добавить всего один ключ в реестр Windows. Это можно сделать с помощью ввода команды в консоли.
Чтобы открыть консоль от имени администратора в Windows 10 нужно поставить курсор мыши в левый нижний угол экрана и нажать правую кнопку мыши. В появившемся контекстном меню нужно выбрать «Командная строка (администратор)».
Для 32-х битной Windows вводим (это одна команда, вводится в одну строку):
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
Для 64-х битных нужно ввести (это одна команда, вводится в одну строку):
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Однако, это еще не все. Служба времени Windows все равно продолжит сохранять время в старом формате при его обновлении через Интернет. Поэтому, службу нужно отключить. Либо это сделать руками через «Панель управления» Windows, либо быстрее и проще в той же командной строке, запущенной от имени администратора, выполнить:
sc config w32time start=disabled
Как вернуть настройки времени в Windows обратно?
В командной строке, запущенной от имени администратора, выполняем (это одна команда, вводится в одну строку):
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
и запускаем службу синхронизации времени Windows:
sc config w32time start=demand
Перевод Linux на работу с Localtime
По умолчанию Linux хранит временя в формате UTC, но можно переключить систему так, чтобы она хранила в аппаратном таймере местное время. Рассмотрим на примере Ubuntu-Linux (работает даже в старых версиях, например в 16.04).
Чтобы посмотреть текущее состояние аппаратных и программных часов, нужно выполнить:
timedatectl
Начнем исправлять проблему сбивающихся часов. Для этого выполняем команду:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
Готово! Еще проще, чем в Winsdows!
Однако, в более старых Ubuntu придется отредактировать файл /etc/default/rcS, внутри которого заменить UTC=yes на UTC=no.
Как вернуть настройки времени в Linux обратно?
Вернуть все как было можно с помощью команды:
sudo timedatectl set-local-rtc 0
И в старых дистрибутивах Ubuntu поправить файл /etc/default/rcS, внутри которого заменить UTC=no на UTC=yes.
На этом проблема сбивающегося времени в Windows и Linux (любой дистрибутив, не обязательно Ubuntu) решена.
Как правильно задавать вопросы
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
ostrovok
- Сообщения: 72
- Зарегистрирован: 28 авг 2016, 01:49
- Решено: 1
- Благодарил (а): 26 раз
- Поблагодарили: 22 раза
- Контактная информация:
Отстают часы в win после работы в linux
04 окт 2016, 10:09
Привет.
После перезагрузки в линукс в windows постоянно отстает время на три часа от правильного.
Это происходит каждый раз.
Хотя часовой пояс стоит правильный, все равно уползает назад если загружал линукс
Как это исправить?
-
Dja
- Сообщения: 6823
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1270 раз
- Поблагодарили: 712 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#2
04 окт 2016, 10:13
я б выставил другой пояс, который не влиял бы на уход времени в сторону )
-
ostrovok
- Сообщения: 72
- Зарегистрирован: 28 авг 2016, 01:49
- Решено: 1
- Благодарил (а): 26 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Отстают часы в win после работы в linux
#3
04 окт 2016, 10:15
Dja, костыль какойто выйдет.
Может есть причина этой беды и можно её починить?
-
symon2014
Re: Отстают часы в win после работы в linux
#4
04 окт 2016, 10:24
ostrovok, Такая же фигня, в биос стоит правильное время, а при загрузке хоть винды , хоть никса , часы сначала показывают на 3 часа больше, но при переходе на следующую минуту становятся правильными, я лично забил, но где то встречал подобные темы, если актуально, поищу.
-
BadBird
- Сообщения: 3046
- Зарегистрирован: 09 сен 2016, 21:08
- Решено: 5
- Откуда: Грозный
- Благодарил (а): 173 раза
- Поблагодарили: 560 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#5
04 окт 2016, 10:25
-
zuzabrik
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#6
04 окт 2016, 11:40
Если кратко. Винда выставляет часы в BIOS по локальному времени, а Линукс по UTC. Поэтому и разница в 3 часа примерно. (москва это UTC+3 пояс).
вариант 1 — костыльный. В обоих ОС включить синхронизацию времени с серварами NTP. Это позволит точное время из инета тырить и выставлять согласно часовому поясу.
вариант 2 — чоткопацанский. Линуксу можно указать что время нужно брать из BIOS как локальное, а не в UTC. Как — гуглим сами.
А мог бы стать нормальным человеком…
-
chixon
- Сообщения: 1
- Зарегистрирован: 16 окт 2016, 16:39
- Поблагодарили: 2 раза
- Контактная информация:
Re: Отстают часы в win после работы в linux
#7
16 окт 2016, 16:50
Я сделал все просто.На Linux установил мой фактический часовой пояс -UTC+2,а на Windows поставил-UTC+4 и все проблема решена и не надо ломать голову,всем удачи !!!
-
Dja
- Сообщения: 6823
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1270 раз
- Поблагодарили: 712 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#8
04 ноя 2016, 22:52
ostrovok, не вижу никакого костыля )) Для достижения цели — все средства хороши. Вон, люди даже вайном и стрёмами не брезгуют. А здесь системная штатная настройка.
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#9
04 ноя 2016, 23:18
У меня на семь часов начинют отставать при переходе с Linux на Windows. Раньше на LM 17.3 и более ранних сборках такого не наблюдалось. Косяк появился на LM 18. Мне кажется в более поздних разработках это исправят.
-
Dja
- Сообщения: 6823
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1270 раз
- Поблагодарили: 712 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#10
04 ноя 2016, 23:20
hellonet, а зачем вообще переходить? В linux-е плохо?
-
FliXis
- Сообщения: 363
- Зарегистрирован: 31 авг 2016, 14:01
- Решено: 8
- Благодарил (а): 89 раз
- Поблагодарили: 21 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#11
04 ноя 2016, 23:31
Dja писал(а):hellonet, а зачем вообще переходить? В linux-е плохо?
Ну, в нем есть не все, что необходимо пользователям.
P.S> точно такая же проблема с отставанием часов.
-
Chocobo
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 814 раз
- Поблагодарили: 3006 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#12
04 ноя 2016, 23:54
FliXis, Выше подмечали, что проблема с отставанием часов кроется ни в одной из ОС, а в том что они по разному те часы, которые тикают в системнике, интерпретируют.
Использование ntp де-факто нивелирует проблему на уровне любой из осей. но правильней наверное каждой из них (или обычно только одной из них) рассказать, как нужно относиться к CMOS-clock, и проблема отпадет сама собой
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#13
05 ноя 2016, 08:18
Dja писал(а): hellonet, а зачем вообще переходить? В linux-е плохо?
FliXis писал(а): Ну, в нем есть не все, что необходимо пользователям.
Согласен с вами обоими, но с небольшим уточнением — в линуксе есть всё и даже больше, но не все могут его использовать на все 100. Иногда в срочном порядке приходится включать винду просто потому, что ПОКА ЕЩЁ не знаешь КАК это сделать в линуксе. Вот наш форум во многом для этого и существует — чтобы научится делать в линуксе то, что раньше делал в винде. (Виртуальная машина тоже не всегда выручает). Иногда даже приходится пользоваться оригиналом XP (на английском), правда на виртуалке — вот некоторые планшеты можно было прошить только на нём, даже русский XP или семерка и иже с ней не годились. В том числе и Linux. Как то так.
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Re: Отстают часы в win после работы в linux
#14
11 ноя 2016, 18:15
Кстати, с сегодняшнего дня разница во времени исчезла. Ничего не делал, видимо, какой то костыль подогнали.
-
vsx
- Сообщения: 31
- Зарегистрирован: 28 ноя 2016, 16:49
- Решено: 2
- Благодарил (а): 12 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Отстают часы в win после работы в linux
#15
29 ноя 2016, 12:53
Если речь о 18 Mint’е, то — sudo timedatectl set-local-rtc 1 --adjust-system-clock
, для отмены — сменить цифру 1
на 0
соответственно.
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Отстают часы в win после работы в linux
#16
13 фев 2018, 14:55
hellonet писал(а): ↑
11 ноя 2016, 18:15
Кстати, с сегодняшнего дня разница во времени исчезла. Ничего не делал, видимо, какой то костыль подогнали.
На днях преобразовал все диски в GPT и переустановил LM18.3Mate и Win10ltsb. В общем всё с нуля начал. Снова стало скакать время. Сейчас попробую
vsx писал(а): ↑
29 ноя 2016, 12:53
Если речь о 18 Mint’е, то — sudo timedatectl set-local-rtc 1 —adjust-system-clock, для отмены — сменить цифру 1 на 0 соответственно.
Вроде должно помочь.
-
slant
- Сообщения: 4327
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 86
- Благодарил (а): 51 раз
- Поблагодарили: 1884 раза
- Контактная информация:
Отстают часы в win после работы в linux
#17
13 фев 2018, 16:48
Чисто для информации — винду тоже можно заставить использовать время в биосе как UTC. Правкой одного параметра реестра достигается. Так что тут можно выбрать какой системе это объяснять, т.ем более, что концептуально — иметь в биосе именно UTC логичнее.
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Отстают часы в win после работы в linux
#18
26 дек 2018, 23:51
vsx писал(а): ↑
29 ноя 2016, 12:53
Если речь о 18 Mint’е, то — sudo timedatectl set-local-rtc 1 —adjust-system-clock, для отмены — сменить цифру 1 на 0 соответственно.
Кстати и c LMDE 3 прокатило
-
asa
- Сообщения: 456
- Зарегистрирован: 19 авг 2018, 10:45
- Решено: 3
- Благодарил (а): 126 раз
- Поблагодарили: 215 раз
- Контактная информация:
Отстают часы в win после работы в linux
#19
27 дек 2018, 04:19
У меня и без sudo работает.
-
hellonet
- Сообщения: 2566
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 9
- Откуда: Новосибирск
- Благодарил (а): 1021 раз
- Поблагодарили: 445 раз
- Контактная информация:
Отстают часы в win после работы в linux
#20
27 дек 2018, 04:52
asa писал(а): ↑
27 дек 2018, 04:19
У меня и без sudo работает.
Здесь ключевое слово работает
If you dual boot Windows and Ubuntu or any other Linux distribution, you might have noticed a time difference between the two operating systems.
When you use Linux, it shows the correct time. But when you boot into Windows, it shows the wrong time. Sometimes, it is the opposite and Linux shows the wrong time and Windows has the correct time.
That’s strange specially because you are connected to the internet and your date and time is set to be used automatically.
Don’t worry! You are not the only one to face this issue. You can fix it by using the following command in the Linux terminal:
timedatectl set-local-rtc 1
Again, don’t worry. I’ll explain in detail how the above command fixes the wrong time issue in Windows after dual boot. But before that, let me tell you why you encounter a time difference in a dual boot setup.
Why Windows and Linux show different time in dual boot?
A computer has two main clocks: a system clock and a hardware clock.
A hardware clock which is also called RTC (real time clock) or CMOS/BIOS clock. This clock is outside the operating system, on your computer’s motherboard. It keeps on running even after your system is powered off.
The system clock is what you see inside your operating system.
When your computer is powered on, the hardware clock is read and used to set the system clock. Afterwards, the system clock is used for tracking time. If your operating system makes any changes to system clock, like changing time zone etc, it tries to sync this information to the hardware clock.
By default, Linux assumes that the time stored in the hardware clock is in UTC, not the local time. On the other hand, Windows thinks that the time stored on the hardware clock is local time. That’s where the trouble starts.
Let me explain with examples.
You see I am in Kolkata time zone which is UTC+5:30. After installing, when I set the timezone in Ubuntu to the Kolkata time zone, Ubuntu syncs this time information to the hardware clock but with an offset of 5:30 because hardware clock (RTC) has to be in UTC for Linux.
Let’ say the current time in Kolkata timezone is 15:00 which means that the UTC time is 09:30.
Now when I turn off the system and boot into Windows, the hardware clock has the UTC time (09:30 in this example). But Windows thinks the hardware clock has stored the local time. And thus it changes the system clock (which should have shown 15:00) to use the UTC time (09:30) as the local time. And hence, Windows shows 09:30 as the time which is 5:30 hours behind the actual time (15:00 in this example).
Again, if I set the correct time in Windows by toggling the automatic time zone and time buttons, you know what is going to happen? Now it will show the correct time on the system (15:00) and sync this information (notice the “Synchronize your clock” option in the image) to the hardware clock.
If you boot into Linux, it reads the time from the hardware clock which is in local time (15:00) but since Linux believes it to be the UTC time, it adds an offset of 5:30 to the system clock. Now Linux shows a time of 20:30 which is 5:30 hours ahead of the actual time.
Now that you understand the root cause of the time difference issues in dual boot, it’s time to see how to fix the issue.
Fixing Windows Showing Wrong Time in a Dual Boot Setup With Linux
There are three ways you can go about handling this issue:
- Make both Ubuntu and Windows check for date, time and timezone automatically via internet
- Make Linux use local time for the hardware clock
- Make Windows use UTC time for the hardware clock
I’ll discuss two of them which are easier.
Method 1: Make your OS set time and date automatically
What happens in this case is that though your operating system (be it Windows or Linux) will show the incorrect time for a minute, and then it automatically sets the correct time if you are connected to the internet.
To make your Ubuntu Linux system check for date and time automatically, go to System Settings -> Date & Time and enable both options.
You should do a similar settings change for Windows as well.
Method 2: Make Ubuntu use local time for hardware clock
It is easier to make the changes in Linux and hence I’ll recommend going with the second method.
Ubuntu and most other Linux distributions use systemd these days and hence you can use timedatectl command to change the settings.
What you are doing is to tell your Linux system to use the local time for the hardware clock (RTC). You do that with the set-local-rtc
(set local time for RTC) option:
timedatectl set-local-rtc 1
As you can notice in the image below, the RTC now uses the local time.
Now if you boot into Windows, it takes the hardware clock to be as local time which is actually correct this time. When you boot into Linux, your Linux system knows that the hardware clock is using local time, not UTC. And hence, it doesn’t try to add the off-set this time.
This fixes the time difference issue between Linux and Windows in dual boot.
You see a warning about not using local time for RTC. For desktop setups, it should not cause any issues. At least, I cannot think of one.
I hope I made things clear for you. If you still have questions, please leave a comment below.
Если вы работаете на компьютере под управлением операционной системы Windows 10, а затем переключаетесь на Linux, вы можете обнаружить, что дата и время в Windows сбиваются. Это происходит из-за того, что Windows использует локальное время BIOS, в то время как Linux использует время с учетом часового пояса. В результате, когда вы переключаете операционные системы, дата и время в Windows могут отличаться от реального времени.
Чтобы исправить эту проблему, существует несколько способов. Один из способов — установить точное время в операционной системе Windows 10. Для этого щелкните правой кнопкой мыши на панели задач внизу экрана и выберите пункт «Регион и язык». В открывшемся окне выберите вкладку «Дата и время» и нажмите кнопку «Изменить дату и время». В появившемся окне установите текущую дату и время и нажмите «Применить».
Еще один способ исправить сбивающуюся дату и время — изменить настройки BIOS в компьютере. Для этого во время загрузки компьютера нажмите клавишу Del или F2 (в зависимости от модели компьютера), чтобы войти в настройки BIOS. В разделе «Дата и время» установите правильное время и дату, а затем сохраните изменения и выйдите из BIOS.
Важно отметить, что изменение настроек BIOS может быть сложным и опасным занятием, поэтому рекомендуется иметь некоторый опыт в работе с настройками BIOS или обратиться за помощью к специалисту.
Наконец, вы можете использовать стороннее приложение, которое автоматически синхронизирует время в Windows с точным временем в Интернете. Некоторые из таких приложений включают в себя «AtomTime Pro» и «NetTime». Установите одно из этих приложений, запустите его и настройте синхронизацию времени с помощью сервера времени. Это позволит автоматически исправить сбивающуюся дату и время в Windows 10 после использования Linux.
Таким образом, если у вас возникают проблемы с сбивающейся датой и временем в Windows 10 после использования Linux, вы можете воспользоваться одним из предложенных способов. Выбор способа зависит от ваших предпочтений и уровня опыта в работы с компьютером.
Содержание
- Причины и решения для сбивающейся даты и времени в Windows 10 после Linux
- Системные часы в Linux
- Актуализация и синхронизация часов
Причины и решения для сбивающейся даты и времени в Windows 10 после Linux
Когда пользователь работает в Linux после использования Windows 10, могут возникать проблемы с правильным отображением даты и времени на компьютере. Это может быть вызвано различными факторами, которые мы рассмотрим ниже.
1. Неправильная настройка времени в Linux: Одной из причин может быть неправильная настройка времени в операционной системе Linux. Когда вы переключаетесь между Linux и Windows 10, Linux может автоматически обновлять время в BIOS, что приводит к сбивающейся дате и времени в Windows 10.
Решение: Правильно настройте время в Linux с помощью следующих команд:
sudo timedatectl set-local-rtc 0
sudo timedatectl set-ntp true
2. Проблемы с главным часовым поясом в Windows 10: Еще одна причина сбивающейся даты и времени может быть связана с неправильной настройкой главного часового пояса в Windows 10. Когда вы переключаетесь между Linux и Windows 10, главный часовой пояс может автоматически изменяться, что приводит к несоответствию даты и времени.
Решение: Убедитесь, что главный часовой пояс в Windows 10 правильно настроен. Для этого перейдите в «Настройки» > «Время и язык» > «Дата и время». Убедитесь, что вы выбрали правильный часовой пояс и включите автоматическую настройку времени.
3. Проблемы с батареей CMOS на материнской плате: Батарея CMOS на материнской плате компьютера отвечает за сохранение настроек BIOS, включая время и дату. Если батарея слабая или истек срок службы, это может привести к сбивающейся дате и времени.
Решение: Замените батарею CMOS на материнской плате компьютера. Это внешний шаг, который требует некоторых навыков и инструментов, поэтому, если вы не уверены, обратитесь за помощью к специалисту.
Причина | Решение |
---|---|
Неправильная настройка времени в Linux | Настройте время в Linux с помощью команд: sudo timedatectl set-local-rtc 0 , sudo timedatectl set-ntp true . |
Проблемы с главным часовым поясом в Windows 10 | Убедитесь, что главный часовой пояс в Windows 10 правильно настроен и включите автоматическую настройку времени. |
Проблемы с батареей CMOS на материнской плате | Замените батарею CMOS на материнской плате компьютера. |
Системные часы в Linux
Если вы используете обе операционные системы на одном компьютере и переключаетесь между ними, возможно, вы столкнулись с проблемой, когда время и дата на компьютере Windows 10 сбиваются после использования Linux. Это происходит потому, что системные часы в Linux обычно настроены на UTC, и Windows не ожидает, что время будет находиться в UTC.
Однако, в Linux можно настроить системные часы на локальное время, чтобы избежать этой проблемы. Для этого следует выполнить следующие шаги:
1. Откройте терминал в Linux. В большинстве дистрибутивов Linux можно найти терминал в меню приложений.
2. Установите пакет «tzdata». Выполнив следующую команду в терминале:
sudo apt-get install tzdata
3. Запустите настройку системного времени. Наберите следующую команду в терминале:
sudo dpkg-reconfigure tzdata
4. Выберите свой регион и город. В появившемся окне выберите свой регион и город с помощью клавиш со стрелками. Это установит локальное время в системных часах.
5. Перезагрузите компьютер. Чтобы изменения вступили в силу, перезагрузите компьютер и проверьте, что время и дата в Windows 10 больше не сбиваются после использования Linux.
После выполнения этих шагов, системные часы в Linux будут соответствовать локальному времени, что позволит избежать проблемы с сбивающейся датой и временем в Windows 10 после использования Linux.
Актуализация и синхронизация часов
Если ваши часы на компьютере Windows 10 сбиваются или отображают неверное время после использования Linux, вы можете выполнить следующие действия для актуализации и синхронизации часов:
- Проверьте часовой пояс. Убедитесь, что на вашем компьютере установлен правильный часовой пояс. Чтобы это сделать, щелкните на значок времени в правом нижнем углу панели задач, выберите «Настройки даты и времени» и убедитесь, что выбран правильный часовой пояс.
- Включите автоопределение времени. В настройках даты и времени также убедитесь, что включена опция «Автоматически определять часовой пояс» и «Автоматически установить время». Это позволит Windows автоматически синхронизировать часы с серверами времени.
- Синхронизируйте часы сейчас. Если автоопределение времени не синхронизировало часы, вы можете синхронизировать их вручную. Для этого щелкните на значке времени в правом нижнем углу панели задач, выберите «Настройки даты и времени», затем «Дополнительные настройки даты и времени». В открывшемся окне выберите вкладку «Время интернета» и нажмите «Синхронизировать сейчас».
- Устраните конфликты с другими программами. Если ваш компьютер использует другие программы синхронизации времени, например, программы управления энергосбережением или биоса компьютера, убедитесь, что эти программы не конфликтуют с синхронизацией времени в Windows. Возможно, вам придется настроить или отключить эти программы, чтобы избежать проблем с синхронизацией часов.
После выполнения этих действий ваши часы на компьютере Windows 10 должны быть правильно синхронизированы и отображать актуальное время.