Linux mint сбивает время в windows

Многие новые пользователи, которые только перешли на Linux с операционной системы Windows, и пока все еще запускают эту систему время от времени,

Многие новые пользователи, которые только перешли на 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 HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

А для 64-битных, нужно использовать тип значения  REG_QWORD:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

Почти готово, но служба времени Windows независимо от этой настройки будет писать время в местном формате при обновлении его через интернет, поэтому удобно эту службу отключить. Для этого выполните:

> sc config w32time start= disabled

Как вернуть обратно?

Если вы хотите вернуть все как было, то сделать это можно проще простого. Сначала возвращаем ключ реестра в правильное положение:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /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, чтобы временные зоны не сбивались, но что такое временные зоны и зачем они нужны, на завершение видео про это:

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

I have installed Linux Mint first on my Acer Aspire 4930 and then dual-booted with Windows 7.

I always see the correct time on Linux Mint but on booting into Windows the time is shifted back by a few hours, even after resetting the time, on reboot it shows a wrong time again.


Questions:

  1. Why is this happening?

  2. What can I do about it?

Vlastimil Burián's user avatar

asked Oct 20, 2012 at 14:59

Ballistic's user avatar

On Windows, the system RTC clock is traditionally kept in local time. In Unix and Linux, it’s traditionally kept in UTC, and /etc/localtime is used to indicate the current timezone so that the displayed time is correct.

These two worldviews collide in dual-boot configurations because there’s only one RTC. Usually, you tell Linux to assume that the RTC is local time (because Windows can’t be told). This varies from one Linux to another, but since Mint is like Ubuntu you can probably set UTC=no in /etc/default/rcS. Then you can set the clock to local time in Windows and Linux will leave it alone after that.


Editor’s Note:

That file is not present since Linux Mint 19 (or more precisely since the Ubuntu 18.04 base):

/etc/default/rcS

Vlastimil Burián's user avatar

answered Oct 20, 2012 at 16:23

aecolley's user avatar

aecolleyaecolley

2,04214 silver badges13 bronze badges

1

Mint 18.2 KDE seems to be immune to the other fixes (including additional ones I found in a search). The files mentioned in aecolley’s and error404’s answers either no longer exist or seem to no longer be where the setting is referenced, at least in the current KDE version. The command in Julie Pelletier’s answer worked for 18.2 Cinnamon but not 18.2 KDE.

After trying half a dozen suggested solutions, the following fixed it for 18.2 KDE. With the correct time displayed, run the following terminal command:

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

Source: Tips and Tricks for Linux Mint after Installation [Mint 18 — Cinnamon Edition]

This should also work for Cinnamon as an alternate solution, and I assume other DE’s as well.

Editor’s Notes:

  • There is no sudo required, run that command as your user.

  • It does persist on reboot, should be permanent.

  • Tested on Linux Mint 19.1 Cinnamon, which is Ubuntu 18.04 based.

Vlastimil Burián's user avatar

answered Nov 19, 2017 at 6:57

fixer1234's user avatar

fixer1234fixer1234

5836 silver badges20 bronze badges

3

The most generic way of doing it is with:

hwclock --systohc --localtime

which is persistent across reboots and works on most systems.

Vlastimil Burián's user avatar

answered Feb 1, 2017 at 17:28

Julie Pelletier's user avatar

Julie PelletierJulie Pelletier

7,5341 gold badge19 silver badges43 bronze badges

3

WARNING

This method is buggy in pre-7 versions of Windows, but it resolves the issue on the Windows side of the equation, rather than on the Linux end: you don’t have to set Linux to use localtime.


Taken from the most glorious and esteemed Arch Linux Wiki:

One reason users often set the RTC in localtime is to dual boot with
Windows (which uses localtime).

However, Windows [can handle the RTC being UTC] with a simple registry fix. It is recommended to configure Windows to use UTC, rather than Linux to use localtime.

