系统自动关机怎么处理(电脑总是自动关机?这 2 条命令帮你轻松)

100次浏览     发布时间:2025-01-28 00:33:06    


即使现在的系统相比 20 年前已经稳定了很多了,使用电脑时也难免会遇到蓝屏、意外重启、甚至是意外关机的情况。尽管这种问题可能只是偶然发生,可以说是不太走运;但更多的时候放着不管,反而会让电脑的问题出现得越来越频繁。

一个蓝屏小「贴士」

所以,这篇文章就旨在帮助大家快速找到让电脑不能正常工作的罪魁祸首,虽然不一定能「药到病除」,但也能让你离正确答案更近一步。

▍macOS

尽管 macOS 是 Apple 为 Mac 产品线定制的操作系统,但实际上出现问题的机会还是很多的。虽然在 macOS 中我们可以通过控制台获取日志信息,但从 macOS Sierra 及更高版本开始,考虑到安全和隐私问题,控制台只允许访问最近的日志条目,而不是整个日志文件。

所以想要分析日志中所有和关机有关的事件,就需要通过「终端」和相应的指令进行分析。如果你的 Mac 近期出现了意外重启等问题,不妨跟着下面的步骤试一试,打开「终端」,并输入如下指令:

log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 24h

上面这一串指令会使用 log show 检索系统日志,predicate 可以进一步筛选日志,在本文中我们筛选的日志类型是 eventMessage 中包含 Previous shutdown cause(此前关机的原因)的信息,而筛选的时间范围 --last 24h 则是过去 24 小时,如果有必要的话可以扩展到 36 小时甚至更长。

来自作者群的一个朋友

静静等待一段,你就能看到如上图一样的、将日志筛选后到结果,我们需要注意的信息就是Previous shutdown cause后续跟随的数字,这个数字代表着 Mac 电脑上次是因为什么原因而关闭的。

总的来说,负数的代码通常是因硬件而关机的,该信息由系统管理控制器(SMC)或处理器本身报告;而正数因软件而关机的。以下是每个代码所包含的含义:

如果你的 Mac 出现大量因为 0(断电)导致的意外关闭,那么就需要进行一定的排查。对于没有电池的台式 Mac 而言,主要检查的就是电源线有没有牢牢插入到电源接口中;如果依然出现这样的问题则很有可能是计算机内的电源出现了问题,需要进行维修。

对于有电池的笔记本型 Mac 而言,需要同时检查电源线和电池;笔记本型 Mac 通常会在电池耗尽之前进入休眠状态;出现断电而导致的关机很有可能是电池或读取电量的电池控制器有硬件问题,对于 Intel 款 Mac 而言需要根据官方文档重置 smc,而 M 系列 Mac 需要手动重启一次。如果上述步骤依然不起作用的话,也需要进行维修。

长时间未响应可能会让整个系统崩溃,严重时还会导致相关数据丢失。定时器超时作为 macOS 中一项功能,它可以有效防止未响应的程序导致的内核崩溃。

偶然发生的 -61/-62 错误可能没什么问题,但短时间内出现大量的类似错误就要对电脑进行排查了;-61 表示系统认为不能自动恢复的情况只能进行关机,而 -62 用于系统确定重启后可能解决的情况并进行重启。

排查的办法很简单,在 macOS 启动时进入安全模式,在安全模式下启动项目和守护程序都被禁用;如果没有再次意外关机则是最近安装或更新的程序出现了问题,如果再次意外关机则和系统本身有关。

以上就是 macOS 的部分了,相信这个指令可以简单帮你定位问题,并为你后续的问题解决打下一个不错的基础。

▍Windows

除了 macOS,Windows 系统日志同样可以在时间查看器中查看并进行筛选,但考虑界面相对「复古」且用于筛选的 UI 选项更为复杂,因此我也更推荐大家使用命令行工具获取和筛选日志。

有的时候用 UI 界面反而会让一件事情变得更复杂

如果你的 PC 电脑近期出现了意外重启等问题,不妨跟着下面的步骤试一试:

# 命令 1Get-Eventlog -LogName System -Source "User32" | group EventID# 命令 2Get-EventLog -LogName System -Source "
Microsoft-Windows-Kernel-Power" | Where-Object { $_.EventID -eq 41 }

