惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
一日一技 | 重启试试不是长久之计,两条命令帮你排查意外关机成因 - 少数派
2023-03-06 · via 少数派

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

一个蓝屏小「贴士」

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

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)2或处理器本身3报告;而正数因软件而关机的。以下是每个代码所包含的含义:

数字解释解决方案
5正常关机由用户或命令发起的关机,没有问题
3硬关机因电源按钮关机
如果不是由你按下的话,需要检查电源按钮
0断电因断电导致的关机,具体参见下文
-3多个温度传感器温度过高安装可以获取传感器温度度数的软件,
检查具体传感器的问题,并在必要的
情况下向 Apple 申请维修。
-14瞬态尖峰或浪涌Mac Pro 上内置电源的问题,可能需要售后
-20T2 芯片关机由 T2 芯片或 BridgeOS 引起的关机
反复出现需要进行售后
-60损坏的主目录区块备份你的数据,擦除磁盘并重新安装 macOS
在重新安装前可能会有数据丢失的风险
-61/-62定时器监测到未响应
的程序并关闭/重启系统
在未响应的程序导致内核崩溃之前,
强行重启计算机,具体参见下文
-65未知重装 macOS 大概率解决
-71内存模块过热对于台式机:更换内存,确认是否是硬件问题
对于笔记本:检查温度、风扇和传感器
通用:清理风扇和气道,寻求售后
-74电池温度过高重置 smc
检查电池硬件是否正常,或寻求售后
-75无法连接 AC 适配器检查插头、适配器、线缆和硬件接口
-78AC 适配器回报错误的电流检查插头、适配器、线缆和硬件接口
-79电池回报错误的电流检查电池、检查电池是否连接到主板
-85芯片温度过高检查 CPU、GPU、SoC 的散热系统或风扇
-95CPU 温度过高检查 CPU 散热或风扇、重置 smc
-100电源温度过高检查风扇或气流、移除外接电源
-102电压过高电压过高导致关机保护,检查电源或电池
-103电池欠压检查电池,或更换电池
-104未知可能与电池有关,检查电池,或更换电池
-108/-112/-128未知可能与内存有关,检查内存,或更换内存

如果你的 Mac 出现大量因为 0(断电)导致的意外关闭,那么就需要进行一定的排查。对于没有电池的台式 Mac 而言,主要检查的就是电源线有没有牢牢插入到电源接口中;如果依然出现这样的问题则很有可能是计算机内的电源出现了问题,需要进行维修。对于有电池的笔记本型 Mac 而言,需要同时检查电源线和电池;笔记本型 Mac 通常会在电池耗尽之前进入休眠状态;出现断电而导致的关机很有可能是电池或读取电量的电池控制器有硬件问题,对于 Intel 款 Mac 而言需要根据官方文档重置 smc,而 M 系列 Mac 需要手动重启一次。如果上述步骤依然不起作用的话,也需要进行维修。

长时间未响应可能会让整个系统崩溃,严重时还会导致相关数据丢失。定时器超时作为 macOS 中一项功能,它可以有效防止未响应的程序导致的内核崩溃。偶然发生的 -61/-62 错误可能没什么问题,但短时间内出现大量的类似错误就要对电脑进行排查了;-61 表示系统认为不能自动恢复的情况只能进行关机,而 -62 用于系统确定重启后可能解决的情况并进行重启。排查的办法很简单,在 macOS 启动时进入安全模式,在安全模式下启动项目和守护程序都被禁用;如果没有再次意外关机则是最近安装或更新的程序出现了问题,如果再次意外关机则和系统本身有关。

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

Windows

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

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

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

# 命令 1
Get-Eventlog -LogName System -Source "User32" | group EventID

# 命令 2
Get-EventLog System 41 -Source Microsoft-Windows-Kernel-Power -Newest 5 | % {'{0} BugCheckCode: {1:X}' -f $_.TimeGenerated,$_.ReplacementStrings[0] }

Get-EventLog 是 Windows 中获取日志的命令,-LogName System 则限定了查找由系统生成的命令。-Source 则是来源,User32Microsoft-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 所表示的含义,完整列表可以参见这里

含义
0x00040000/0x00030000应用/软件问题导致关机/重启
0x00010000硬件问题导致关机/重启
0x00020000操作系统问题导致关机/重启
0x00060000电源问题导致的关机
0x00050000系统(通常指的是 UEFI)问题导致关机/重启
0x0000000F蓝屏问题导致关机/重启
0x0000000b电源断开导致的关机
0x00000007硬盘问题导致关机/重启
0x0000000d驱动问题导致关机/重启
0x00000005系统长时间无响应导致关机/重启

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

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

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

Get-EventLog System 41 -Source Microsoft-Windows-Kernel-Power -Newest 5 | % {'{0} BugCheckCode: {1:X}' -f $_.TimeGenerated,$_.ReplacementStrings[0] }

代码中相似的内容不再赘述,在Microsoft-Windows-Kernel-Power和意外关机有关的 EventID 是 41,这个事件通常是在意外关机后重启的阶段中生成的。只不过我们这里可以用查找BugcheckCode有关的内容做更高效的筛选。-Newest 5筛选最近的 5 个事件, | 用于进一步筛选 Get-EventLog 得到的数据。% 在 PowerShell 中是 ForEach-Object cmdlet 命令的缩写,该命令会对前面得到的数据挨个操作。

ForEach-Object cmdlet 命令中,我们利用 -f 格式化 $_ 表示当前处理的对象(也就是 | 传递过来的数据 )中的 TimeGenerated 时间属性和 ReplacementStrings 属性。只不过 ReplacementStrings 属性是为了读者方便使用,我们将十进制的 BugcheckCode 直接转化为了下面表格对应的十六进制的值。

简单来说,输入上面的命令以后,Powershell 会输出 5 个与Microsoft-Windows-Kernel-Power有关的意外关机事件,每个事件都包括事件和对应的十六进制 BugcheckCode 的内容。

BugcheckCode 内容也和蓝屏时输出的错误码是相同的内容,有的时候蓝屏代码一跳而过,所以这也是找到问题的好办法。以下是常见的错误的代码以及含义,完整列表请看这里

代码名称含义
0x0000009fDRIVER_POWER_STATE_FAILURE驱动程序所请求的电源状态不一致
需要降级或更换驱动
0x000000d1DRIVER_IRQL_NOT_LESS_OR_EQUAL驱动程序试图访问可分页内存,但中断太多
需要降级或更换驱动
0x00000024NTFS_FILE_SYSTEMNTFS 文件系统出现问题,检查文件系统
或者更换硬盘
0x000000f3DISORDERLY_SHUTDOWN由于内存不足而无法关机
检查内存或添加更多的内存
0x0000001aMEMORY_MANAGEMENT内存问题
内存接触不良,或是其他内存问题
0x00000034CACHE_MANAGER文件系统的缓存管理器问题
重装电脑,或者加大非分页池内存
0x000000EFCRITICAL_PROCESS_DIED关键系统进程已终止
需要修复系统,或者重装系统

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

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

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

# 命令 1
Get-WinEvent -ProviderName 'User32' | group EventID

# 命令 2
Get-WinEvent -FilterHashtable @{ProviderName = "Microsoft-Windows-Kernel-Power"; Id = 41} -MaxEvents 5 | % {'{0} BugCheckCode: {1:X}' -f $_.TimeCreated,$_.Properties.value[0] }

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

以上就是本文的全部内容了,希望可以在未来帮助到你。