Using regedit, add a DWORD value with hexadecimal value 1 to the registry:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformationRealTimeIsUniversal

You can do this from an Administrator Command Prompt running:

reg add "HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Alternatively, create a *.reg file (on the desktop) with the following content
and double-click it to import it into registry:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

If the above appears to have no effect, and a 64-bit variant of Windows is being used, using a
QWORD value instead of a DWORD value may resolve the issue.

Should
Windows ask to update the clock due to DST changes, let it. It will
leave the clock in UTC as expected, only correcting the displayed
time.

The hardware clock and system clock time may need to be updated
after setting this value. If you are having issues with the offset of
the time, try reinstalling tzdata and then setting your time zone
again:

# timedatectl set-timezone America/Los_Angeles

brunch875's user avatar

answered Feb 1, 2017 at 19:49

Alexej Magura's user avatar

Alexej MaguraAlexej Magura

4,1667 gold badges25 silver badges39 bronze badges

2

Amend (as root) /etc/timeadj variable from UTC to LOCAL.

This sorted the problem without having to fiddle with regedit on the Windows side.

sebasth's user avatar

sebasth

13.8k4 gold badges47 silver badges66 bronze badges

answered Aug 21, 2017 at 12:51

error404's user avatar

Run one of these two command which match your local time

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

‘or’

timedatectl set-local-rtc 0 --adjust-system-clock

answered Jul 16, 2018 at 17:40

Atul6.Singh's user avatar

I have installed Linux Mint first on my Acer Aspire 4930 and then dual-booted with Windows 7.

I always see the correct time on Linux Mint but on booting into Windows the time is shifted back by a few hours, even after resetting the time, on reboot it shows a wrong time again.


Questions:

  1. Why is this happening?

  2. What can I do about it?

Vlastimil Burián's user avatar

asked Oct 20, 2012 at 14:59

Ballistic's user avatar

On Windows, the system RTC clock is traditionally kept in local time. In Unix and Linux, it’s traditionally kept in UTC, and /etc/localtime is used to indicate the current timezone so that the displayed time is correct.

These two worldviews collide in dual-boot configurations because there’s only one RTC. Usually, you tell Linux to assume that the RTC is local time (because Windows can’t be told). This varies from one Linux to another, but since Mint is like Ubuntu you can probably set UTC=no in /etc/default/rcS. Then you can set the clock to local time in Windows and Linux will leave it alone after that.


Editor’s Note:

That file is not present since Linux Mint 19 (or more precisely since the Ubuntu 18.04 base):

/etc/default/rcS

Vlastimil Burián's user avatar

answered Oct 20, 2012 at 16:23

aecolley's user avatar

aecolleyaecolley

2,04214 silver badges13 bronze badges

1

Mint 18.2 KDE seems to be immune to the other fixes (including additional ones I found in a search). The files mentioned in aecolley’s and error404’s answers either no longer exist or seem to no longer be where the setting is referenced, at least in the current KDE version. The command in Julie Pelletier’s answer worked for 18.2 Cinnamon but not 18.2 KDE.

After trying half a dozen suggested solutions, the following fixed it for 18.2 KDE. With the correct time displayed, run the following terminal command:

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

Source: Tips and Tricks for Linux Mint after Installation [Mint 18 — Cinnamon Edition]

This should also work for Cinnamon as an alternate solution, and I assume other DE’s as well.

Editor’s Notes:

  • There is no sudo required, run that command as your user.

  • It does persist on reboot, should be permanent.

  • Tested on Linux Mint 19.1 Cinnamon, which is Ubuntu 18.04 based.

Vlastimil Burián's user avatar

answered Nov 19, 2017 at 6:57

fixer1234's user avatar

fixer1234fixer1234

5836 silver badges20 bronze badges

3

The most generic way of doing it is with:

hwclock --systohc --localtime

which is persistent across reboots and works on most systems.

