Linux не синхронизирует время с windows

Синхронизация времени Windows клиента с NTPD

Никак не могу синхронизировать время с Виндовых клиентов, на стороне сервера смотрю вот такую картину:

Может я и не прав, но вроде как ntp-клиенты отказываются синкаться, если расхождение во времени больше скольки-то там минут. У тебя тут вроде годами отличается 🙂

Transmit Timestamp: 3961667129.750000000 (2025/07/16 18:05:29)

именно, на виндовсе такая дата, это и есть клиент, а на сервере правильная дата, вот оно и не хочет синкать.

но вроде как ntp-клиенты отказываются синкаться, если расхождение во времени больше скольки-то там минут

этого не знал, щас почитаю, может так и есть.

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

А как вы заставили винды ходить к вам на linux машинку за часами? Насколько я помню винды игнорят подобные опции от dhcp сервера.

не знаю что вы помните, но виндовые клиенты всегда синкал с линуксовых НТП, ток на виндовсе этот нтп работает говняно, но это уже другая беда

Групповыми политиками, например.

Политики — тут вопросов нету. Но если есть домен на AD Windows, тогда я с трудом понимаю, зачем нужен Linux NTPD. По сему решил спросить. 🙂

Так откуда винды знают куда им надо ходить? Через политики?

Ну, пуркуа бы не па. Можно все компы в сети направить на линуксовый NTPD как наиболее адекватный, в т.ч. доменные контроллеры.

У меня несколько иначе — клиенты синхрятся с контроллерами, а они уже с двумя цысками роутерами, которые стратум 2. Но, в принципе, разницы никакой.

а они и не знают. Те компы не в АД. Прописываю в настройках руками, а на линуксовый по тому как один из них поддерживаю я, а другие серверный отдел. Виндовых НТП я не знаю ИП по тому и на линуксовые.

Как-то надо было настроить автономный NTP-сервер на XP, ковырялся с реестром дня три, плюнул, поставил NetTime.

FAQ: Синхронизация времени между Windows, Mac OS X и Ubuntu

Если вы хотите увидеть на нашем сайте ответы на интересующие вас вопросы обо всём, что связано с техникой Apple, операционной системой Mac OS X (и её запуском на PC), пишите нам через форму заявки на обзор или форму обратной связи.

К нам поступил следующий вопрос:

