0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Проблемы синхронизации времени между системами Linux и Windows

Проблемы синхронизации времени между системами Linux и Windows

У меня есть Windows 7 и два компьютера Linux (Ubuntu 16.04) (W1, L1 и L2), подключенные через WiFi — проводное подключение, к сожалению, невозможно. Компьютеры Linux работают в хронологическом режиме для синхронизации времени, L1 установлен в качестве источника на L2, что прекрасно работает. Часы должны быть как можно ближе друг к другу, смещение в 50 мсек уже может вызвать проблемы. Но для систем Linux, использующих chrony, это не проблема. Теперь мне также нужно синхронизировать время на W1 с L1, и, к сожалению, для Windows нет хронологии. Поэтому я взял этот сценарий здесь с IP-адресом L1 как равноправный: https://gist.github.com/thedom85/dbeb58627adfb3d5c3af Единовременная синхронизация работает, но есть некоторые недостатки:

  1. Наиболее проблематичным является то, что время в системе Windows отходит от времени Linux довольно быстро. В среднем дрейф составляет примерно 1 с на 10 минут. Простое решение — частая повторная синхронизация часов — не работает из-за проблем 2 и 3
  2. В системе Windows синхронизация завершается успешно только в том случае, если есть основной временной сдвиг для мастера времени. Если это всего лишь несколько секунд, синхронизация не происходит.
  3. В системе Windows синхронизация применяется только после запуска сценария, затем отключения от WiFi и повторного подключения. Часы подскакивают в тот момент, когда соединение устанавливается снова.

Есть ли способы решить эти проблемы или есть лучшие подходы? К сожалению, я не могу просто направить все часы на некоторые высокоточные интернет-серверы синхронизации или время GPS, поскольку, по крайней мере, система Windows никогда не подключена к Интернету, а системы Linux также не могут полагаться на свое интернет-соединение. Сначала я подумал, что проблема 1 может быть вызвана хронированием, управляющим часами L1, но деактивация хронии после начальной синхронизации, похоже, не влияет на эту проблему.

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

РЕДАКТИРОВАТЬ: L1 и L2 оба от батареи — оба от одного и того же источника. Поскольку за RTC должна отвечать только батарея CMOS, я не думаю, что это может вызвать какие-либо проблемы. Однако оказалось, что это так. Питание этих компьютеров от сети переменного тока (таким образом, переменный ток -> преобразователь переменного тока в постоянный ток -> компьютер вместо батареи -> преобразователь постоянного тока -> компьютер) значительно уменьшает дрейф. Но это все еще недостаточно хорошо введите описание изображения здесь

РЕДАКТИРОВАТЬ 2: Решение / Обходной путь Я отключил дрянную службу времени Windows (w32time) и вместо этого установил порт программы Linux NTP . При довольно агрессивных настройках частоты опроса это работает нормально: введите описание изображения здесь

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

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

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

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

Именно поэтому, при каждой перезагрузке из одной системы в другую будет происходить смещение времени на величину поправки на часовой пояс. И единственный способ это устранить — это заставить обе системы (и 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).

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

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

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

Как синхронизировать время между компьютерами windows и linux?

У нас есть несколько коробок linux и windows, и некоторые из их часов будут дрейфовать. Есть ли быстрый способ настроить одну из этих систем в качестве сервера времени и заставить другие указывать на них? Это должно будет работать в автономной сети. OSs-это специально XP и RHEL5 для этого упражнения.

Читайте так же:
Onedrive синхронизация одной папки

1 ответ

  • как синхронизировать дату и время между PC и мобильным телефоном?

