Сбивается время на компьютере windows server

В этой статье рассмотрим, почему после выключения или перезагрузки ноутбука / компьютера / сервера в операционной системе могут сбрасываться текущие настройки даты и времени, указанные ранее. Рассмотрим, как самый банальный случая с севшей батарейкой BIOS, так и более интересные кейсы с мультизагрузкой Windows и Linux на одном компьютере, и багом прошивки на Windows серверах HPE ProLiant G9 /G8.

Содержание:

  • Не сохраняется время из-за севшей батарейка BIOS
  • Настройки часового пояса и синхронизации времени с time.windows.com
  • Синхронизация времени в домене Windows
  • Сбивается время при переключении между Linux и Windows (Dual Boot)
  • Сбивается время после перезагрузки на серверах HP с Windows Server

Не сохраняется время из-за севшей батарейка BIOS

Самый «классический» ответ на вопрос «Почему не сохраняется и сбивается время и дата на компьютере?» — севшая батарейка BIOS. Данная батарейка отвечает за сохранение настроек BIOS/ UEFI, когда ваш компьютер/ноутбук выключен из розетки, а также обеспечивает автономную работу встроенных аппаратных часов.

Если батарейка села, то при отключении питания материнской карты, BIOS не может сохранить свои настройки, и все они сбрасываются, в том числе и текущее дата и время. Если ваш компьютер довольно старый, вероятность того, что у вас села батарейка крайне велика. Настоятельно рекомендуем ее заменить. Сделать это не сложно, и, как правило, особых инженерных навыков процесс замены батарейки BIOS не требует. В большинстве домашних систем используется в BIOS стандартная батарейка CR2032 на 3 вольта.

bios замена старой батарейки

Если замена батарейки не помогла, проверьте состояние перемычки сброса настроек BIOS (джампер с перемычкой расположен рядом с отсеком для батарейки и может быть подписан как CCMOS / CLEAR / RESET). Возможно кто-то оставил данный джампер в положении «сброса», в результате чего при каждой подачи питания на мат.плату, настройки BIOS обнуляются. Верните джампер в нормальное положение.

Следующий вариант – обновление прошивки BIOS материнской карты (как это сделать – смотрите на сайте производителя вашего железа). Часто в более новых прошивках исправляются различные баги.

Настройки часового пояса и синхронизации времени с time.windows.com

В том случае, если у вас постоянно меняются настройки даты//времени в Windows, в первую очередь стоит проверить текущие настройки часового пояса и параметры синхронизации времени с интернетом. В Windows 10 текущие настройки времени можно посмотреть в меню панели инструментов (Панель управления\Часы, язык и регион -> Дата и время). В этом примере видно, что указан часовой пояс UTC + 03, переход на зимнее время отключен.

Совет. Вы можете управлять часовым поясом Windows из командой строки с помощью утилиты tzutil.

Если ваш компьютер не в домене, проверьте настройки синхронизации времени с внешним источником времени (сервером времени NTP). В этом случае в этом же окне щелкните по вкладке «Время по Интернету» и проверьте, что компьютер настроен на автоматическую синхронизацию времени с сервером time.windows.com.

Совет. Напомню, что с 2014 года в России отменен переход на летнее время. Возможно вы давно не обновляли свою ОС (Windows 8 и ниже) и у вас не установлены обновления, отключающие переход на летнее время.

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

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

Сбивается время при переключении между Linux и Windows (Dual Boot)

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

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

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

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

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

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

RealTimeIsUniversal

Совет. В 64 битных версиях Windows нужно создавать параметр типа QWORD вместо DWORD:
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

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

sc config w32time start= disabled

Осталось перезагрузить Windows.

Либо можно переключить Linux на использование локального времени. В Ubuntu 15.04 и выше и CentOS это можно сделать командой timedatectl:

timedatectl set-local-rtc 1

Сбивается время после перезагрузки на серверах HP с Windows Server

На серверах HPE DL/ML Gen9 с Windows Server 2008 R2 / 2012 R2 у одного из удаленных заказчиков столкнулись с интересной проблемой после смены часового пояса. Как оказалось, на серверах HP ProLiant Gen9 (и на одном из серверов HP ProLiant DL580 Gen8) при изменении системного времени или часового пояса, после перезагрузки сервера, системное время не сохранялось и сбрасывалось на предыдущее. Проблема были подвержены сервера, в которых Windows Server загружается в режиме Legacy (при нативной UEFI загрузки проблемы отката времени не было).