Get-EventLog 是 Windows 中获取日志的命令,-LogName System 则限定了查找由系统生成的命令。-Source 则是来源,User32 和
Microsoft-Windows-Kernel-Power 则是两个不同的来源。

从用户或程序层面进行分析

User32 是一个 Windows 系统应用程序源,它包含了许多与用户界面相关的函数,如窗口创建、消息处理、控件操作等等;它还会负责处理用户交互方面的任务,例如鼠标、键盘输入和窗口管理等。

因此由用户或是程序发起的事件,如登录、注销、锁定或解锁计算机等,都可以通过 User32 来源来定位。而后 | 用于进一步处理 Get-EventLog 得到的数据,这里按照 EventID 事件 ID 来group 成组。

目前我电脑中只有 1074 这个事件,这个 1074 事件是计算机的正常关机的主要表现形式。如果 User32 有其他的 EventID 那么用下面的命令进一步分析:

# 本例中依然用 1074 做分析 Get-Eventlog -LogName System -Source "User32"-Newest 1 | Where-Object { $_.EventID -eq 1074} | fl *

前面的命令就不再赘述了,-Newest 1 表示选取最近的一个日志, | 用于进一步筛选 Get-EventLog 得到的数据。Where-Object 表示筛选一个对象数组,$_ 表示当前处理的对象(也就是 | 传递过来的数据 ),.EventID 表示对象的 EventID 属性,-eq 是一个比较运算符,表示等于,这里等于的 1074 这个事件。| 依然是用于进一步处理 Where-Object 得到的数据,由 fl(也可以用完整写法 Format-List 替代)格式化输出对象的 * 所有属性。

找到其中的Reason Code: 0x80020010可以得知这是一个计划内的关机请求,如果不是服务器的话,这一般由 Windows Update 自动更新发起;而由用户发起的关机则会被标识为 0x0。以下是常见的 Reason Code 所表示的含义:

蓝屏问题导致关机或重启,还可以进一步下方的命令进行分析。

从电源管理相关的事件入手进行分析

不过很多意外关机的事件,比如蓝屏导致的,无法被 User32 捕获,因此从
Microsoft-Windows-Kernel-Power 获取电源状态、电源事件以及与电源管理相关的错误和警告信息得到更多的信息。

Get-EventLog -LogName System -Source "Microsoft-Windows-Kernel-Power" | Where-Object { $_.EventID -eq 41 }

代码中相似的内容不再赘述,在
Microsoft-Windows-Kernel-Power和意外关机有关的 EventID 是 41,这个事件通常是在意外关机后重启的阶段中生成的。输入上面的命令以后,Powershell 会输出一段包含十进制 BugcheckCode 的内容,首先需要将它转换为十六进制,以做进一步分析。

如 159 等同于 0x0000009f,209 等同于 0x000000d1 等等,转换后的十六进制就可以得到最终的含义了。BugcheckCode 内容也和蓝屏时输出的错误码是相同的内容,有的时候蓝屏代码一跳而过,所以这也是找到问题的好办法。以下是常见的错误的代码以及含义 :

由于错误码的种类繁多,因此这里不太可能一一列举。另外还需要注意的是,同一个错误可能会有不同的原因而导致,排查时可以从近期的软件改动入手去寻找电脑意外关机的原因,排查完软件以后才是排查硬件的真正时机。

关于 Powershell 7 使用中的一些细节

值得注意的是,Get-EventLog 只能使用 Windows 内的 Powershell 运行;Powershell 7 中因为相关 API 已被弃用,会提示无效指令,因此需要换用Get-WinEvent命令:

#命令 1Get-WinEvent -ProviderName 'User32' | group EventID#命令 2Get-WinEvent -ProviderName "
Microsoft-Windows-Kernel-Power" | Where-Object { $_.EventID -eq 41}#命令 2 改进版Get-WinEvent -FilterHashtable @{ProviderName = "
Microsoft-Windows-Kernel-Power"; Id = 41}

Get-WinEvent 是 Powershell 7 中获取 Windows 日志的新命令,不同于此前的 Get-EventLog 能同时筛选具体的事件日志 -LogName 和事件源 -Source;Get-WinEvent在使用时只能在筛选事件日志 -Logname 和事件源 -ProviderName 中二选一。Get-WinEvent 还 可以使用一个新的写法 -FilterHashtable,降低命令长度的同时提高索引效率。