Vlastimil Burián's user avatar

answered Feb 1, 2017 at 17:28

Julie Pelletier's user avatar

Julie PelletierJulie Pelletier

7,5341 gold badge19 silver badges43 bronze badges

3

WARNING

This method is buggy in pre-7 versions of Windows, but it resolves the issue on the Windows side of the equation, rather than on the Linux end: you don’t have to set Linux to use localtime.


Taken from the most glorious and esteemed Arch Linux Wiki:

One reason users often set the RTC in localtime is to dual boot with
Windows (which uses localtime).

However, Windows [can handle the RTC being UTC] with a simple registry fix. It is recommended to configure Windows to use UTC, rather than Linux to use localtime.

Using regedit, add a DWORD value with hexadecimal value 1 to the registry:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformationRealTimeIsUniversal

You can do this from an Administrator Command Prompt running:

reg add "HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Alternatively, create a *.reg file (on the desktop) with the following content
and double-click it to import it into registry:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

If the above appears to have no effect, and a 64-bit variant of Windows is being used, using a
QWORD value instead of a DWORD value may resolve the issue.

Should
Windows ask to update the clock due to DST changes, let it. It will
leave the clock in UTC as expected, only correcting the displayed
time.

The hardware clock and system clock time may need to be updated
after setting this value. If you are having issues with the offset of
the time, try reinstalling tzdata and then setting your time zone
again:

# timedatectl set-timezone America/Los_Angeles

brunch875's user avatar

answered Feb 1, 2017 at 19:49

Alexej Magura's user avatar

Alexej MaguraAlexej Magura

4,1667 gold badges25 silver badges39 bronze badges

2

Amend (as root) /etc/timeadj variable from UTC to LOCAL.

This sorted the problem without having to fiddle with regedit on the Windows side.

sebasth's user avatar

sebasth

13.8k4 gold badges47 silver badges66 bronze badges

answered Aug 21, 2017 at 12:51

error404's user avatar

Run one of these two command which match your local time

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

‘or’

timedatectl set-local-rtc 0 --adjust-system-clock

answered Jul 16, 2018 at 17:40

Atul6.Singh's user avatar

Многие новички Linux оставляют у себя на компьютере второй запасной операционной системой Windows. Но при переходе то в одну, то во вторую систему наблюдается неприятный момент — время начинает «убегать» на несколько часов то вперед, то назад. Это происходит потому, что Linux и Window хранят время в разных форматах.

В компьютере используется два вида часов. Первые — аппаратные часы, которые идут всегда, даже тогда, когда компьютер выключен (питаются от батарейки на материнской плате компьютера). Вторые часы — программные. Вот именно этими часами пользуется операционная система. При включении компьютера первоначальное время берется из аппаратных часов и записывается в программные часы. И вся проблема как раз в том, что разные операционные системы по-разному работают с программными часами. Есть два варианта работы:

  • UTC — аппаратные и программные часы идут по Гринвичу. И эти часы дают универсальное время с нулевым смещением (нулевой часовой пояс). А уже локально к этому времени прибавляется ваш часовой пояс (с плюсом или минусом). Чаще всего так время идет на серверах, с которыми потом синхронизируются рабочие станции пользователей и уже локально у всех пользователей происходит поправка на их часовой пояс.
  • Localtime — в данном случае программные часы тоже идут по Гринвичу, а вот аппаратные часы идут по времени локального часового пояса. Пользователь особой разницы не заметит, т.к. все равно нужно добавлять или вычитать поправку на свой часовой пояс. И вот тут появляется проблема. Windows при загрузке и(или) синхронизации времени делает поправку на часовой пояс пользователя для того, чтобы программное время было верным. В Linux не так.

Именно поэтому, при каждой перезагрузке из одной системы в другую будет происходить смещение времени на величину поправки на часовой пояс. И единственный способ это устранить — это заставить обе системы (и Windows, и Linux) работать со временем в одном формате. Сделать это можно двумя путями:

  1. Заставить Windows работать по UTC, как Linux;
  2. Заставить Linux работать в формате localtime.

