怎么查看系统启动时间

系统问题

“系统启动时间”这句话,不同人问出来的意思往往不是一回事。有人想知道电脑这次开了多久,有人要的是精确到秒的那次开机时刻,还有人想翻出最近几天的开机记录,看看机器是不是半夜被人动过。

三种需求对应三条路。想查看系统启动时间,先搞清楚自己问的是哪一件事,再挑工具,能省不少来回折腾的功夫。

任务管理器里瞄一眼就够了

这是最快的方式,不用敲任何命令,两秒钟的事。

按 Ctrl+Shift+Esc 打开任务管理器。Win11 里左边一列图标中选“性能”,再点“CPU”;Win10 则是先切到“性能”标签页,然后左边选 CPU。

视线往右下角挪,有个 正常运行时间,格式是 天:小时:分钟:秒。这个数字代表本次开机以来系统跑了多久。

想要具体到几点几分,把鼠标停在这个数字上别动,会弹出一个小提示,写着完整的启动日期和时间。Win10 和 Win11 都有这个隐藏细节,不少人用了好几年都没发现。

Windows 任务管理器“性能”标签页选中 CPU

命令行能拿到精确到秒的结果

任务管理器显示的是运行时长,启动时刻得靠悬停才能看到,复制不了。要能贴进文档、能存档的时间点,还是得走命令行。

按 Win+R 输入 powershell 回车,或者右键开始按钮选“终端”,然后执行:

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime

输出大致长这样:2026年6月10日 星期二 8:12:03。想要更规整的格式,可以接一句格式化:

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime.ToString("yyyy-MM-dd HH:mm:ss")

如果只想要一个“开了多久”的结果,用这条更直接:

(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime

返回的是 TimeSpan(时间跨度对象,专门用来表示一段时长),从天数到毫秒全都给你列出来。

 PowerShell 窗口执行 Get-CimInstance Win32_OperatingSystem 查询 LastBootUpTime 并输出日期时间

老系统上还能用的 wmic

早些年大家习惯用这条:

wmic os get lastbootuptime

输出是一串数字,像 20260610081203.500000+480,前面 14 位就是年月日时分秒,最后的 +480 是时区偏移分钟数,看着累但能用。

麻烦在于 Win11 24H2 之后,微软把 wmic 从系统里移除了,输入会直接提示找不到命令。旧机器还能凑合,新机器就别指望了,换成 PowerShell 那条更稳。

CMD 里也有一条

systeminfo | findstr /C:"系统启动时间"

systeminfo 本身是个重型命令,跑一遍要十几二十秒,所以后面挂个 findstr 只挑那一行,别让整屏信息刷过去。真要说效率,它比 PowerShell 慢得多,胜在不用记属性名。

想翻开机历史,只有事件查看器干得了

前面两种方式都只能告诉你最近这一次,再往前就查不到了。要确认“这台电脑这周到底开过几次机”,得去事件查看器。

按 Win+R 输入 eventvwr.msc 回车。左边依次展开“Windows 日志” → “系统”,然后在右侧点“筛选当前日志”。

在“<所有事件 ID>”那一栏里填 6005,确定。

6005 这条事件的含义是“事件日志服务已启动”,每次系统开机都会写一条,时间戳就是那一次的启动时刻。列表往下一拉,一条条开机记录清清楚楚。

事件查看器“筛选当前日志”对话框

想连关机时间一起对照,把 ID 改成 6005,6006。6006 对应“事件日志服务已停止”,也就是关机那一刻。

再加个 6013 也可以,这条每天写一次,内容是系统从上次启动到现在的运行秒数。核对运行时长的时候,它比任务管理器多一层保险。

几种查法摆在一起看

方式 入口 能看到什么 耗时
任务管理器 Ctrl+Shift+Esc 运行时长,悬停可见启动时刻 秒开
PowerShell Win+R → powershell 精确到秒的启动时间点、运行时长 2~3 秒
systeminfo CMD 启动时间点 十几秒
wmic CMD 启动时间点,新系统已移除 秒开
事件查看器 eventvwr.msc 历次开机、关机记录 5 秒左右

为什么几种方式算出来的时间对不上

这个坑值得单独拎出来说。同一台机器,任务管理器显示运行了 3 小时,PowerShell 却告诉你上次启动是昨天下午,这事真会发生,而且不是谁算错了。

头一个原因是快速启动。Win8 之后默认开启的一项机制:关机的时候系统并没有真正断电关停,而是把内核会话写进 hiberfil.sys(休眠文件,存在系统盘根目录的一个大文件),下次开机直接从里面恢复。对系统来说这更像一次休眠唤醒,不算完整的冷启动。有些工具会把这次恢复算作上一次启动的延续,时间点自然就往前挪了。

另一个原因是统计口径。任务管理器的正常运行时间不把睡眠时段算进去,而 LastBootUpTime 只认系统启动那一刻。笔记本合盖睡了 8 小时再掀开,两个数字能差出整整 8 小时。

所以自己心里认准一个工具就行,别今天看这个明天看那个,越比越糊涂。要留证据、要写记录,PowerShell 那条命令最靠谱。

Linux 和 macOS 上怎么查

这两类系统基本没有像样的图形入口,命令反而更干脆。

Linux 上常备的几条:

  • uptime -s:直接输出启动时刻,格式是 2026-06-10 08:12:03
  • uptime -p:用人话告诉你运行了多久,比如 up 3 hours, 12 minutes
  • who -b:输出系统启动时间,老发行版也能用
  • last reboot:翻历次重启记录,作用相当于 Windows 的事件查看器

macOS 上:

  • uptime:显示运行时长和平均负载
  • sysctl -n kern.boottime:返回内核启动时间戳,后面跟着可读的日期,形如 { sec = 1750000000, usec = 0 } Tue Jun 10 08:12:03 2026

这些命令查的都是同一次启动的时间点,逻辑和 Windows 那边的 LastBootUpTime 一致,只是换了平台换了壳。

日常随手看一眼,任务管理器最省事;要写进工单或者排查异常重启,PowerShell 一行命令加事件查看器就够了。工具不复杂,搞清楚自己要的是时刻还是时长,剩下的就是点几下的事。

操作系统种类多样、版本繁杂,本文内容可能无法完全匹配你的具体环境,不保证完全正确或普遍适用,仅供操作参考。