день добрый!
на хакинтоше стоят Snow Leopard, Windows 7 и Ubuntu. постоянно сбивается время после перезагрузки (( мак ос всегда его на 4-5 часов назад переводит! подскажите, как исправить проблему

Проблема с синхронизацией времени актуальна не только для хакинтошей, но и для настоящих Маков, на которых Windows работает через Boot Camp. Её причина очень проста: Mac OS X всегда считает, что время, записанное в BIOS (или EFI), записано там в формате UTC — проще говоря, по Гринвичу. К нему она прибавляет соответствующую поправку на часовой пояс.

А Windows поступает иначе: она напрямую считывает время из BIOS. И если вы это время меняете, либо оно автоматически синхронизируется, то в BIOS оно запишется уже в исправленном формате: UTC+поправка.

Читайте также:  Ошибка 42110 itunes при авторизации windows 10

Как решить это противоречие? Есть два подхода: один — со стороны Mac OS, другой — со стороны Windows и Linux.

Решение средствами Mac OS X

Сразу скажем — это не лучший способ. Суть в том, что для Mac OS X мы задаём в качестве часового пояса время по Гринвичу. Например, в настройках (пульт Дата и время, вкладка Часовой пояс) выберите в качестве своего населённого пункта Рейкьявик.

Кроме того, на вкладке «Дата и время» обязательно отключите автоматическую синхронизацию времени, иначе получится ещё хуже, чем было.

После этих действий время в Windows всегда будет правильным, и Mac OS X не будет его портить. Но почему это не лучший способ? Дело в том, что если вы синхронизируете с Mac OS X какой-нибудь гаджет — например, iPhone, то неправильный часовой пояс будет искажать многие важные данные. К примеру, время входящих SMS тоже окажется гринвичским.

Решение средствами Windows и Linux

Другой способ — это заставить Windows и Linux считывать время из BIOS так же, как это делает Mac OS. К счастью, такая возможность действительно предусмотрена, но спрятана она очень глубоко.

В Windows вам придётся запустить из окна «Выполнить» программу regeditРедактор реестра. Затем зайдите в ветку \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation и создайте там параметр DWORD с именем RealTimeIsUniversal и значением, равным единице:

В Linux (по крайней мере, в Ubuntu), необходимо отредактировать файл /etc/default/rcS в любом текстовом редакторе и заменить содержимое параметра «UTC=no» на «UTC=yes».

После этого перезагрузитесь в Mac OS X и выставите родной часовой пояс, заодно можете включить автоматическую синхронизацию времени через Интернет. После перезагрузки в Windows и Ubuntu вы увидите точно такое же время.

Linux не синхронизирует время с windows

Нередки конфигурации, когда на компьютере установлены две операционные системы (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 и формат LocalTime

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

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

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

Вариант 1

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

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

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

Читайте также:  Как проверить корневую файловую систему linux

Для 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

Синхронизация времени в Linux

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

Синхронизируем время в Linux

Для начала давайте уточним, что затронуть абсолютно все дистрибутивы в рамках одной статьи не получится, поэтому за пример мы возьмем самую популярную сборку — Ubuntu. В остальных ОС все происходит практически идентично, а различия наблюдаются лишь в элементах графического интерфейса. Однако если вы в этой статье не найдете интересующей информации, придется воспользоваться официальной документацией дистрибутива, чтобы справиться с поставленной задачей.

Настройка даты через графический интерфейс

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

  1. Откройте меню приложений и отыщите там «Параметры».

Перейдите в раздел «Сведения о системе».

Здесь вас интересует категория «Дата и время».

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

Читайте также:  Run auto updates windows

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

Дополнительно в «Дата и время» указывается формат. По умолчанию он 24-часовой.

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

Стандартные команды для управления временем

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

    Начните с запуска «Терминала». Сделать это можно, например, нажав на соответствующий значок в меню приложений.

Введите команду date , чтобы определить текущую дату и время.

В новой строке отобразится интересующая вас информация в стандартном формате.

Через стандартную команду можно и изменить часовой пояс. Сначала нужно просмотреть доступный список поясов и запомнить название требуемого. Напечатайте timedatectl list-timezones и нажмите на Enter.

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

Команда sudo timedatectl set-timezone America/New_York отвечает за смену часового пояса на выбранный. Вместо America/New_York вам следует написать определенный ранее вариант.

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

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

Взаимодействие с сервисом timesyncd

Выше мы посоветовали изучить сведения о timedatectl через официальную документацию, но предлагаем еще на минуту остановиться на этом, чтобы ознакомиться с сервисом timesyncd. Именно эта утилита отвечает за синхронизацию времени в операционной системе по умолчанию.

    Для определения текущего статуса timesyncd используйте команду timedatectl в консоли.

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

Если вы видите, что этот инструмент сейчас отключен по каким-то причинам и хотите запустить его, чтобы наладить синхронизацию, используйте строку sudo timedatectl set-ntp on .

Установка NTPD

Последний раздел нашего сегодняшнего материала будет посвящен замене упомянутого выше сервиса синхронизации времени на более надежный протокол NTPD (Network Time Protocol daemon). Именно его раньше задействовали во многих дистрибутивах по умолчанию и хвалили за корректное взаимодействие с особо чувствительными ко времени приложениями. Инсталляция и замена сервиса происходит так:

    Для начала отключите стандартную утилиту, введя sudo timedatectl set-ntp no .

Придется подтвердить подлинность учетной записи путем написания пароля суперпользователя.

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

Перед началом установки нового программного обеспечения рекомендуется произвести инсталляцию последних обновлений. Осуществляется это через sudo apt update .

По окончании этого процесса используйте команду sudo apt install ntp .

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

Ожидайте завершения скачивания и инсталляции пакетов.

Теперь можете использовать новый протокол, вводя соответствующие атрибуты в «Терминал». Просмотр основных сведений происходит через ntpq -p .

Network Time Protocol daemon будет активирован автоматически, поэтому никаких дополнительных команд вводить не нужно. Вы можете сразу же приступить к тестированию проблемных приложений или выполнять другие действия, ради которых и осуществлялась инсталляция нового сервиса синхронизации времени.

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

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