у меня есть WebService в PC и я получаю дату & времени в dd/mm/yyyy и на другой PC в mm/dd/yyyy у меня есть любой мобильный телефон Windows-CE, который подключается к этому PC как синхронизировать дату & время между PC и мобильным телефоном ? (мне нужно, чтобы PC дата & время было в.

У меня есть работа PC и ноутбук дома, который я разрабатываю с помощью Resharper. К сожалению, каждый раз, когда я добавляю живой шаблон или изменяю настройки форматирования, мне приходится экспортировать и импортировать настройки/шаблоны между компьютерами. Для этого в настройках visual studios я.

Вы можете настроить сервер NTP на одной из машин Linux, а остальные укажут на него.

Подключение к NTP-серверу в Redhat:

  • ntpdate -du ntpservername

Подключение к NTP-серверу в Windows XP:

  • Щелкните правой кнопкой мыши на часах в системном трее
  • Выберите настроить время
  • На вкладке internet time введите имя хоста вашего сервера
Похожие вопросы:

Я ищу программное обеспечение, которое позволит мне синхронизировать файлы в определенных папках между моими ящиками linux. Я искал много тем, и то, что я нашел, — это унисон. Он выглядит довольно.

Я хочу добавить функцию в свою программу C#, которая может синхронизировать время между linux и windows, есть ли какой-нибудь способ сделать это?

Моя ситуация такова: У меня есть компьютер windows и компьютер Linux, а также проект Eclipse, который я хотел бы синхронизировать между ними. Как лучше всего это сделать ? Заранее спасибо

у меня есть WebService в PC и я получаю дату & времени в dd/mm/yyyy и на другой PC в mm/dd/yyyy у меня есть любой мобильный телефон Windows-CE, который подключается к этому PC как.

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

Я пытался настроить автоматическую синхронизацию плагинов для Eclipse, но пока мне это не удавалось. Есть ли способ автоматически синхронизировать Плагины Eclipse (например, EGit) между несколькими.

Я работаю над windows 7. Я могу синхронизировать время win7 с сервера ntp linux вручную. Как я могу это сделать в командной строке? Так что я могу запустить его при запуске windows. И windows план.

У меня есть linux PC, действующий как клиент часов, и я хотел бы синхронизировать время этого PC с помощью ntpdate против Windows PC в том же пространстве в той же сети. Мне трудно найти, как это.

Я использую 3 разных компьютера для программирования в android studio. Как лучше всего синхронизировать настройки android studio между компьютерами?

Моя задача-синхронизировать папки между двумя компьютерами. Один из них действует как сервер windows, который является хостом, а другой-как сервер на базе linux. Передача файлов должна быть.

Как синхронизировать время linux и windows

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

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

Читайте так же:
Samsung i9300 синхронизация контактов

Виджеты времени 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

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

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

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

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

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

Как починить часы в Windows 10

Если на вашем компьютере с Windows 10 отображается неправильная дата или время, вы можете быстро и легко изменить их в приложении «Настройки» на своем компьютере.

Читайте так же:
Что такое синхронизация в гугл плюс

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

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

Мы покажем вам, как исправить часы в Windows 10, чтобы они отображали правильную информацию.

Как починить часы в Windows 10

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

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

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

  • Запустите сканирование на наличие вредоносных программ, чтобы проверить наличие вредоносных программ на вашем компьютере. Вредоносное ПО часто трудно удалить, но с сильный антивирус и сканер вредоносных программ обновленные с последними определениями вирусов, вы можете обнаруживать и удалять вредоносные программы.
  • Замените батарею CMOS. Эта батарея находится в материнской плате вашего ПК и обеспечивает питание CMOS-микросхемы. Если батарея неисправна, микросхема со временем теряет информацию, и это влияет на способность часов поддерживать правильную дату и время.
  • Обновите Windows 10

Проверьте свой часовой пояс

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

  1. Откройте «Настройки»> «Время и язык»> «Дата и время». Кроме того, вы можете щелкнуть правой кнопкой мыши по системным часам и выбрать «Настроить дату / время».

  1. В поле Часовой пояс выберите правильный часовой пояс из раскрывающегося меню. Если меню неактивно, отключите ползунок Установить часовой пояс автоматически.

  1. Включите параметр «Автоматически переходить на летнее время» и установите параметр «Автоматически устанавливать время». Таким образом, вам не придется постоянно настраивать или обновлять их вручную.

  1. Выберите «Синхронизировать сейчас для Windows», чтобы выбрать нужное время.

Проверить настройки синхронизации

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

  1. Выберите «Настройки»> «Время и язык»> «Регион».

  1. Выберите Дополнительные дата, время и региональные настройки.

  1. В интерфейсе панели управления выберите Часы и регион> Дата и время и выберите Установить время и дату.

  1. Выберите «Изменить настройки» на вкладке «Время в Интернете» и при необходимости измените сервер.

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

  1. Нажмите клавишу Windows на клавиатуре и введите services, чтобы открыть служебную программу Services. В окне «Службы» перейдите в столбец «Имя», щелкните правой кнопкой мыши «Время Windows» и выберите «Свойства».

  1. Установите для параметра Тип запуска значение Автоматический.

  1. Выберите Пуск> ОК, чтобы убедиться, что служба запущена.

Изменить время в Linux

Если у вас компьютер с двойной загрузкой, у вас могут возникнуть проблемы с часами при двойной загрузке с Ubuntu / Linux. Это связано с тем, что Linux получает время из BIOS, предполагая, что это UTC, в то время как Windows предполагает ваше региональное время.

Читайте так же:
Синхронизация папок средствами windows server

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

Перейдите в / etc / default / rcS и измените UTC = yes на UTC = no.

Служба повторной синхронизации и система сканирования поврежденных файлов

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

  1. Введите CMD в поле поиска и выберите Командная строка> Запуск от имени администратора в результатах поиска.

  1. Затем введите w32tm / debug / disable и нажмите Enter.

  1. Введите w32tm / unregister и нажмите Enter.

  1. Когда вы получите ответ W32Time об успешной отмене регистрации, введите w32tm / register и нажмите Enter.

  1. На этот раз вы должны получить успешно зарегистрированный ответ W32Time, после чего вы можете ввести net start w32time и снова нажать Enter.

  1. Введите sfc / scannow и перезагрузите компьютер.

  1. Найдите службы, щелкните правой кнопкой мыши «Время Windows» и выберите «Свойства». Измените тип запуска с ручного на автоматический.

  1. В разделе «Статус службы» выберите «Пуск»> «Применить»> «ОК», чтобы сохранить изменения и проверить, работают ли часы Windows снова лучше.

Отредактируйте реестр Windows

Если вы используете компьютер с двойной загрузкой (Windows + Linux), вы можете отредактировать реестр Windows и добавить значение RealTimeIsUniversal DWORD в разделе «Информация о часовом поясе».

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

  1. Щелкните правой кнопкой мыши «Пуск»> «Выполнить», введите в поле «Выполнить» команду regedit и нажмите клавишу «Ввод».
  2. В окне редактора реестра перейдите к HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control TimeZoneInformation.

  1. Щелкните правой кнопкой мыши пустое место и выберите «Создать»> «Значение QWORD (64-разрядное)».

  1. Введите RealTimeIsUniversal в качестве нового значения и дважды щелкните его.

  1. Щелкните правой кнопкой мыши RealTimeIsUniversal, выберите «Изменить» и установите для данных значения значение 1, а затем выберите «ОК», чтобы сохранить изменения. Перезагрузите компьютер и снова установите время.

Используйте инструмент синхронизации времени

Если ни один из вышеперечисленных методов не помог вам, попробуйте использовать инструмент синхронизации времени, например Чистое время или же Атомная синхронизация часов починить часы в Windows 10

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

Atomic Clock Sync — это также бесплатная утилита, предназначенная для синхронизации времени вашего ПК с сервером атомного времени. Эти серверы обслуживаются Национальным институтом стандартов и технологий и считаются правильными и точными. Инструмент также может помочь восстановить службу времени Windows, если ваш компьютер не может проверить наличие обновлений времени в Интернете.

Верните часы Windows вовремя

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector