Windows 8报告错误的正常运行时间(可能是混合启动时间总计)


10

错误的正常运行时间

图中显示的上升时间为6天,1小时,34分钟,22秒。大约7分钟前,我打开了这台笔记本电脑。

我实际上认为,Windows 8报告了在Hybrid-Boot模式下的总运行时间。我如何获得真正的运行时间?另外,为什么Windows以这种方式报告?

有没有办法以GUI方式获得真正的正常运行时间(对于我的n00b朋友)?


更新:我禁用Hybrid-Boot并重新启动。它现在正确的正常运行时间。此外,完全关闭shutdown /s /t 0也有效。

更多解释,我的问题是如何获得实际的正常运行时间(从我们启动系统的时间开始),即使Hybrid-Boot已启用?可能在没有任何外部程序的Windows库存,但没有必要。


对此有何解释?


1
你能用“真正的时间”澄清你的意思吗?你在7分钟前做了什么?
David Schwartz 2013年

实时时间表示从打开系统开始的实际时间。(这就是我7分钟前所做的,打开笔记本电脑!)
Akshat Mittal

8
正常运行时间的传统定义是自内核初始化以来计算机一直运行的时间。由于混合启动只是一种特殊类型的挂起(以前暂停到RAM和Hibernate),因此不会将其视为“关闭”,因为使用了相同的Windows内核实例。
allquixotic 2013年

@allquixotic True,这就是为什么我认为这将是Hybrid-Boot的时间。
Akshat Mittal 2013年

我猜你实际上没有得到这个问题。我想问一下即使启用了Hybrid-Boot,如何获得实际的正常运行时间。我正在更新这个问题。
Akshat Mittal 2013年

Answers:


4

您希望获得一个开箱即用的解决方案,以便在上次混合关闭/快速启动发生后查找机器的正常运行时间,对吗?

您可以使用PowerShell从EventLog获取此信息(由@allquixotic提供),如下所示:

PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))

要将powershell命令嵌入到Windows shell脚本中,您可以执行以下操作:

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))

Howerver,为了让这个开箱即用,您可以将其设置为这样的永久环境变量:

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%会告诉你自从PC恢复睡眠以来已经过的时间。

因此,这里是:

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恢复执行后经过的时间(从睡眠模式返回后)。

注意:如果系统之间没有睡眠,则两次都是相同的。


这对我来说似乎是一个很好的解决方案。
Akshat Mittal 2013年

4

取自这里

检查Windows事件日志。

  1. Windows Key+r

  2. 在框中输入, %windir%\system32\eventvwr.msc /s

  3. 点击右侧的“创建自定义视图...”。

  4. 设置如下设置: 电源故障排除

  5. 单击确定

  6. 出现提示时,为自定义视图指定一个名称(这可以是您想要的任何名称)

  7. 它将显示恢复时间列表


好的,很好。它有点像我想要的。如果我是n00b怎么办?它只是不合适。此外,它导致上次恢复时间,因为我需要从当前时间减去它。有没有直接的方法来准备工作时间,也许在命令行?我在投票,但不接受。
Akshat Mittal 2013年

这款AFAIK没有缩水解决方案。你必须写一个程序。也许会....
allquixotic 2013年

好吧,我稍后会尝试。
Akshat Mittal 2013年

1

您应该禁用Hybrid-Boot并重新启动。它应该显示正确的正常运行时间。此外,完全关闭shutdown /s /t 0也有效。


这正是我在更新中
Akshat Mittal 2013年

@AkshatMittal是的,但我想你想接受一个答案:)
Kruug 2013年

没有。-_-问题是“如何以GUI形式获得真正的正常运行时间?”
Akshat Mittal 2013年

好吧,首先你必须禁用你的Hybrid-Boot正常运行时间从内核初始化开始算起。这是唯一的方法。
Kruug 2013年

唯一的办法,当然可以吗?
Akshat Mittal 2013年

0

当您使用时,这也发生在旧版本(XP,Vista,7)中hibernation。只有当你这样做时,才会重置时间full boot,但Win8快速启动不再是完全启动。它是将用户注销+休眠的组合。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.