
Как следует из названия, время в Windows постоянно меняется в случайное время и на случайные значения. Иногда это происходит каждую минуту, иногда это длится часами. Если я нажимаю «синхронизировать с интернет-временем», оно обновляется до правильного времени.
Что я прочитал/проверил
- Отключить/Включить синхронизацию времени в Интернете. Нет помощи.
- Отключить/Включить службу времени Windows. Нет помощи.
- Батарея CMOS разряжена. Нет, он не умер. Изменения времени также происходят, когда запущена Windows.
- Время вашего маршрутизатора/модема установлено неправильно и влияет на время Windows. Нет, это не так.
- Ваш часовой пояс настроен неправильно. Нет, это UTC+0 Лондон
- У вас двойная загрузка Hackintosh/Linux. На этом ПК работает не только Win 7.
- У вас каверзный разгон. У меня был высокий профиль разгона, но я пробовал работать на стандартных скоростях, но безрезультатно.
- Вирус/Троян. Я очень сомневаюсь. Это очень голая установка 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.
Установлены ли на вашем компьютере сторонние приложения для часов? Если да, то удалите их.