相关推荐

  • 妻子想找男闺蜜,我把他变成了真的闺蜜林晚张嫣张扬小说阅读 妻子想找男闺蜜,我把他变成了真的闺蜜文本在线阅读
    妻子娇嗔着对我说,公司新来的实习生助理,想当她的“男闺蜜”。她还调皮地问我介不介意。我笑了。闺蜜啊?男闺蜜我接受不了,但真闺蜜……我可以免费帮他安排。今晚,就给他来个免费升级。【第1章】“对了,老公,我们公司新来了一个实习生助理。”妻子林晚的声音带着一丝雀跃,她从背后抱住我,下巴搁在我的肩膀上。我正在抚摸她长发的手顿了顿,从鼻腔里发出一
    2026-08-10 21:06:54
  • 熬夜也要看完的直播解密局,我成了国家最好用的嘴小说推荐 林祁陆沉舟小说精彩章节在线阅读
    1十万粉小主播,预测精准到违倍概率2024年,秋。燕城的晚风裹着梧桐叶的碎影,吹进五环外一间不到四十平米的出租屋。林祁摘下架在鼻梁上的黑框眼镜,揉了揉酸涩的眼睛,盯着电脑屏幕上跳动的直播数据,嘴角扯出一抹自嘲的笑。他今年二十九岁,身高一米七八,身形清瘦,眉眼温和,是丢在人群里三秒就会被淹没的普通社畜。三个月前,他所在的互联网内容公司大规
    2026-08-10 21:06:08
  • 《明莺谈清越》跟他离婚,跟我结!章节目录在线阅读 第10章
    甲方是大爷。控制甲方的投资人是太爷。为了能顺利签下合同,明莺只能答应先陪谈清越去吃饭。谈清越带她去了一家私房菜馆,两人一到就有经理过来迎接,径直带他们去包厢。谈清越问:“吃点?”明莺摇头。谈清越随便点了几道菜,听见香菇时,明莺下意识问:“你不是不吃香菇?”经理疑惑:“谈先生很喜欢这道菜,每次来都
    2026-08-10 21:03:34
  • 《赶走前妻后,神豪系统助我都市称王》小说完结版免费试读 苏夜孙桂芳小说全文
    昏暗交错的楼道灯光下,沈雨婷微微仰着头,看清了眼前这张男人的脸。“小……小夜?”沈雨婷那双秋水般温柔的眸子里,闪过一丝难以掩饰的错愕与慌乱。她当然认识苏夜,这个住在自己楼下的年轻租客,平时总是沉默寡言,看起来唯唯诺诺的,连跟邻居打招呼都低着头。可现在的苏夜,却让她感到一种莫名的陌生。男人的眼神不再是以前那种被生活压垮的空洞
    2026-08-10 21:02:03
  • 感悟贺屿的莫名账户之美:莫名账户最新篇章,免费限定!
    《 莫名账户 》完结版在线精彩阅读,小说主角是 贺屿 ,这是贺屿最新打造的现代言情书籍。本书语言朴实,意味悠长,发人深思,实力推荐。贺屿小说的主要内容是:弟弟读研三年,我每月给他打5千。爸妈走得早,我做姐姐的把他拉扯大,砸锅卖铁也没让他受过委屈。他很少联系我,我以为是忙。直到我看到他的导师在朋友圈发了张照片。食堂里,我弟弟坐在角落,啃自己带的冷饭。导师配文:这孩子家里困难,但从不叫苦。我心脏
    2026-08-10 21:01:23
  • 未婚夫逼我替庶妹嫁老男人为妾,我成了国母全本免费小说_沈慕白肖云晴最新篇章
    《未婚夫逼我替庶妹嫁老男人为妾,我成了g m》小说主要是围绕着沈慕白肖云晴的故事展开,是作者肖云晴精心打磨的古代言情书籍,它的内容语言朴实,行云流水,结尾画龙点睛。沈慕白肖云晴小说精彩内容分享:老男人让她当妾,庶妹说妾狗都不当。未婚夫便换了我们的花轿。“你先替瑶儿嫁过去。”“反正老男人碰不了你的身子。”“一个月后我再接你回来。”我正要一脚踹飞他,眼前飘过弹幕。【男主好样的,等女主宝宝成了正妻
    2026-08-10 21:00:13