Переключение Windows на работу по UTC

Для решения проблемы сбивающегося времени достаточно добавить всего один ключ в реестр Windows. Это можно сделать с помощью ввода команды в консоли.

Чтобы открыть консоль от имени администратора в Windows 10 нужно поставить курсор мыши в левый нижний угол экрана и нажать правую кнопку мыши. В появившемся контекстном меню нужно выбрать «Командная строка (администратор)».

Для 32-х битной Windows вводим (это одна команда, вводится в одну строку):

Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

Для 64-х битных нужно ввести (это одна команда, вводится в одну строку):

Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

Однако, это еще не все. Служба времени Windows все равно продолжит сохранять время в старом формате при его обновлении через Интернет. Поэтому, службу нужно отключить. Либо это сделать руками через «Панель управления» Windows, либо быстрее и проще в той же командной строке, запущенной от имени администратора, выполнить:

sc config w32time start=disabled


Как вернуть настройки времени в Windows обратно?

В командной строке, запущенной от имени администратора, выполняем (это одна команда, вводится в одну строку):

Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /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) решена.

Многие новые пользователи, которые только перешли на 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 HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

А для 64-битных, нужно использовать тип значения  REG_QWORD:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

Почти готово, но служба времени Windows независимо от этой настройки будет писать время в местном формате при обновлении его через интернет, поэтому удобно эту службу отключить. Для этого выполните:

> sc config w32time start= disabled

Как вернуть обратно?

Если вы хотите вернуть все как было, то сделать это можно проще простого. Сначала возвращаем ключ реестра в правильное положение:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /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

Как правильно задавать вопросы

Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 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 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот

no avatar

ostrovok

Сообщения: 72
Зарегистрирован: 28 авг 2016, 01:49
Решено: 1
Благодарил (а): 26 раз
Поблагодарили: 22 раза
Контактная информация:

Отстают часы в win после работы в linux

04 окт 2016, 10:09

Привет.
После перезагрузки в линукс в windows постоянно отстает время на три часа от правильного.
Это происходит каждый раз.
Хотя часовой пояс стоит правильный, все равно уползает назад если загружал линукс :sad:

Как это исправить?


Аватара пользователя

Dja

Сообщения: 6631
Зарегистрирован: 27 авг 2016, 20:03
Решено: 28
Откуда: Voskresensk
Благодарил (а): 1176 раз
Поблагодарили: 696 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#2

04 окт 2016, 10:13

я б выставил другой пояс, который не влиял бы на уход времени в сторону )


no avatar

ostrovok

Сообщения: 72
Зарегистрирован: 28 авг 2016, 01:49
Решено: 1
Благодарил (а): 26 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Отстают часы в win после работы в linux

#3

04 окт 2016, 10:15

Dja, костыль какойто выйдет.
Может есть причина этой беды и можно её починить?


no avatar

symon2014

Re: Отстают часы в win после работы в linux

#4

04 окт 2016, 10:24

ostrovok, Такая же фигня, в биос стоит правильное время, а при загрузке хоть винды , хоть никса , часы сначала показывают на 3 часа больше, но при переходе на следующую минуту становятся правильными, я лично забил, но где то встречал подобные темы, если актуально, поищу.


Аватара пользователя

BadBird

Сообщения: 3022
Зарегистрирован: 09 сен 2016, 21:08
Решено: 5
Откуда: Грозный
Благодарил (а): 170 раз
Поблагодарили: 554 раза
Контактная информация:

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 и все проблема решена и не надо ломать голову,всем удачи !!! :vic:


Аватара пользователя

Dja

Сообщения: 6631
Зарегистрирован: 27 авг 2016, 20:03
Решено: 28
Откуда: Voskresensk
Благодарил (а): 1176 раз
Поблагодарили: 696 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#8

