Windows 8 сообщает НЕПРАВИЛЬНОЕ время безотказной работы (возможно, общее время безотказной работы гибридной загрузки)
Время работы, показанное на рисунке, составляет 6 дней, 1 час, 34 минуты, 22 секунды. Я включил этот ноутбук около 7 минут назад.
Я действительно думаю, что Windows 8 сообщает об общем времени работы в режиме гибридной загрузки. Как я могу получить реальное время? Кроме того, почему Windows сообщает об этом таким образом?
Есть ли способ получить реальное время в графическом интерфейсе (для моего друга n00b)??
ОБНОВЛЕНИЕ: я отключил гибридную загрузку и перезагрузился. Это теперь приводит к правильному времени безотказной работы. Кроме того, делая полное отключение с
shutdown /s /t 0
тоже работает. Немного больше объяснений. Мой вопрос заключается в том, как получить фактическое время работы (время, когда мы включили систему), даже если включена гибридная загрузка? Возможно в наличии Windows без какой-либо внешней программы, хотя и не обязательно.
Любое объяснение этому?
4 ответа
Вы хотите получить готовое решение для определения времени безотказной работы вашей машины с момента последнего гибридного выключения / быстрого запуска, верно?
Вы можете получить эту информацию (предоставленную @allquixotic) из EventLog, используя PowerShell следующим образом:
PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))
Чтобы встроить команду powershell в сценарий оболочки Windows, вы можете сделать следующее:
c:\> powershell.exe -nologo -command Write-Host $('Time since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source \"Microsoft-Windows-Power-Troubleshooter\" -Newest 1).TimeGenerated))
Однако, чтобы заставить это работать из коробки, вы можете вместо этого установить его в постоянную переменную среды:
c:\> setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated))"
Таким образом, вы можете заставить его работать, открыв cmd
Окно и делать:
c:\> %HardwareUpTime%
ОБНОВИТЬ:
Я только сегодня обнаружил, что при использовании вышеуказанной записи в журнале событий также будет учитываться "спящий режим" или режим ожидания, поэтому запуск %HardwareUpTime%
сообщит вам время, прошедшее с того момента, как компьютер возобновил режим сна, если вы позволите ему это сделать.
Поэтому вот оно:
setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"
Я немного изменил команду, чтобы она была более понятной и дала вам обе части информации:
Прошедшее время с момента загрузки Windows (после гибридного выключения, полного выключения или простой перезагрузки или гибернации).
Прошедшее время с момента возобновления выполнения Windows (после возврата из спящего режима).
ПРИМЕЧАНИЕ. Если система не находилась в режиме ожидания, оба раза будут одинаковыми.
Взято отсюда:
Проверьте журнал событий Windows.
Нажмите клавишу Windows+R
Введите в поле,
%windir%\system32\eventvwr.msc /s
Нажмите "Создать пользовательский вид..." с правой стороны.
Установите настройки следующим образом:
Нажмите ОК
При появлении запроса укажите имя для пользовательского представления (это может быть все, что вы захотите)
Будет отображаться список времени возобновления
Вы должны отключить гибридную загрузку и перезагрузиться. Должно отображаться правильное время работы. Кроме того, делая полное отключение с shutdown /s /t 0
тоже работает.
Это также происходит в более старой версии (XP, Vista,7), когда вы используете hibernation
, Время сбрасывается только тогда, когда вы делаете full boot
, но быстрый запуск Win8 больше не является полной загрузкой. Это комбинация входа пользователя в систему + гибернация.