Windows linux разное время

Как Ubuntu и Windows время не поделили

Использование нескольких операционных систем на одном компьютере иногда приводит к их конфликтам между собой, когда они используют одно и то же. Иногда это касается таких простых вещей как время. Даже такие популярные ОС для ПК как Windows и Ubuntu могут не поладить и постоянно менять время друг друга на некорректное.

Причины этого явления на самом деле просты: Windows воспринимает системное время (которое выводится в настройках CMOS) как локальное (с учётом часового пояса), а Ubuntu — по UTC (по Гринвичу, без учёта часового пояса). Из-за этого они подправляют системное время под свою логику, нарушая логику друг друга.

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

Настройки в Ubuntu

Начиная с версии 18.04 включение отображения локального времени можно включить с помощью timedatectl.

timedatectl set-local-rtc 1

В версиях 16 и 17 — с помощью hwclock.

Включение отображения локального времени:
sudo hwclock —localtime —adjust

Включение отображения по UTC:
sudo hwclock —utc —adjust

В более старых версиях Ubuntu нужно редактировать файл rtC:

sudo nano /etc/default/rcS

В нём нужно добавить (для отображения локального времени) или удалить эту строчку (для отображения времени по UTC):

Настройки в Windows

В Windows почти все системные настройки редактируются в реесте, необходимый в данной ситуации TimeZoneInformation не исключение. Находится он в реесте по этому адресу:

Здесь нужно добавить или изменить параметр RealTimeIsUniversal. Его тип DWORD. Для того чтобы системное время считывалось по UTC нужно выставить значение 1, для распознавания его как локального нужно выставить значение 0 или вовсе удалить этот параметр.

Редактор реестра можно запустить командой regedit.

Windows linux разное время

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

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

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

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

Linux и формат UTC

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

Читайте также:  Горячие клавиши записки windows

Windows и формат LocalTime

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

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

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

Вариант 1

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

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

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

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

reg add «HKLMACHINE\System\CurrentControlSet\Control\TimeZoneInformation» /v RealTimeIsUniversal /t REG_DWORD /d 1 /f

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

reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

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

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

sc config w32time start=disabled

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

Вариант 2

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

timedatectl set-local-rtc 1

Как вернуть настройку времени в Windows и Linux назад

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

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

reg add «HKLMACHINE\System\CurrentControlSet\Control\TimeZoneInformation» /v RealTimeIsUniversal /t REG_DWORD /d 0 /f

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

reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /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

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

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

+ CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetContentCommand

+ CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.C ommands.SetContentCommand

  • Вы здесь:
  • Главная
  • Разное
  • Операционная система Ubuntu
  • Dual Boot: сбивается время в Linux и Windows

Последние материалы

  • Установка MS EDGE в Ubuntu и Kubuntu

Как читать проектную декларацию застройщика

Индукционная электрическая плитка LEBEN 288-021

Застройщики и новостройки Смоленска

Статистика коронавируса COVID-19 в терминале Linux

LiveInternetLiveInternet

Метки

Рубрики

  • Андрей Тарковский (118)
  • Дневник Ронина (72)
  • Эпиграф (55)
  • Культовые книги (38)
  • Книга как поступок (37)
  • Ничего особенного (28)
  • Кинотека (22)
  • Литературный Нобель (18)
  • Литклуб (17)
  • Мои любимые актеры (14)
  • Линукс (13)
  • Папские хроники (4)
  • Бумажный театр (3)
  • Домоведение (3)
  • Филькина грамота (1)
  • Блоги (157)
  • Будни редактора (62)
  • Видео (2337)
  • Внутреннее пространство (81)
  • Гостиная (16)
  • Гуру (64)
  • Духовное (160)
  • Жизнь (150)
  • Журналистика (106)
  • Интервью (101)
  • Искусство (513)
  • Искусствотека (18)
  • История (157)
  • К Богу (75)
  • Кино (547)
  • Книжная полка (124)
  • Комментарии (162)
  • Культуротека (428)
  • Литература (298)
  • Литературный детектив (7)
  • Москва (17)
  • Музыка (530)
  • Мысли (472)
  • Писательство (51)
  • Познавательное (154)
  • ПоэзиЯ (150)
  • Прогулки по Москве (54)
  • Проза (28)
  • Психология (19)
  • Путевые заметки (27)
  • Семья (35)
  • Сериалы (31)
  • Словарь всезнайки (49)
  • Статьи (275)
  • Театр (84)
  • Фантастика (41)
  • Философское (28)
  • Фотогалерея (43)
  • Хочу все знать (42)
  • Дневник чтения (31)
  • Чтобы помнили (233)
  • Юмор (292)
Читайте также:  Не запоминает пароль безопасность windows

Поиск по дневнику

Подписка по e-mail

Друзья

Постоянные читатели

Сообщества

Если сбивается время в Windows или Linux

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

НАСТРОЙКА 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

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 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /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

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

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

Если сбивается время при переходе из UBUNTU в WINDOWS и наоборот…

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

Читайте также:  Readdle documents для windows

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

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