04 ноя 2016, 22:52

ostrovok, не вижу никакого костыля )) Для достижения цели — все средства хороши. Вон, люди даже вайном и стрёмами не брезгуют. А здесь системная штатная настройка.


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#9

04 ноя 2016, 23:18

У меня на семь часов начинют отставать при переходе с Linux на Windows. Раньше на LM 17.3 и более ранних сборках такого не наблюдалось. Косяк появился на LM 18. Мне кажется в более поздних разработках это исправят.


Аватара пользователя

Dja

Сообщения: 6631
Зарегистрирован: 27 авг 2016, 20:03
Решено: 28
Откуда: Voskresensk
Благодарил (а): 1176 раз
Поблагодарили: 696 раз
Контактная информация:

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

Сообщения: 9953
Зарегистрирован: 27 авг 2016, 22:57
Решено: 214
Откуда: НН
Благодарил (а): 795 раз
Поблагодарили: 2979 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#12

04 ноя 2016, 23:54

FliXis, Выше подмечали, что проблема с отставанием часов кроется ни в одной из ОС, а в том что они по разному те часы, которые тикают в системнике, интерпретируют.

Использование ntp де-факто нивелирует проблему на уровне любой из осей. но правильней наверное каждой из них (или обычно только одной из них) рассказать, как нужно относиться к CMOS-clock, и проблема отпадет сама собой

Изображение

   

Изображение


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#13

05 ноя 2016, 08:18

Dja писал(а): hellonet, а зачем вообще переходить? В linux-е плохо?

FliXis писал(а): Ну, в нем есть не все, что необходимо пользователям.

Согласен с вами обоими, но с небольшим уточнением — в линуксе есть всё и даже больше, но не все могут его использовать на все 100. Иногда в срочном порядке приходится включать винду просто потому, что ПОКА ЕЩЁ не знаешь КАК это сделать в линуксе. Вот наш форум во многом для этого и существует — чтобы научится делать в линуксе то, что раньше делал в винде. (Виртуальная машина тоже не всегда выручает). Иногда даже приходится пользоваться оригиналом XP (на английском), правда на виртуалке — вот некоторые планшеты можно было прошить только на нём, даже русский XP или семерка и иже с ней не годились. В том числе и Linux. Как то так.


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Re: Отстают часы в win после работы в linux

#14

11 ноя 2016, 18:15

Кстати, с сегодняшнего дня разница во времени исчезла. Ничего не делал, видимо, какой то костыль подогнали.


no avatar

vsx

Сообщения: 31
Зарегистрирован: 28 ноя 2016, 16:49
Решено: 2
Благодарил (а): 12 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Отстают часы в win после работы в linux

#15

29 ноя 2016, 12:53

Если речь о 18 Mint’е, то — sudo timedatectl set-local-rtc 1 --adjust-system-clock, для отмены — сменить цифру 1 на 0 соответственно.

:magic:


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Отстают часы в 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

Сообщения: 4027
Зарегистрирован: 21 июн 2017, 18:09
Решено: 79
Благодарил (а): 50 раз
Поблагодарили: 1760 раз
Контактная информация:

Отстают часы в win после работы в linux

#17

13 фев 2018, 16:48

Чисто для информации — винду тоже можно заставить использовать время в биосе как UTC. Правкой одного параметра реестра достигается. Так что тут можно выбрать какой системе это объяснять, т.ем более, что концептуально — иметь в биосе именно UTC логичнее.


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Отстают часы в 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 прокатило


no avatar

asa

Сообщения: 456
Зарегистрирован: 19 авг 2018, 10:45
Решено: 3
Благодарил (а): 126 раз
Поблагодарили: 215 раз
Контактная информация:

Отстают часы в win после работы в linux

#19

27 дек 2018, 04:19

У меня и без sudo работает.

Изображение


