Периодически в Интернете появляются сообщения пользователей и администраторов Windows 10, которые недоумевают, по какой причине время у них в системе неожиданно скакнуло на несколько недель, месяцев или даже лет (время может скакать как вперед, так и назад).
С чем могут быть связаны такие внезапные изменения системного времени в Windows? Журналисты Ars Technica провели небольшое расследование и выяснили, что возможная причина — функция Secure Time Seeding. Рассказываем, как это, судя по всему, работает — и что можно сделать, чтобы предотвратить такие неожиданные скачки.
Что такое Secure Time Seeding
Функция Secure Time Seeding была добавлена в Windows 10 в 2015 году. Предназначена данная функция для исправления очень больших расхождений между временем, установленным в системе, и фактическим. В первую очередь для тех случаев, когда в компьютере села батарейка, питающая встроенные энергонезависимые часы, и время сбилось по-настоящему сильно. Основной особенностью Secure Time Seeding, по задумке ее создателей, является возможность поправить время в системе, не обращаясь к серверам текущего времени.
Зачем это вообще надо? Как ни странно, для безопасности. Обычно обмен данными между клиентом и сервером (в том числе и подключение системы к серверам текущего времени) защищается с помощью криптографических протоколов SSL и TLS. Чтобы установить такое соединение с сервером, клиенту нужно первым делом проверить его цифровой сертификат, а у этих сертификатов имеется определенный срок действия. Поэтому, если время в системе выставлено с существенной ошибкой, сертификат может определиться как просроченный и безопасное подключение не будет установлено.
Получается замкнутый круг: для того чтобы узнать текущее время, компьютеру нужно знать текущее время. Не обязательно прямо идеально точное — примерное тоже может подойти. Но чем больше разница между системным временем и фактическим, тем больше шанс, что сертификат будет признан просроченным.
Соответственно, Secure Time Seeding — опять-таки, по замыслу разработчиков — добавляет в систему способ автоматически выявлять и исправлять существенные расхождения даже в том случае, когда не получается установить безопасное соединение с каким-либо сервером. Для этого используются отметки текущего времени, а также сроки годности цифрового сертификата, которые содержатся в данных, отправляемых серверами клиенту в процессе начальной процедуры установления безопасного соединения (так называемых SSL- и TLS-рукопожатий).
Точный алгоритм действия Secure Time Seeding неизвестен. Но общая суть состоит в том, что на основе данных, полученных в ходе SSL-рукопожатия, Windows вычисляет некий вероятный интервал текущего времени и присваивает ему какое-то значение правдоподобности. По мере получения новых данных эта правдоподобность постепенно может увеличиваться. И после достижения определенного уровня функция Secure Time Seeding принимает решение об изменении системного времени на среднее значение из того интервала, который она признала вероятным. По идее, такой точности должно хватить для получения возможности установить безопасное соединение, подключиться к серверу текущего времени и получить от него уже точное значение.
Почему стоит отключить Secure Time Seeding
Основная проблема в том, что функция Secure Time Seeding включена в Windows 10 по умолчанию и работает всегда — вне зависимости от того, сбивались ли вообще в компьютере встроенные часы. Таким образом, переставить время эта функция может в любой момент, когда неведомые алгоритмы Microsoft решат, что в системе накопилось достаточно признаков неправильной настройки часов и пора эту проблему исправить.
Причина таких сбоев в работе Secure Time Seeding не до конца понятна. Есть предположение, что это связано со значительным ростом популярности реализаций протоколов SSL и TLS, которые в ходе рукопожатия отправляют неправильную отметку времени. Одним из главных подозреваемых тут является часто используемая библиотека OpenSSL (вместо текущего времени сервера она подставляет в отметку времени случайные значения).
Причем такой сбой может произойти и в серверных версиях данной операционной системы — Windows Server 2016, Windows Server 2019 и Windows Server 2022. Если для пользователя обычного компьютера это станет лишь досадной неприятностью, то для сервера это может оказаться катастрофой — ведь от правильно выставленного времени нередко напрямую зависит его работоспособность.
По этому поводу есть неофициальный совет от высокопоставленного сотрудника технической поддержки Microsoft для администраторов контроллеров доменов Active Directory:
«Привет, народ, если вы управляете контроллерами домена Active Directory, я хочу дать вам НЕОФИЦИАЛЬНЫЙ совет, который является исключительно моим личным мнением: отключите функцию Secure Time Seeding для w32time на ваших контроллерах домена».
Неофициальный совет выключить Secure Time Seeding от высокопоставленного сотрудника техподдержки Microsoft
Как отключить функцию Secure Time Seeding в Windows
Чтобы отключить функцию Secure Time Seeding, найдите в реестре Windows следующий раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
В нем вам нужно значение UtilizeSslTimeData. Присвойте ему 0.
Как отключить Secure Time Seeding в реестре Windows
В качестве альтернативы можно в CMD выполнить от имени администратора следующую команду:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f
После того как значение изменено, необходимо перезагрузить систему. Если это сложно или невозможно сделать, нужно вручную «протолкнуть» внесенное изменение в сервис времени Windows с помощью следующей команды:
W32tm.exe /config /update
Ну вот и все, после этого функция Secure Time Seeding вас больше не побеспокоит. Теперь остается только позаботиться о том, чтобы системные часы всегда оставались точными. В конце статьи Ars Technica есть пара полезных советов по этому поводу для администраторов серверов.
Знакомая ситуация? Включаете компьютер, а в углу экрана видите неправильное время, а дата отстает на годы. Следуйте нашей инструкции, и проблема будет решена.
Что делать, если сбилось время на компьютере с Windows 7 или 10? Не стоит паниковать — все можно исправить самостоятельно.
При установке Windows 10 система просит выбрать часовой пояс или устанавливает его по умолчанию. Возможно, в этот самый момент что-то пошло не так. Проверить текущие настройки просто — нажмите на часы в правом нижнем углу экрана правой кнопкой мыши и в возникшем окне выберите «Настройки даты и времени». Проще всего здесь сдвинуть ползунок «Установить время автоматически» вправо, включив таким образом функцию. Но можно и настроить корректное значение вручную.
Если у вас также включен ползунок «Автоматически устанавливать часовой пояс», время будет адаптироваться при смене часовых поясов. Например, если вы улетели из Москвы в Тюмень, часы переведутся автоматически.
Причина №2. Активаторы Windows и других программ
Для установки пиратской копии Windows и другого ПО зачастую используются так называемые «активаторы»: небольшие утилиты, с помощью некоторых ухищрений заставляющие нелегальное программное обеспечение работать корректно. Некоторые версии таких «активаторов» изменяют настройки времени в системе. Поскольку мы не поощряем использование пиратских программ, советуем просто перейти на лицензионное ПО — популярное стоит не так дорого.
Причина №3. Вирусы
Вредоносное ПО также может в собственных целях изменять многие настройки системы, в том числе и настройки времени, для облегчения доступа к вашим данным. Для борьбы с вирусами логично использовать антивирусное программное обеспечение. Существует множество как платных (Kaspersky, Dr.Web), так и бесплатных решений (Avast). Кардинальный способ борьбы с вирусом — форматирование диска и переустановка операционной системы, но вряд ли вы решите прибегнуть к нему из-за неправильно установленного времени.
Причина №4. Батарейка материнской платы
На любой материнской плате есть батарейка, которая отвечает за поддержку низкоуровневых функций — в том числе, сохранения корректного времени. Если она села, при включении компьютера время будет каждый раз сбрасываться. Лечится это заменой батарейки на материнской плате. Как понять, какого типа у вас батарейка и как правильно ее заменить — читайте в другой нашей статье.
Батарейка есть и у материнских плат ноутбуков, но там заменить ее не так просто — либо придется брать на себя смелость и разбирать девайс, либо нести его в сервисный центр
Почему сбивается время на macOS
Если вы являетесь обладателем компьютера от Apple, то такая проблема у вас тоже может появиться. Благо, решается она схожим образом.
Если вы заметили, что на вашем Mac время и дата сбиты, нажмите на значок яблока в верхнем левом углу экрана, затем на пункт «Системные настройки», после нажмите «Дата и время». В появившемся окне, в левом нижнем углу кликните на пиктограмму замка, чтобы система разрешила вносить изменения. После этого убедитесь, что напротив пункта «Получать время и дату с сервера» стоит флажок — это позволяет системе автоматически синхронизировать верные параметры времени и даты с серверами Apple.
Если такая процедура не помогла, установите параметры вручную. Для этого снимите флажок с пункта «Получать дату и время с сервера» и на календаре, и часах в том же окне выберите нужные дату и время.
В дополнение рекомендуем установить часовой пояс в соответствии с регионом проживания. Снова нажмите на значок яблока в верхнем левом углу экрана, затем на пункт «Системные настройки», но теперь перейдите во вкладку «Часовой пояс». Напротив пункта «Автоматически выбирать часовой пояс в зависимости от текущей геопозиции» установите флажок. Если ваш регион определяется некорректно, снимите флажок и выберите регион на карте вручную.
Может случиться так, что Mac не сможет определить ваше текущее местоположение. Это происходит потому, что определение по геопозиции запрещено. Для исправления ситуации сделайте следующее: Снова нажмите на значок яблока в верхнем левом углу экрана, выберите «Системные настройки» и откройте вкладку «Защита и безопасность». На панели «Конфиденциальность» выберите «Включить службы геолокации».
Как видите установить сбившиеся время и дату на компьютерах не сложно, что на компьютерах как с Windows, так и macOS. Следуйте нашей инструкции, и сможете не только сэкономить на компьютерной помощи, но и лучше освоить свой компьютер.
Если у вашего друга случилась такая же беда, вы можете ему помочь через удаленный рабочий стол. Узнайте из нашего материала, как настроить удаленный рабочий стол на Windows.
А если у вас возникли трудности с доступом к интернету в Windows 10, почитайте, как все починить.
Все способы:
- Способ 1: Настройки синхронизации
- Способ 2: Служба синхронизации времени
- Способ 3: Перерегистрация службы
- Способ 4: Отключение сторонних приложений
- Способ 5: Смена сервера времени
- Способ 6: Взаимодействие с десктопом
- Вопросы и ответы: 6
Способ 1: Настройки синхронизации
Самой простой причиной отсутствия автоматической синхронизации времени является банальное отключение отвечающей за нее функции. В этом случае решается проблема элементарно – включением синхронизации времени.
- Запустите апплет «Дата и время» командой
timedate.cpl
, выполненной в диалоговом окошке, открытом нажатием комбинации клавиш Win + R. - Переключитесь на вкладку «Время по Интернету» и нажмите кнопку «Изменить параметры».
- Убедитесь, что опция «Синхронизировать с сервером времени в Интернете» активна, в противном случае активируйте ее и сохраните настройки.
Рекомендуем попробовать синхронизировать время вручную, нажав в окошке «Настройка времени по Интернету» кнопку «Обновить сейчас».
Если при этом вы получите ошибку, выберите в выпадающем списке другой сервер времени и повторите попытку.
Способ 2: Служба синхронизации времени
Часы не смогут синхронизироваться с сервером, если на компьютере будет отключена системная служба синхронизации времени. Проверьте ее статус и включите, если она окажется отключенной.
- Откройте оснастку управления службами командой
services.msc
выполненной в диалоговом окошке «Выполнить» (Win + R). - Отыщите в списке службу с названием «Служба времени Windows» и откройте ее свойства двойным по ней кликом.
- Если служба отключена, установите для нее тип запуска «Автоматически», запустите ее и сохраните настройки.
Способ 3: Перерегистрация службы
Попробуйте перерегистрировать службу синхронизации — это может помочь, если неполадка вызвана незначительными сбоями в ее работе.
- Откройте от имени администратора консоль «PowerShell» из контекстного меню кнопки «Пуск».
- Выполните в консоли одну за другой эти четыре команды, разделяя ввод каждой нажатием клавиши Enter:
w32tm /config /manualpeerlist: NTP_server_IP_Address, 0x8 /syncfromflags:MANUAL
- net stop w32time
- net start w32time
w32tm /resync
- Перезагрузите компьютер и проверьте работу функции синхронизации времени.
Способ 4: Отключение сторонних приложений
Если на компьютере у вас работают изменяющие конфигурацию сети сторонние приложения, попробуйте их отключить. Речь в первую очередь идет о брандмауэрах. Если после отключения синхронизация будет восстановлена, добавьте используемый службой синхронизации времени сервер в исключение вашего стороннего сетевого приложения.
Способ 5: Смена сервера времени
Проблема также может быть связана с некорректной работой доступных в Windows 10 серверов времени. В этом случае можно использовать альтернативные серверы.
- Откройте настройки времени по Интернету как было показано в Способе 1.
- Вставьте в поле «Сервер» один из этих доменов и нажмите «Обновить сейчас»:
- time-b-wwv.nist.gov
- time-e-wwv.nist.gov
- time-e-g.nist.gov
- time-a-g.nist.gov
- utcnist.colorado.edu
- ntp-d.nist.gov
- ntp-b.nist.gov
- Если синхронизация будет выполнена успешно, сохраните настройки.
Способ 6: Взаимодействие с десктопом
Некоторым пользователям удалось решить проблему отсутствия синхронизации времени путем предоставления соответствующей службе доступа к рабочему столу.
- Откройте свойства службы времени Windows, как было показано в Способе 2.
- Переключитесь на вкладку «Вход в систему», активируйте опцию «С системной учетной записью» и установите флажок в пункте «Разрешить взаимодействие с рабочим столом».
- Сохраните настройки службы.
Чтобы новые настройки вступили в силу, перезайдите в свою учетную запись либо перезагрузите компьютер.
Наша группа в TelegramПолезные советы и помощь
Сбивается время на компьютере — что делать?
Если всякий раз после выключения или перезагрузки компьютера у вас сбивается время и дата (а также настройки БИОС), в этой инструкции вы найдете возможные причины этой проблемы и способы исправить ситуацию. Сама проблема достаточно распространена особенно, если у вас старый компьютер, однако может появиться и на только что купленном ПК.
Чаще всего, время сбрасывается после отключения питания, если на материнской плате села батарейка, однако это не единственный возможный вариант, и я постараюсь рассказать обо всех, которые мне известны.
Если время и дата сбрасываются из-за севшей батарейки
Материнские платы компьютеров и ноутбуков оснащены батарейкой, которая отвечает за сохранение настроек БИОС, а также за ход часов, даже когда ПК выключен из розетки. Со временем, она может сесть, особенно это вероятно в том случае, если компьютер в течение долгих промежутков времени бывает не подключен к питанию.
Именно описанная ситуация и является наиболее вероятной причиной того, что сбивается время. Что делать в данном случае? Достаточно заменить батарейку. Для этого вам потребуется:
- Открыть системный блок компьютера и вынуть старую батарейку (проделывайте все это на выключенном ПК). Как правило, она удерживается защелкой: просто надавите на нее, и батарейка сама «выскочит».
- Установить новую батарейку и собрать компьютер обратно, убедившись, что все подключено как следует. (Рекомендацию о батарейке читайте ниже)
- Включить компьютер и зайти в БИОС, установить время и дату (рекомендуется сразу после смены батарейки, но необязательно).
Обычно этих шагов достаточно, чтобы время больше не сбрасывалось. Что касается самой батарейки, то почти везде используется 3-вольтовые, CR2032, которые продаются почти в любом магазине, где вообще есть такой тип товара. При этом, часто они бывают представлены в двух вариантах: дешевая, рублей за 20 и дорогая за сто с лишним, литиевая. Рекомендую брать вторую.
Если замена батарейки не помогла исправить проблему
Если даже после замены батарейки время продолжает сбиваться, как и раньше, то, очевидно, проблема не в ней. Вот некоторые дополнительные возможные причины, приводящие к сбросу настроек БИОС, времени и даты:
- Дефекты самой материнской платы, которые могли появиться со временем эксплуатации (или, если это новый компьютер — были изначально) — тут поможет обращение в сервис или замена материнской платы. Для нового компьютера — обращение по гарантии.
- Статические разряды — пыль и движущиеся части (кулеры), неисправные комплектующие могут приводить к появлению статических разрядов, которые также могут вызывать сброс CMOS (памяти БИОС).
- В некоторых случаях помогает обновление БИОС материнской платы, причем, даже если новая версия для нее не вышла, может помочь повторная установка старой. Сразу предупреждаю: если будете обновлять БИОС, помните, что эта процедура потенциально опасна и делайте это только если точно знаете, как именно это нужно делать.
- Может также помочь сброс CMOS с помощью перемычки на материнской плате (как правило, находится рядом с батарейкой, имеет подпись, связанную со словами CMOS, CLEAR или RESET). А причиной сбрасывающегося времени может оказаться перемычка, оставленная в позиции «сброс».
Пожалуй, это все способы и причины, которые мне известны для указанной проблемы с компьютером. Если вы знаете дополнительные, буду рад комментарию.
Вы можете столкнуться с ошибкой синхронизации времени в Windows, когда ваш компьютер не может автоматически синхронизировать свое время с серверами времени time.microsoft.com в Интернете. Из-за некорректного времени на компьютере у вас может возникать ошибка «
Your clock is ahead/ Ваши Часы спешат (отстают)
» при открытии HTTPS сайтов Chrome (и в других браузерах), не корректно работать сторонние программы, и появляться различные другие неприятности.
Если попытаться вручную выполнить синхронизацию времени из панели управления Windows (Control Panel -> Date and Time -> Internet Time -> Change Settings -> Update now), появляется ошибка:
An error occurred while windows was synchronizing with time.windows.com. The peer is unreachable.
Также здесь может быть ошибка:
The peer is unresolved.
Проверьте, что у вас настроена автоматическая синхронизация времени с NTP серверами в Интернете. Перейдите в раздел Settings -> Time and Language -> Date and Time (можно перейти в этот раздел с помощью команды быстрого доступа по URI:
ms-settings:dateandtime
). Проверьте, что здесь включена опцию Set time automatically и выполните синхронизацию, нажав кнопку Sync now в разделе Additional settings.
Если синхронизация времени с Интернетом не работает, проверьте, с какого внешнего NTP сервера должен получить время ваш компьютер. Выполните команду:
w32tm /query /peers
По умолчанию компьютеры в рабочих группах (не присоединенные к домену Active Directory) настроены на получение времени с серверов time.windows.com.
Если при запуске этой команды появилась ошибка “The following error occurred: The service has not been started. (0x80070426)”, проверьте состояние службы Windows Time. Она должна быть настроена на автоматический или ручной запуск. Можете проверить состояние службы с помощью PowerShell или консоли services.msc:
Get-Service w32time| Select DisplayName,Status, ServiceName,StartType
Перезапустите службу:
Restart-Service -Name w32time
Если служба отключена, включите ее.
Проверьте, что с вашего компьютера доступен хост time.microsoft.com.
Сначала проверьте, что ваш компьютер может разрешить это имя в IP адрес:
nslookup time.windows.com
Если ваш компьютер не может отрезолвить это имя в IP адрес (ошибка синхронизации времени The peer is unresolved), значит в настройках сетевого адаптера вашего компьютера указан DNS сервер, который не доступен, или изолирован от интернета. Попробуйте сменить адрес первичного DNS сервера на DNS сервер Google (8.8.8.8). Можно изменить настройки DNS для сетевого адаптера в Windows с помощью PowerShell.
Вывести список сетевых интерфейсов:
Get-NetAdapter
Изменить настройки DNS для сетевого адаптера с ifIndex 10:
Set-DNSClientServerAddress –InterfaceIndex 10 –ServerAddresses 8.8.8.8
Проверьте доступность сервера с помощью ping:
ping time.windows.com
И затем проверьте, что сервер времени Microsoft доступен по порту NTP (UDP 123). Для проверки доступности UDP порта можно использовать утилиту portquery или можно напрямую обратиться к серверу и запросить у него текущее время:
w32tm /stripchart /computer:time.windows.com
Если команда вернет ошибку error: 0x800705B4, значить указанный NTP сервер не доступен. Проверьте, что в Windows открыт исходящий порт UDP/123 для протокола NTP (по умолчанию порт должен быть открыт). Вы можете принудительно открыть порт в Windows Defender Firewall с помощью PowerShell:
New-NetFirewallRule -DisplayName "AllowOutNTP" -Direction Outbound -Protocol UDP -RemotePort 123 -Action Allow
Enable-NetFirewallRule -DisplayName AllowOutNTP
Также убедитесь, что исходящий NTP трафик не блокируется на сетевом уровне (провайдера, вашего файервола или другими сетевыми устройствами).
Если этот NTP сервер не доступен, вы можете использовать другой NTP сервер.
Можно указать
time.nist.gov
или ближайший к вам NTP сервер, который можно получить на сайте
https://www.ntppool.org
.
Можно изменить адрес вашего NTP сервера с помощью командной строки:
w32tm /config /manualpeerlist:time.nist.gov,0x1 /syncfromflags:manual /reliable:yes /update
Перезапустите службу времени (в данном примере вы запустим несколько команд в одну строку):
net stop w32time && net start w32time
Затем выполните синхронизацию времени:
w32tm /config /update
w32tm /resync
Проверьте, что ваш компьютер успешно получил время с нового источника времени (NTP сервера):
w32tm /query /status
Если ничего не помогло, попробуйте полностью сбросить настройки службы Windows Time:
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
Выполните синхронизацию времени:
w32tm /resync
Также вы можете добавить NTP сервер в список серверов времени и выполнить синхронизацию из панели управления Windows. Перейдите в Settings -> Time & language -> Date & time -> Additional clocks –> Internet Time
Убедитесь, что включена опцию Synchronize with an Internet time, добавьте новый сервер time.nist.gov и нажмите кнопку Update Now.
Вы можете добавить NTP сервера в этот список через реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers.
Для автоматической синхронизации времени в Windows используется отдельно задание в планировщике Task Scheduler. Запустите консоль taskschd.msc и перейдите в раздел Task Scheduler (Local) -> Task Scheduler Library -> Microsoft -> Windows -> Time Synchronization. Проверьте, что задание SynchronizeTime включено.
Также вы можете проверить состояние задания Task Scheduler с помощью PowerShell:
Get-ScheduledTask SynchronizeTime
Чтобы включить его:
Get-ScheduledTask SynchronizeTime|Enable-ScheduledTask