В журнале системы при этом появлялось такое событие:

The system time has changed to ‎2018‎-‎04‎-‎29T12:12:28.500000000Z from ‎2018-‎04‎-‎29T13:12:27.923115700Z.
Change Reason: System time synchronized with the hardware clock.

В качестве решения проблемы HP предлагает обновить ROM до версии не менее 1.5. Именно в этой версии ROM-Based Setup Utility (RBSU) не подвержена багу со сбросом временм.

Либо в качестве обходного решения, можно указать, чтобы Windows считала, что BIOS отдает ей системное время в формате UTC (а не локальное время). Для этого, как мы уже говорили выше нужно создать в ключе реестра HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation параметр с именем RealTimeIsUniversal и значением 1.

После перезагрузки время на сервере Windows сбивается на несколько часов (соотвественно часовому поясу).

Это происходит из-за того, что windows предполагает, что в BIOS установлено локальное время. Но в BIOS установлено время UTC.

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

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

Создать параметр RealTimeIsUniversal тип DWORD со значением 1 в разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Либо создать файл time.reg с таким содержанием

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
«RealTimeIsUniversal»=dword:00000001

И исполнить его.

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

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

Как использовать OAuth2 со Spring Security в Java

Javaican 14.05.2025

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

Анализ текста на Python с NLTK и Spacy

AI_Generated 14.05.2025

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

Реализация DI в PHP

Jason-Webb 13.05.2025

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

Обработка изображений в реальном времени на C# с OpenCV

stackOverflow 13.05.2025

Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .

POCO, ACE, Loki и другие продвинутые C++ библиотеки

NullReferenced 13.05.2025

В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .

Паттерны проектирования GoF на C#

UnmanagedCoder 13.05.2025

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

Создаем CLI приложение на Python с Prompt Toolkit

py-thonny 13.05.2025

Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .

Конвейеры ETL с Apache Airflow и Python

AI_Generated 13.05.2025

ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .

Выполнение асинхронных задач в Python с asyncio

py-thonny 12.05.2025

Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .

Работа с gRPC сервисами на C#

UnmanagedCoder 12.05.2025

gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .

Профильные эксперты и системные администраторы рассказали, что функция Windows Secure Time Seeding (STS) для Windows Server в некоторых случаях работает некорректно и может сбросить системное время на серверах на месяцы или годы вперёд. Проблема особенно критична для контроллеров доменов. В Microsoft в курсе ошибок и рекомендуют отключать эту опцию при возникновении большой дельты в системном времени и вместо STS использовать NTP.

STS позволяет отслеживать сроки действия ключей и сертификатов безопасности с помощью использования метаданных из исходящих SSL-соединений до удалённого сервера Microsoft.

Системные администраторы пояснили, что при использовании STS на некоторых высокозагруженных и критичных системах начинались проблемы со скачками системного времени. Например, Windows Server 2016 внезапно переустанавливал свои системные часы на 55 дней вперёд. В другом случае с Windows Server 2019 в августе 2022 года система автоматически сбросила время на январь 2023 года, а затем через некоторое время вернула данные времени обратно.

Примечательно, что в некоторых случаях сбой системного времени из-за STS мог быть ограничен двумя или тремя серверами и происходил каждые несколько месяцев. Иногда их системные часы прыгали на несколько недель, а иногда их системное время менялось вплоть до 2159 года.

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

Системные администраторы отсылали отчёты с ошибками STS в Microsoft, но в техподдержке не отвечали или закрывали тикеты, так как это не было связано с критическими проблемами безопасности.

По мнению профильных экспертов, дизайн STS основан на фундаментальном неправильном толковании спецификации TLS. В описании Microsoft STS признаётся, что некоторые реализации SSL вообще не помещают текущее системное время сервера в поле ServerUnixTime. Вместо этого эти реализации (прежде всего широко используемая библиотека OpenSSL) начиная с 2014 года заполняют поле случайными значениями. Далее в описании Microsoft говорится: «Мы заметили, что большинство серверов предоставляют довольно точное значение в этом поле, а остальные предоставляют случайные значения».

В случае проблем с STS профильные эксперты и разработчики из Microsoft (неофициально) рекомендуют отключить эту функцию вручную.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Разрешить загрузки с других компьютеров windows 10 что это
  • Установка nginx php mysql windows
  • Как открыть файл rar на ноутбуке windows 10
  • Realtek alc897 driver windows 10
  • Как зайти в безопасный режим на windows 10 через клавиатуру