Аватара пользователя

hellonet

Сообщения: 2392
Зарегистрирован: 11 окт 2016, 12:58
Решено: 9
Откуда: Новосибирск
Благодарил (а): 935 раз
Поблагодарили: 414 раз
Контактная информация:

Отстают часы в win после работы в linux

#20

27 дек 2018, 04:52

asa писал(а): ↑

27 дек 2018, 04:19


У меня и без sudo работает.

Здесь ключевое слово работает


Многие новые пользователи, которые только перешли на Linux с операционной системы Windows, и пока все еще запускают эту систему время от времени, сталкиваются с проблемой, что после загрузки windows в ubuntu сбивается время на несколько часов назад или вперед, затем после нескольких перезагрузок уже сложно понять какое сейчас время.  Все это происходит из-за различий формата хранения времени в этих операционных системах. И будет происходить при каждой перезагрузке, сколько бы вы ни устанавливали правильное время. Но эту проблему можно решить. И даже несколькими способами. В этой статье мы рассмотрим, как решить проблему сбивается время в ubuntu и windows.

НАСТРОЙКА WINDOWS ДЛЯ РАБОТЫ ПО UTC

Итак, если у вас сбивается время windows и linux при переключении между операционными системами, лучшим способом будет заставить Windows работать по более правильному и логичному формату. Для этого достаточно добавить один ключ реестра. Вы можете сделать это с помощью одной команды в консоли. Чтобы открыть консоль в Windows 10 проведите мышь в левый нижний угол, затем нажмите правую кнопку. В контекстном меню выберите Командная строка (администратор):

Дальше наберите команду для 32 битных систем:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

А для 64-битных, нужно использовать тип значения  REG_QWORD:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

utc-windows-600x139/losst.ru/wp-content/uploads/2016/10/utc-windows-600×139-300×70.png» target=»_blank»>https://losst.ru/wp-content/uploads/2016/10/utc-windows-600×139-300×70.png 300w» width=»600″ />

Почти готово, но служба времени Windows независимо от этой настройки будет писать время в местном формате при обновлении его через интернет, поэтому удобно эту службу отключить. Для этого выполните:

> sc config w32time start= disabled

КАК ВЕРНУТЬ ОБРАТНО?

Если вы хотите вернуть все как было, то сделать это можно проще простого. Сначала возвращаем ключ реестра в правильное положение:

> Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0

И запускаем обратно службу синхронизации:

> sc config w32time start= demand

Готово, а дальше рассмотрим, как заставить Linux использовать формат времени localtime.

НАСТРОЙКА LINUX ДЛЯ РАБОТЫ LOCALTIME

По умолчанию Linux использует формат хранения времени UTC, но если ubuntu 16.04 сбивает время windows, вы можете очень просто заставить систему хранить в аппаратном таймере местное время. Во всех дистрибутивах, использующих Systemd, в том числе в Ubuntu 16.04 для этого достаточно выполнить команду:

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

Чтобы посмотреть текущее состояние аппаратных и программных часов выполните:

 sudo timedatectl

rtc-localtime-600x242/losst.ru/wp-content/uploads/2016/10/rtc-localtime-600×242-300×121.jpg» target=»_blank»>https://losst.ru/wp-content/uploads/2016/10/rtc-localtime-600×242-300×121.jpg 300w» width=»600″ />

Готово, теперь вы можете перезапустить компьютер и запустить 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 дистрибутиве, вы уже будете знать, как ее решить с помощью двух полностью работающих способов. 

Источник: https://losst.ru/sbivaetsya-vremya-v-ubuntu-i-windows

Оригинал записи и комментарии на LiveInternet.ru

Предисловие или Немного о двойной загрузке

Нередки конфигурации, когда на компьютере установлены две операционные системы (Windows и Linux) в конфигурации двойной загрузки (или как модно говорить Dual Boot). Действительно, на первое время можно попробовать пользоваться и Linux, и Windows, а затем уже принять решение о полном переходе на Linux, если все ваши потребности удовлетворены.

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

