После линукса сбивается время

Как исправить расхождение времени при использовании двойной загрузки Windows-Linux

Пробовали ли вы когда-нибудь установить Linux рядом с Windows? Как правило вы попадете в неудачный эксперимент по путешествию во времени. Вы запускаете Windows после Linux в 17:00, и вдруг увидите, что часы показывают, что еще только 15:00.

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

Почему двойная загрузка Linux изменяет время в Windows?

Суть проблемы заключается в том, как обе эти операционные системы управляют аппаратными часами.

Аппаратные часы — это физический сегмент материнской платы вашего компьютера, который отвечает за поддержание времени. Он питается от батарейки CMOS и управляется ядром операционной системы, в которой вы работаете. Различные операционные системы управляют этими часами по-разному.

Linux устанавливает аппаратные часы на универсальное координированное время (UTC), тогда как Windows предполагает, что аппаратные часы уже используют местное время, полученное из вашего текущего местоположения.

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

Windows, однако, не знает и не привязан к изменению часового пояса аппаратных часов, и продолжает считывать время с аппаратных часов и представлять его как местное время.

Чтобы исправить это, необходимо настроить обе операционные системы на единогласную работу с аппаратными часами или часами ОС.

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

Вы должны использовать только один из этих способов и не комбинировать их.

1. Настройка Linux на использование местного времени для аппаратных часов

Как обсуждалось ранее, проблема возникает из-за того, что Linux устанавливает аппаратные часы на UTC. Самый простой подход к устранению неправильного отображения времени в Windows заключается в настройке Linux для установки аппаратных часов, иначе известных как часы реального времени (RTC), на местное время.

Читайте также:  Sprint layout linux wine

Тогда Windows будет получать местное время с системных часов и отображать его, устраняя проблему. Вот как настроить RTC на использование местного времени в Linux:

1. Запустите новое окно терминала.

2. С помощью команды timedatectl настройте RTC на использование местного времени, выполнив эту команду с префиксом sudo:

3. Перезагрузите систему вручную или введите команду reboot.

Вот и все шаги, необходимые для настройки аппаратных часов на использование местного времени в Linux.

Чтобы отменить изменения, просто введите ту же команду с небольшой правкой, заменив «1» на «0». Это самый простой способ исправить проблему несоответствия времени при двойной загрузке.

2. Настройка Windows на автоматическую синхронизацию времени из Интернета

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

И Windows, и Linux оснащены функцией автоматической синхронизации времени, которая синхронизирует системное время с сервером времени в Интернете.

Вот шаги, которые необходимо выполнить, чтобы включить автоматическую синхронизацию времени:

Щелкните правой кнопкой мыши в правом нижнем углу панели задач, где отображается время. В появившемся меню нажмите на Настройка даты и времени . Или вы можете открыть Настройки > Время и язык > Дата и время . Установите правильный часовой пояс, если он был неправильным, затем включите Установить время автоматически , нажав на ползунок под надписью, и завершите настройки, нажав на Синхронизировать сейчас. Вы должны увидеть, что время изменилось на местное.

Теперь вы можете спокойно закрыть окно настроек и сосредоточиться на более важных делах.

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

3. Настройка Windows на использование времени UTC для аппаратных часов

Как говорилось ранее, Windows предполагает, что аппаратные часы настроены на местное время, и не утруждает себя повторным преобразованием их в местное время, поскольку это было бы излишним.

Чтобы решить эту проблему, можно настроить Windows на конфигурацию аппаратных часов и установить их на UTC, чтобы Windows была вынуждена преобразовывать UTC с аппаратных часов в местное время.

Это более сложное решение, поэтому рекомендуется сначала попробовать два предыдущих решения и только потом прибегать к этому. В случае, если оба предыдущих решения не сработали, выполните следующие действия:

  1. Используя строку поиска или сочетание клавиш Win + R , откройте диалоговое окно «Выполнить» в Windows и введите regedit .
  2. Открыв редактор реестра Windows, перейдите в это место: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation .
  3. Щелкните правой кнопкой мыши на пустом месте, выберите New и добавьте новую запись Параметр Q-WORD (64-бита) , дав ей имя RealTimeisUniversal . Если вы используете 32-битную версию Windows, вам нужно добавить запись Параметр D-WORD (32-бита) .
  4. После того как запись добавлена, дважды щелкните на ней, установите значение 1 и перезагрузите систему.
Читайте также:  Linux no soundcards found

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

Заключение

Неправильное время при двойной загрузке — это общая проблема, с которой сталкиваются все пользователи при использовании двойной загрузки, независимо от того, какую версию Windows и Linux они используют.

Нежелательное перемещение во времени может доставить вам определенные неудобства, но теперь вы знаете, как решить эту проблему тремя различными способами.

Хотя виновник этой проблемы обычно кроется в том, как Linux и Windows подходят к измерению времени. Но иногда это может быть признаком неисправного оборудования или проблем с безопасностью, например, скрытым вредоносным ПО в вашей системе.

В случае, если ни одно из этих исправлений для двойной загрузки не помогло, проверьте работоспособность оборудования или поищите следы вредоносного ПО в системе.

Источник

Решено: Сбивается время при переходе между Linux и Windows

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

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

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

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

  1. Заставить Windows работать по UTC, как Linux;
  2. Заставить 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).

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

Начнем исправлять проблему сбивающихся часов. Для этого выполняем команду:

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) решена.

Источник

Оцените статью
Adblock
detector