Время в Windows 7 меняется само по себе

Время в Windows 7 меняется само по себе

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

Что я прочитал/проверил

  1. Отключить/Включить синхронизацию времени в Интернете. Нет помощи.
  2. Отключить/Включить службу времени Windows. Нет помощи.
  3. Батарея CMOS разряжена. Нет, он не умер. Изменения времени также происходят, когда запущена Windows.
  4. Время вашего маршрутизатора/модема установлено неправильно и влияет на время Windows. Нет, это не так.
  5. Ваш часовой пояс настроен неправильно. Нет, это UTC+0 Лондон
  6. У вас двойная загрузка Hackintosh/Linux. На этом ПК работает не только Win 7.
  7. У вас каверзный разгон. У меня был высокий профиль разгона, но я пробовал работать на стандартных скоростях, но безрезультатно.
  8. Вирус/Троян. Я очень сомневаюсь. Это очень голая установка Windows для игр. Установлены только Windows и игры со Steam.

Обновлять

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

Обновление 2

Не знаю, как я пропустил эту деталь (и поможет ли она вообще), но время сбрасывается на «то» точное время. Это точное время является первым обновленным временем.

Пример:

  • Я включаю ПК, и через некоторое время он сбрасывается до (скажем) 09:33:27
  • а-) Я корректирую время, оставляю его на некоторое время, и оно возвращается к 09:33:27
  • б-) Я оставляю его включенным на некоторое время, и он сбрасывается на 09:33:27 через определенный период (очень случайный период, я не вижу здесь никакой закономерности, вроде ежечасно/каждые 17 минут или что-то еще)
  • Это происходит постоянно, независимо от того, меняю я время или нет.
  • После следующей загрузки (на следующий день?) он выбирает другое время для сброса настроек.

Подробнее

Вот скриншот из Event viewer, об изменении времени. Имейте в виду, что этот скриншот сделан, когда служба "Windows Time" отключена.

введите описание изображения здесь

Скриншот свойств события:

введите описание изображения здесь

Подробная страница того же мероприятия:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
  <Provider Name="Microsoft-Windows-Kernel-General" Guid="{A68CA8B7-004F-D7B6-A698-07E2DE0F1F5D}" /> 
  <EventID>1</EventID> 
  <Version>0</Version> 
  <Level>4</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x8000000000000010</Keywords> 
  <TimeCreated SystemTime="2014-01-25T09:38:34.500000000Z" /> 
  <EventRecordID>19280</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="4" ThreadID="64" /> 
  <Channel>System</Channel> 
  <Computer>slayer</Computer> 
  <Security UserID="S-1-5-18" /> 
</System>
<EventData>
  <Data Name="NewTime">2014-01-25T09:38:34.500000000Z</Data> 
  <Data Name="OldTime">2014-01-25T13:59:57.982183900Z</Data> 
</EventData>
</Event>

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

Есть идеи?

Обновление 3 Проблема и решение

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

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

Я понятия не имею, почему это не происходит в «Безопасном режиме», а успешный запуск Windows в безопасном режиме вывел меня на совершенно неправильный путь (поиск ошибки в программном обеспечении, а не в оборудовании). Источником ошибки был системный BIOS (или UEFI в моем случае), который вообще не запускался после системных POST и загрузок. Простой поиск в Google по этому вопросу, и, по-видимому, это действительно распространенная проблема с большинством плат UEFI (сам использую плату Asus-ROG).

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

Спасибо за все комментарии и извините за вводящую в заблуждение информацию о проблеме, но я оставлю всю информацию, размещенную выше, в надежде, что она пригодится кому-то еще.

решение1

Попробуйте эту команду:

bcdedit /set {current} useplatformclock yes

Я нашел его в Интернете, но ни один источник не доступен для меня. У меня была та же проблема в ночные часы, теперь - после этой команды - она ​​исчезла. Требуется перезагрузка системы.

решение2

Сомневаюсь, что это ответ на проблему этого пользователя, поскольку они исправили ее, как указано выше. Однако есть общая причина именно этих симптомов в системах с двойной загрузкой Windows/Linux: две ОС по-разному обращаются с часами CMOS и борются за установку часов так, как им хочется (Linux на UTC, переходя на летнее время и т. д. программно, Windows на местное время, поэтому программные и аппаратные часы одинаковы).

Этому есть простое решение: сказать одному из них использовать поведение другого по умолчанию.

Окна: Установите новый DWORD RealTimeIsUniversalна 1 в

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation

и убедитесь, что вы установили это из Центра обновления Windows: https://support.microsoft.com/en-us/kb/2922223

Линукс: установлен UTC=falseв/etc/sysconfig/clock

Разумеется, не стоит делать и то, и другое!

решение3

Существует два типа этой проблемы. Первый тип сбрасывает базовую дату и время, которые для большинства современных компьютеров — 2008 год. Даже при отключенной синхронизации времени в Интернете есть программное обеспечение, такое как Nero Burning ROM и MSinstall exec, которое пытается установить время для установки или запуска. Более старые версии dotnet также делают это, и некоторые игры устанавливают эти старые версии скрытыми в фоновом режиме. Недавняя установка более старой версии printshop сделала именно это. Я запустил tracemon, и он был отслежен до dotnet 1.x, который printshop установил внутренне.

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

Также существует взаимосвязь с SSL или защищенным интернет-сервером: если дата старше одного месяца (Windows 7 и 8), это также приведет к несанкционированному изменению времени и даты, а система безопасности Windows автоматически заблокируется и установит время и дату на минимальные значения по умолчанию для своей защиты.

Надеюсь, это поможет.

решение4

Проверьте значение часового пояса сервера. Оно должно быть time.windows.com.

Второй вариант — я бы посоветовал вам перезапустить службу времени Windows из services.msc.

Установлены ли на вашем компьютере сторонние приложения для часов? Если да, то удалите их.

Связанный контент