Виджеты времени Kubuntu

Почему сбивается время

Windows и Linux по разному работают с временем BIOS. Дело тут в наличии двух форматов представления времени UTC и localtime.

Linux и формат UTC

Операционные системы GNU/Linux (в том числе Mac OS X) считают, что время в BIOS указано в формате UTC (по Гринвичу). Соответственно, при загрузке Linux для преобразования UTC к локальному времени добавляет (отнимает) смещение текущего часового пояса, который выбрал пользователь. Проще говоря, чтобы получить локальное время для часового пояса Москвы UTC+3, Linux добавит 3 часа.

Windows и формат LocalTime

Windows же считает, что в время в BIOS хранится в формате localtime. Поэтому если вы указали новый часовой пояс или синхронизировали время с внешним источником, система соответственным образом меняет время в BIOS на локальное время.

Linux (Kubuntu 18.04 в моем случае) считает, что время в BIOS указано в формате UTC и дополнительно добавляет смещение часового пояса. Именно поэтому и сбивается время при переключении между Linux и Windows.

Как исправить смещение времени

Вариант 1

Шаг 1. Добавляем параметр RealTimeIsUniversal

Чтобы исправить такую ситуацию, нужно переключить Windows на использование времени в формате UTC с помощью параметра реестра RealTimeIsUniversal.

Для этого запускаем в Windows командную строку от имени администратора (команда контекстного меню) и с помощью приведенных далее команд добавляем необходимый параметр в реестр. Можете данный параметр добавить вручную, не принципиально, а всего лишь дело вкуса и предпочтений.

Запуск командной строки Windows от имени администратора

Для 32-битных систем:


reg add «HKLMACHINESystemCurrentControlSetControlTimeZoneInformation» /v RealTimeIsUniversal /t REG_DWORD /d 1 /f


Для 64-битных систем (нужно создавать параметр типа QWORD вместо DWORD):


reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1


Редактор реестра Windows

Шаг 2. Отключаем синхронизацию времени с сетью Интернет

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


sc config w32time start=disabled


После выполнения указанной команды потребуется перезагрузиться в Linux, а затем снова в Windows.

Командная строка Windows

Вариант 2

Также можно переключить Linux на использование локального времени. В Kubuntu 18.04 и выше это можно сделать командой:


timedatectl set-local-rtc 1


Терминал в Kubuntu

Вернуть настройку времени назад легко. Для этого нужно выполнить обратные команды, которые были описаны выше (иначе говоря, вернуть синхронизацию времени и установить параметр реестра в ноль).

Для 32-битных систем:


reg add «HKLMACHINESystemCurrentControlSetControlTimeZoneInformation» /v RealTimeIsUniversal /t REG_DWORD /d 0 /f


Для 64-битных систем (нужно создавать параметр типа QWORD вместо DWORD):


reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 0


Для включения синхронизации времени в Windows:


sc config w32time start=demand


Для возврата настроек на умолчание в Kubuntu 18.04 или Ubuntu 18.04 достаточно выполнить команду в Терминале:


sudo timedatectl set-local-rtc 0


Какой вариант выбрать, решайте сами. Лично я использую первый вариант. А какой вариант используете вы?


Еще материалы о Linux


Понравилась статья? Не очень? Тогда возможно, что вы напишите свою гораздо лучше. Просто перейдите по ссылке Размещение статей и ознакомьтесь с правилами публикации статей на сайте MultiBlog67.RU.

Like this post? Please share to your friends:
  • Lifecam vx 7000 driver windows 10
  • Limbo x86 pc emulator windows xp
  • Linux mint подключить сетевую папку windows
  • Lifecam vx 6000 драйвер windows 10 x64 не устанавливается
  • Limbo pc emulator windows 7 x64