Mac 内核崩溃与随机重启(macOS Tahoe 26.5):读取崩溃日志并修复

macOSTahoe ·
Mac 内核崩溃与随机重启(macOS Tahoe 26.5):读取崩溃日志并修复

Mac 在 macOS Tahoe 26.5 上发生内核崩溃或随机重启?读取崩溃日志,修复刷新率、内核扩展、睡眠唤醒及外设引发的问题。

你正在文档里敲字,或者渲染时间轴,或者只是在浏览网页,屏幕突然一黑。几秒钟后,Mac 停在了登录窗口,弹出一条对话框:「您的电脑因出现问题而重新启动。」这就是内核崩溃(kernel panic)。在 macOS Tahoe 26.5 上,它已成为支持论坛和开发者社区中「整台机器直接宕机」投诉最多的问题之一。内核崩溃不是应用程序崩溃——它是操作系统内核判断继续运行不安全,因此强制停止一切并重启。

好消息是,Mac 内核崩溃几乎总会留下指纹:一份崩溃报告。报告中埋藏着 panicString、回溯栈(backtrace)以及崩溃发生时内存中已加载的内核扩展列表。一旦你能读懂这三项内容,就能告别猜测,开始真正诊断。本指南围绕这项技能构建。我们将逐行解读一份真实的崩溃报告,然后沿决策树定位 Tahoe 26.5 最常见的触发原因——外接显示器刷新率过高、内核和系统扩展、带外设的睡眠/唤醒失败、Apple 在 26.5 版本中已确认的硬件问题,以及系统状态损坏。

macOS Tahoe 26.5 于 2026-05-11 发布,和每个小版本更新一样,它修复了一些问题,同时也暴露了另一些。Apple 的企业发布说明确认了影响 M5 MacBook Air 和 M5 Pro/Max 机型的重启修复、导致重启的内容过滤网络扩展,以及更新后黑屏的问题。这一背景很重要,因为它说明 Apple 清楚当前这一代系统存在内核级稳定性回退。但并非每次崩溃都是 Apple 的 bug——许多是由第三方显示器刷新率过高、旧版 VPN kext 或有问题的 Thunderbolt 集线器引起的。崩溃日志正是用来判断哪种情况的工具。

核心要点

  • 内核崩溃是由操作系统内核触发的全系统重启,而非应用崩溃——它始终会将崩溃报告写入 /Library/Logs/DiagnosticReports/,其中注明了可能的原因。
  • 优先读取三个字段:panicString(人类可读的崩溃原因)、backtrace(正在运行的进程/驱动)以及 「Kernel Extensions in backtrace」(涉及的第三方驱动)。
  • 在 Tahoe 26.5 上最干净、社区验证最充分的修复方案是将第三方外接显示器从 120/144/240 Hz 降至 60 Hz——Mac Studio 和 Mac mini 上的高刷新率 GPU/显示器崩溃极为普遍,降低刷新率后立即解决。
  • 使用 kmutil showloaded 和 systemextensionsctl list 审计内核和系统扩展,然后启动 Safe Mode 以验证第三方扩展是否是触发因素;VPN、杀毒软件和虚拟化工具是常见嫌疑对象。
  • Apple 在 26.5 中确认修复了 M5 MacBook Air / M5 Pro & Max 的重启问题、内容过滤扩展导致的重启,以及更新后黑屏问题;其余崩溃由社区报告并提供变通方案,建议先完整更新,再系统排查,而非直接判断为硬件故障。

内核崩溃 vs 应用崩溃 vs 卡死:搞清楚你遇到的是哪种情况

在打开任何日志之前,先弄清楚术语,因为三种情况的修复路径完全不同。

内核崩溃是 XNU 内核内部的故障——macOS 最底层的那一层,直接与 CPU、GPU、内存控制器和驱动程序通信。当内核遭遇无法安全恢复的状态(驱动中的非法内存访问、硬件故障、关键路径上的死锁),它会主动停止整个系统并重启。标志性表现是重启后的对话框:「您的电脑因出现问题而重新启动。请按任意键或等待几秒钟以继续启动。」 在较旧或 Intel Mac 上,你可能会短暂看到一个暗色屏幕,显示多语言的「您需要重新启动电脑。请按住电源按钮……」。无论哪种,整台机器都宕机了,而不只是某个应用。

应用崩溃是单个进程意外退出。macOS 其余部分正常运行,你会收到「[应用] 意外退出」的对话框,带有「重新打开」和「报告」按钮,其他一切可以继续使用。应用崩溃也会写入 .crash 或 .ips 报告,但仅限于单个进程。如果你的 Safari 标签页挂了,但 Dock、Finder 和其他应用还活着,那是应用崩溃,不是内核崩溃——请参阅我们关于 Safari 标签页在 macOS Tahoe 26.5 崩溃 的专项指南。

卡死或挂起是系统停止响应但不重启。光标可能变成旋转彩球,屏幕冻结,没有任何反应——但不会自动重启。挂起有时会先于内核崩溃(内核锁死后触发看门狗强制重启),但纯粹的挂起需要你手动强制关机。挂起的诊断方法不同——需要用到 spindump、活动监视器的「采样进程」功能,以及查看挂起前时段的 log show。

快速判断:

  • 整机自行重启 + 「因出现问题而重新启动」对话框 → 内核崩溃。 读崩溃报告。本指南适用此情况。
  • 单个应用退出,系统其余正常 → 应用崩溃。 查看该应用的 .ips 报告。
  • 系统冻结,不重启,需手动强制关机 → 挂起。 使用不同的工具集。

搞清楚这一点能节省大量时间。很多人花了好几天重装应用,却没发现「崩溃」其实是 240 Hz 显示器引起的内核崩溃。

如何找到并读取崩溃报告

每次 macOS 内核崩溃都会写入一份诊断报告。获取报告有两种方式:Console.app(图形界面)和文件系统/Terminal(更快、可脚本化)。

崩溃日志存放位置

崩溃报告存储在:

# 机器级诊断报告(内核崩溃存放于此)
ls -lt /Library/Logs/DiagnosticReports/ | head -20

你要找的是类似 Kernel-2026-05-22-143012.panic 或 panic-full-2026-05-22-143012.ips 这样的文件。由于使用了 -lt(按时间排序),最新的排在最前面。在 Apple silicon 上,近期 macOS 版本会写入更丰富的 panic-full 报告;在旧版系统上,你可能看到 .panic 文本文件。用户目录下也有一个日志文件夹,但内核崩溃是系统级别的,存放在 /Library/Logs/DiagnosticReports/。

仅列出与崩溃相关的报告:

ls -lt /Library/Logs/DiagnosticReports/ | grep -iE 'panic|kernel'

在 Console.app 中打开崩溃报告

如果你偏好图形界面:

  1. 打开 Console(应用程序 → 实用工具 → Console,或通过 Spotlight 搜索「Console」)。
  2. 在左侧边栏的 Reports 下,点击 Crash Reports(旧版 macOS)或 System Reports。
  3. 滚动查找以 Kernel 开头或名称中含有 panic 的条目,点击其中一条。
  4. 完整报告显示在右侧。使用 Cmd+F 跳转至 panicString。

Console 很方便,但直接读取原始文件通常更快,因为你可以即时搜索并复制全部内容。

实时统一日志

崩溃文件在崩溃发生时写入。你也可以从统一日志中提取崩溃相关消息,这在你想查看重启前几秒发生了什么时非常有用:

# 显示过去一天内与崩溃相关的消息
log show --predicate 'eventMessage contains "panic"' --last 1d
# 缩小到 kernel 进程及过去 6 小时,崩溃后立即运行最有用
log show --predicate 'process == "kernel"' --last 6h | grep -i panic

统一日志不会像 .panic 文件那样包含完整的回溯栈,但能给你提供时间上下文——了解系统在崩溃之前正在做什么。

崩溃报告解剖:带注释的示例

这部分让你从猜测者变成诊断者。崩溃报告有可预测的结构。以下是一个具有代表性的(已脱敏的示意性)Apple silicon 崩溃字符串,类似于用户遇到高刷新率显示器问题时看到的内容:

panic(cpu 4 caller 0xfffffff0291a7c40): userspace watchdog timeout:
no successful checkins from com.apple.WindowServer in 120 seconds
service: com.apple.logd, total successful checkins since load
(831 seconds ago): 83, last successful checkin: 0 seconds ago
service: com.apple.WindowServer, total successful checkins since
load (831 seconds ago): 8, last successful checkin: 120 seconds ago

Panic occurred in process WindowServer

Backtrace (CPU 4), panicked thread: 0xfffffff...
...
AppleH13CamIn ... AGXG16X ... IOMobileFramebuffer ...

Kernel Extensions in backtrace:
   com.apple.iokit.IOMobileFramebufferFamily
   com.apple.AGXG16X

从上到下解读:

  • panic(cpu 4 caller 0x...) — 哪个 CPU 核心崩溃,以及调用 panic 的代码地址。十六进制地址不是给你看的;其后的文字才是。
  • userspace watchdog timeout: no successful checkins from com.apple.WindowServer in 120 seconds — 这就是 panicString,最重要的一行。它告诉你原因。这里,WindowServer(显示/合成进程)停止向看门狗汇报,触发了重启。WindowServer 卡死是显示/GPU 问题的经典表现——通常与刷新率过高有关。
  • Panic occurred in process WindowServer — 「回溯栈中的进程」,即正在 CPU 上运行的进程。WindowServer = 图形。网络守护进程 = 网络/内容过滤。仅 kernel_task = 通常是硬件问题或深层驱动故障。
  • 回溯栈符号 — 栈上的函数名。出现 AGXG16X、IOMobileFramebuffer、AppleH13... 指向 Apple GPU/显示堆栈。
  • Kernel Extensions in backtrace: — 这是第三方驱动的「冒烟枪」。如果你看到类似 com.yourvpn.tun 或 com.thirdparty.av 的内容,说明某个 kext 涉嫌其中。如果只看到 com.apple.* 扩展,则故障在 Apple 自身代码中,或由硬件/配置驱动,而非第三方 kext。

其他 panicString 模式及其通常含义:

  • Sleep Wake failure in EFI 或 Previous Sleep Wake failure — 睡眠/唤醒崩溃。几乎总是外设、集线器或外接显示器在唤醒时行为异常。(下文 CAUSE 3。)
  • Kernel data abort / DAR ... 且回溯栈中有第三方 kext — 驱动解引用了坏内存。怀疑该 kext。
  • KP / machine check、ECC,或崩溃时没有第三方 kext 且进程不一致 — 倾向于硬件问题(RAM、散热)。(CAUSE 5。)
  • watchdog timeout ... WindowServer 反复出现,且仅在接入特定显示器时 — 显示/刷新率问题。(CAUSE 1。)

最核心的操作规则:先读 panicString,再检查「Kernel Extensions in backtrace」中是否出现非 Apple kext。 这两个数据点能在 80% 以上的情况下将你引导到正确原因。

诊断决策树

每次都按这个流程走。这能防止你陷入无意义的重装循环。

  1. 复现或记录规律。 崩溃是否只在接入外接显示器时发生?只在从睡眠唤醒时?只在运行特定应用或 VPN 时?还是毫无规律?规律本身就是诊断的一半。记下来。
  2. 读取最新崩溃报告。 获取 panicString 和「Kernel Extensions in backtrace」列表(见上文)。
  3. 回溯栈中是否有第三方 kext?
    • 有 → 进入 CAUSE 2(扩展)。确认供应商,更新或移除,在 Safe Mode 中重测。
    • 没有 → 继续。
  4. panicString 是否提及 WindowServer / framebuffer / GPU,且仅在接入显示器时发生? → CAUSE 1(刷新率)。先将外接显示器降至 60 Hz。
  5. panicString 是否提及 Sleep Wake failure,或崩溃仅在唤醒时发生? → CAUSE 3(睡眠/唤醒 + 外设)。断开所有设备测试。
  6. 你使用的是 M5 MacBook Air / M5 Pro/Max,或正在使用内容过滤/网络扩展,或更新后出现黑屏? → CAUSE 4(Apple 已确认的 26.5 问题)。确保已完整更新。
  7. 没有第三方 kext,没有显示/睡眠规律,崩溃随机发生且每次报告不同? → CAUSE 5(硬件)。运行 Apple Diagnostics,检查 RAM/eGPU/散热。
  8. 以上都无法解决? → CAUSE 6(系统状态损坏):重置 NVRAM,重置 SMC(Intel),原地重装 macOS。

下面详细介绍每种原因。

CAUSE 1:外接显示器刷新率过高(120 / 144 / 240 Hz)

这是 Tahoe 26.5 最突出的问题,也是修复方案最干净的问题。Mac Studio 和 Mac mini 上大量「随机重启」报告,最终都是由第三方高刷新率显示器以 120 Hz、144 Hz 或 240 Hz 驱动时触发的 GPU/显示器看门狗崩溃。崩溃报告显示 WindowServer 看门狗超时,回溯栈中包含 Apple GPU/framebuffer 堆栈(AGX...、IOMobileFramebuffer),与上面的注释示例完全一致。

原因分析

在高刷新率下,GPU 驱动和显示控制器之间交换时序、模式和同步信息的频率远高于 60 Hz。macOS 小版本更新会周期性地更改显示管线(HDR 处理、可变刷新/ProMotion 协商、抖动、DisplayPort/Thunderbolt 上的多流传输)。当第三方显示器固件宣告的模式与当前驱动协商不畅——或者电缆/DSC 链路在 240 Hz 时处于临界状态——GPU 侧可能会卡住。WindowServer 停止向看门狗汇报,看门狗在 120 秒时触发,整个系统重启。这看起来是随机的,因为它取决于屏幕上显示的内容,但实际上与显示器绑定。

指向刷新率的特征:

  • 崩溃从不在仅使用内置显示器时发生(笔记本),或在未接外接显示器时不发生(Mac mini/Studio 用户如果还有一块小的副屏可以测试)。
  • panicString 提及 WindowServer watchdog,回溯栈仅列出 Apple GPU/framebuffer kext(无第三方 kext)。
  • 在 GPU 密集型工作、视频播放、HDR 内容或从显示器睡眠唤醒时更容易发生。
  • 涉及特定高刷新率显示器或电缆;换回 60 Hz 屏幕后消失。

干净的修复方案:降低刷新率

这是经社区强力验证的变通方案。降低刷新率可以完全消除临界时序路径。

  1. 打开 系统设置 → 显示器。
  2. 选择外接显示器。
  3. 找到 刷新率 下拉菜单。将 240 Hz → 120 Hz,或为了稳定性,→ 60 Hz。
  4. 如果看到 ProMotion / 可变刷新率 开关,在测试期间将其设置为固定刷新率而非可变。
  5. 使用一天。如果崩溃停止,刷新率就是原因。

macOS Tahoe 显示器设置中的刷新率选择器

如果 macOS 显示器面板未暴露你想要的刷新率,或隐藏了中间选项,SwitchResX(一款久经考验的第三方显示工具)可以让你设置精确时序并锁定刷新率。为该显示器设置干净的 60 Hz 或 120 Hz 模式并保存为默认值。

有助于提升高刷新率稳定性的其他调整:

  • 使用认证电缆。 在 144/240 Hz 下,你需要真正高带宽的 DisplayPort 或 Thunderbolt 4 / USB4 电缆。在 60 Hz 下「能用」的边缘电缆,在 240 Hz 下会间歇性失效。在归咎软件之前,先换电缆。
  • 测试期间直连,不走扩展坞。 扩展坞和 DisplayPort MST 集线器会增加一个协商层,它可能就是薄弱环节。
  • 暂时关闭外接显示器的 HDR;HDR 管线会增加时序复杂度。
  • 如果厂商提供固件更新,更新显示器固件。 显示器厂商确实会发布针对 Mac 协商 bug 的修复。

由于这个修复方案非常干净,每当崩溃仅在接入外接显示器时发生,优先尝试这个方案。如果降至 60 Hz 后崩溃停止,你就找到了答案,可以决定是维持安全刷新率、尝试 120 Hz,还是等待未来的 macOS/固件更新。关于 Tahoe 上更广泛的外接显示器问题,请参阅我们的 外接显示器无法识别诊断指南。

CAUSE 2:有问题或过期的内核与系统扩展

如果「Kernel Extensions in backtrace」中出现第三方 kext,你就找到了问题所在的类别。Tahoe 上的常见嫌疑对象包括 VPN 客户端、杀毒/端点安全代理、虚拟化工具、音频接口驱动,以及磁盘/RAID 工具——任何通过安装内核扩展(kext)或系统扩展深入挂钩操作系统的软件。

Apple 多年来一直推动开发者从旧 kext 迁移到用户空间系统扩展,每个 macOS 版本都在收紧旧版 kext 的权限。针对旧系统构建的 kext 可能以新内核无法预期的方式解引用内存,结果就是一个 Kernel data abort 崩溃,并点名该 kext。

第一步:清点已加载的扩展

列出当前内存中的内核扩展:

# 显示所有已加载的内核扩展
kmutil showloaded
# 过滤掉 Apple 自身的扩展,仅显示第三方扩展
kmutil showloaded | grep -v com.apple

过滤结果中的任何条目都是当前正在内核中运行的第三方驱动。将其与崩溃报告「Kernel Extensions in backtrace」列表中的 bundle ID 交叉对比——匹配项就是你的首要嫌疑对象。

现在列出系统扩展(VPN、内容过滤和端点安全使用的现代用户空间等效方案):

# 列出已安装的系统扩展及其状态(activated/enabled)
systemextensionsctl list

Terminal 中列出已加载内核扩展的截图

这会显示每个系统扩展、其团队标识符以及是否处于 activated enabled 状态。VPN 和内容过滤工具在此处安装网络扩展——正如在 CAUSE 4 中提到的,内容过滤网络扩展被 Apple 在 26.5 重启修复说明中专门点名。

第二步:用 Safe Mode 验证

Safe Mode 启动时会禁用第三方 kext 和许多启动项。如果在 Safe Mode 中崩溃停止,原因几乎可以确定是 Safe Mode 禁用了某些东西——最有可能是第三方扩展。

Apple silicon(M1/M2/M3/M4/M5):

  1. 完全关机。
  2. 按住电源按钮,直到出现「正在载入启动选项」。
  3. 选择你的启动磁盘,然后按住 Shift 并点击 以 Safe Mode 继续。
  4. 登录。你应该在菜单栏中看到「Safe Boot」(在登录窗口或系统设置中查看)。

Intel:

  1. 关机。
  2. 开机,立即按住 Shift,直到出现登录窗口,然后松开。

在 Safe Mode 中像平时那样触发崩溃(接上显示器,连接 VPN 的网络——注意某些网络扩展在 Safe Mode 中不会加载,这本身就是有价值的信息)。Safe Mode 下没有崩溃 → 第三方软件是原因。 正常重启确认崩溃会重现。

第三步:移除或更新有问题的扩展

确定嫌疑对象后:

  1. 先更新它。 供应商可能已发布兼容 Tahoe 的版本。更新比移除破坏性更小。
  2. 如果更新无效,使用厂商的官方卸载工具卸载(不要直接拖到废纸篓——kext 和系统扩展需要正确移除才能干净注销)。
  3. 移除系统扩展后,你可能需要在 系统设置 → 隐私与安全性 中重新批准或完全清除它,macOS 会在此列出待授权或待移除的扩展。批准你信任的,移除你不信任的。
  4. 重启,测试一天。

按照在 Tahoe 上引发崩溃的频率排序,需要重点审查的常见类别:VPN 客户端(尤其是旧式隧道 kext)、杀毒/EDR 代理、虚拟化(旧版 hypervisor kext)、音频接口驱动,以及第三方磁盘/加密工具。如果你安装了多个,逐一移除,这样你就能知道是哪个负责,而不是把整个软件栈都清空。

CAUSE 3:带外设和集线器的睡眠/唤醒崩溃

如果崩溃发生在从睡眠唤醒时——你打开屏幕或晃动鼠标,屏幕闪烁,然后机器重启而非唤醒——尤其是当 panicString 显示 「Sleep Wake failure」 时,触发原因几乎总是连接到 Mac 的某个设备,在睡眠/唤醒过渡中协商失败。Thunderbolt 扩展坞、USB 集线器、外接硬盘、音频接口、读卡器和某些显示器是反复出现的嫌疑对象。

确认是睡眠/唤醒崩溃

两个检查:

# 查看睡眠/唤醒历史;「Failure」条目表明有唤醒问题
pmset -g log | grep -iE 'failure|wake|sleep' | tail -40

pmset -g log 是电源管理事件日志。查找 Wake 事件后跟着 Failure 的条目,或「Previous Sleep Wake failure」说明。将其与崩溃报告的时间戳对比——如果崩溃时间与唤醒事件吻合,就是睡眠/唤醒崩溃。

# 查看电源过渡中涉及的断言和设备
pmset -g assertions

修复方法

  1. 断开所有设备,裸机测试。 拔掉所有集线器、扩展坞、硬盘和非必要外设。让 Mac 反复睡眠和唤醒一天。如果崩溃停止,某个外设是原因。
  2. 逐一重新连接, 每次等待一天,直到崩溃重现。最后一个添加的设备就是罪魁祸首。
  3. 为集线器/扩展坞使用外部供电。 从 Mac 取电的总线供电集线器是唤醒崩溃的常见来源。使用自供电(接市电)的集线器通常能解决问题。
  4. 更新扩展坞/集线器固件和 Mac 至最新的 26.5 版本。Thunderbolt 固件修复是实实在在存在的。
  5. 尝试不同端口或直连。 将问题设备从菊花链中移出。
  6. 作为临时变通方案,调整睡眠行为,同时排查设备——例如,防止显示器将磁盘休眠,或使用 pmset 调整网络唤醒设置(如果某个网络设备将 Mac 唤醒到异常状态)。这只是争取时间;真正的修复是找出那个外设。

睡眠/唤醒崩溃诊断起来很繁琐,因为测试之间需要等待,但断开再逐步添加的方法是可靠的。不要急着为睡眠/唤醒崩溃重装 macOS——这种情况是外设协商问题的概率,远高于操作系统损坏。

CAUSE 4:Apple 已确认的 26.5 硬件与企业问题

macOS Tahoe 26.5 于 2026-05-11 发布,包含了 Apple 在企业发布说明中记录的稳定性修复。了解这些可以帮助你区分「更新后已修复」和「仍需变通方案」。

Apple 在 26.5 中确认并处理的内容:

  • M5 MacBook Air 和 M5 Pro / Max 机型的重启问题。 Apple 发布了修复这些较新 Apple silicon 机型意外重启的补丁。如果你使用这类机型且在早期版本上出现崩溃,确保已更新至完整的 26.5 版本(或更高) 是第一步。
  • 内容过滤网络扩展导致的重启。 与内容过滤网络扩展相关的重启——在托管/企业环境以及某些消费者 VPN/家长控制工具中很常见——已得到修复。这与 CAUSE 2 有重叠:如果你的 systemextensionsctl list 显示有内容过滤网络扩展且正在发生崩溃,同时更新 macOS 和该扩展的供应商应用。
  • 更新后黑屏。 部分 Mac 更新后显示黑屏的问题已得到处理。

需要坦诚地说明:Apple 修复某类重启并不意味着所有案例都消失了。部分受影响硬件的用户,或运行特定扩展的用户,在更新后仍持续报告重启——这些是社区报告的情况,需要本指南中的变通方案处理(完整更新、降低刷新率、审计扩展、隔离外设),而不是等待一个有保障的 Apple 补丁。因此:

  1. 完整更新。 系统设置 → 通用 → 软件更新。完整安装 26.5(以及随后的任何 26.5.x 补充更新)。
  2. 然后重新测试。 M5 硬件和内容过滤配置上的大量崩溃,在完整更新后就直接消失了。
  3. 如果仍然存在, 以崩溃报告为事实依据,根据报告内容路由到 CAUSE 1/2/3/5。

关于此版本发布的完整内容(包括安全修复),请参阅我们的 macOS Tahoe 26.5 完整更新指南。如果你从更早版本来到这里,我们的 26.3 bug 和崩溃修复指南 以及 26.2 故障排除指南 提供了有用的历史背景,可以了解这些稳定性问题在整个 Tahoe 周期中的演变。

CAUSE 5:硬件——RAM、eGPU / Thunderbolt 与散热

当崩溃报告每次都不同、没有第三方 kext、没有显示/睡眠规律,且经过干净重装后仍然存在时,你很可能面对的是硬件问题。硬件崩溃往往不一致,正是因为它们依赖物理条件——温度、边缘内存单元、不稳定的接口。

运行 Apple Diagnostics

Apple 内置的硬件测试是第一步:

Apple silicon:

  1. 关机。
  2. 按住电源按钮,直到出现「正在载入启动选项」,然后松开。
  3. 按 Cmd+D 运行诊断。

Intel:

  1. 关机。
  2. 开机,立即按住 D 键(或 Option+D 通过互联网测试),直到出现进度条或语言选择界面。

诊断运行完毕后会返回参考代码。以 PPM 开头的代码与电源相关;PPT 与电池相关;NDC/VFD 与摄像头/显示器相关;多个内存相关代码指向 RAM 问题。记下它给出的任何代码——这是 Apple 支持人员会使用的语言。

RAM(Intel / 具有可升级内存的 Mac Pro)

在可以更换 RAM 的机器上:

  • 如果你最近添加了第三方 RAM 且崩溃随即开始,重新插拔或移除它。 有问题或不兼容的内存是经典的崩溃来源。
  • 每次测试一根/一组内存条,以隔离出故障模块。
  • Apple silicon Mac 的内存是焊死的统一内存——你无法更换,因此确认内存故障后意味着需要送修。

eGPU 和 Thunderbolt

  • 外部 GPU(主要是 Intel 时代的配置)增加了复杂的驱动和供电路径。如果你使用 eGPU 且看到 GPU 堆栈崩溃,断开它并测试。近期 macOS 版本对 eGPU 驱动支持已收窄。
  • 边缘 Thunderbolt 链路——坏电缆、总线过载——可能产生看似随机的崩溃。简化 Thunderbolt 链并使用已知良好的电缆(这与 CAUSE 3 有重叠)。

散热

  • 在持续高负载下(长时间渲染、游戏、编译)崩溃且机器发热的 Mac,可能是遭遇了与散热相关的故障。确保通风口畅通,机器放置在硬质表面,环境温度合理。
  • 在导热硅脂老化或风扇故障的机器上反复出现散热崩溃,是需要送修的项目。

如果崩溃仅在 Mac 高负载同时过热时发生,修复 Mac 运行缓慢指南 涵盖了减少后台负载和管理资源压力的内容,有助于降低你触碰的散热上限。

CAUSE 6:系统状态损坏——NVRAM、SMC 与原地重装

在排除了显示器、扩展、外设和硬件问题之后,最后一个类别是损坏的低层状态或损坏的 macOS 安装。

重置 NVRAM(主要针对 Intel)

NVRAM/PRAM 存储少量设置——显示器、启动磁盘、部分电源值。在 Intel Mac 上,重置它可以清除可能导致崩溃的损坏值。有两种方式:

# 在已登录的 Intel Mac 上,清除 NVRAM 然后重启
sudo nvram -c

或在 Intel 开机时:关机,开机,立即按住 Option+Cmd+P+R 约 20 秒,然后松开。Apple silicon Mac 会自动管理 NVRAM,没有手动按键组合重置——正常重启会重置相关状态,所以按键组合不适用。

重置 SMC(仅限 Intel)

System Management Controller 负责处理 Intel Mac 上的电源、散热和部分硬件行为。损坏的 SMC 状态可能导致电源和唤醒相关崩溃。确切的按键序列因型号而异(T2 vs. 非 T2,台式机 vs. 笔记本)——请按照 Apple 特定型号的 SMC 重置步骤操作。Apple silicon Mac 没有 SMC 可以重置; 完全关机(关掉约 30 秒)后重启可以实现等效效果。

原地重装 macOS

如果崩溃仍然持续且没有明确原因,在现有系统上重装 macOS 会替换系统文件而不会抹除数据:

  1. 先用 Time Machine 备份(任何重装前都应该这样做)。
  2. 启动到 Recovery:Apple silicon 上按住电源按钮直到「正在载入启动选项」,然后选择 选项 → 继续;Intel 上在开机时按住 Cmd+R。
  3. 选择 重新安装 macOS Tahoe 并按提示操作。这是原地重装——你的文件、应用和设置保留不变。
  4. 如果在全新重装的出厂干净状态下崩溃仍然发生,证据强烈指向硬件(CAUSE 5)或某个重新安装的扩展(CAUSE 2)——此时应当前往 Genius Bar。

重装是一个重大步骤。不要第一步就跳到这里;只有当崩溃报告和决策树真的无法确定原因时,才走到这一步。

何时将问题交给 Apple

有些崩溃不是你能修复的。在以下情况下,将 Mac 送到 Apple(或 Apple 授权服务提供商):

  • Apple Diagnostics 返回硬件参考代码。 这是确认的组件问题。
  • 经过干净的原地重装后崩溃仍然持续,且配置为纯净状态——软件已被排除。
  • 崩溃报告持续点名硬件故障(machine check、ECC/内存错误),且没有第三方 kext。
  • 你使用的是 M5 MacBook Air / M5 Pro/Max,已完整更新至 26.5 或更高版本,且仍在崩溃——Apple 确认了这些机型的重启问题,你的案例对他们来说是相关数据,可能在保修范围内。
  • Mac 无法持续保持开机状态以完成诊断(崩溃循环),即使在以下恢复步骤之后也是如此。

去之前,收集证据:从 /Library/Logs/DiagnosticReports/ 复制最新的崩溃报告,记下 Apple Diagnostics 代码,写下规律(何时发生、连接了什么)。清晰的报告和可复现的规律能大幅加快支持访问效率。Apple silicon Mac 的 M5 一代仍在保修期内,而已确认的重启问题正是服务团队希望看到有文档记录的那种问题。

常见问题故障排除

问题:我的 Mac 仅在从睡眠唤醒时崩溃

解决方案: 这是睡眠/唤醒崩溃,几乎总是由外设引起的。运行 pmset -g log | grep -iE 'failure|wake' 确认唤醒失败与崩溃时间吻合。断开所有集线器、扩展坞和外接硬盘,让 Mac 反复睡眠和唤醒一天。如果稳定,逐一重新连接设备直到崩溃重现——最后那个设备(或其电缆/集线器供电)就是原因。为集线器使用外部供电,并更新其固件;总线供电集线器是最常见的触发因素。

问题:我的 Mac 仅在接入外接显示器时崩溃

解决方案: 这是显示器/GPU 崩溃,修复方案通常很干净。打开「系统设置 → 显示器」,选择外接显示器,将刷新率从 240/144/120 Hz 降至 60 Hz。使用一天。如果崩溃停止,高刷新率就是原因——然后可以尝试升回 120 Hz、换用认证高带宽电缆、直连而非经过扩展坞,并关闭 HDR。如果显示器面板隐藏了你需要的刷新率,SwitchResX 可以锁定精确的安全模式。

问题:我的 Mac 随机崩溃,没有明显规律

解决方案: 让崩溃报告来决定。打开 /Library/Logs/DiagnosticReports/ 中最新的文件,读取 panicString,检查「Kernel Extensions in backtrace」。有第三方 kext → 更新或移除该软件,在 Safe Mode 中测试。没有第三方 kext 且每次报告不同 → 运行 Apple Diagnostics(Apple silicon 开机时按 Cmd+D)获取硬件代码。随机崩溃通常要么是一个行为异常的扩展,要么是边缘硬件问题——报告会告诉你是哪种。

问题:我的 Mac 陷入崩溃循环,无法完成启动

解决方案: 先启动 Safe Mode(Apple silicon:按住电源 → 选择磁盘 → 按住 Shift → 以 Safe Mode 继续;Intel:启动时按住 Shift)。Safe Mode 会禁用第三方扩展,如果能干净启动,kext 就是原因——从 Safe Mode 中移除它。如果 Safe Mode 也循环崩溃,启动到 Recovery(Apple silicon:按住电源 → 选项;Intel:Cmd+R),运行磁盘工具急救,必要时原地重装 macOS。即使干净重装后仍持续循环,则指向硬件问题——送去 Apple。

Console 应用中显示 macOS 崩溃报告的截图

常见问题解答

内核崩溃和 Mac 崩溃是同一回事吗?

不完全是。内核崩溃是整个系统因操作系统内核进入不安全状态而停止并重启——你会收到「您的电脑因出现问题而重新启动」的对话框。应用崩溃是单个程序退出,而 macOS 其余部分继续运行。两者写入不同的报告,有不同的修复方法,因此在排查之前先确认你遇到的是哪种情况。

在 macOS Tahoe 上,崩溃日志究竟存储在哪里?

内核崩溃报告存放在 /Library/Logs/DiagnosticReports/,命名类似 Kernel-2026-05-22-143012.panic,或在 Apple silicon 上是更丰富的 panic-full-...ips 文件。你也可以在 Console.app 的「崩溃报告」/「系统报告」中打开它们。在 Terminal 中运行 ls -lt /Library/Logs/DiagnosticReports/ | grep -i panic 可以按最新顺序列出它们。

降低显示器刷新率真的能停止重启吗?

如果你的崩溃仅在接入该显示器时发生,且报告显示 WindowServer/GPU 看门狗超时,那么——是的,从 240/144/120 Hz 降至 60 Hz 是经社区强力验证的变通方案,可以消除临界时序路径。这是针对显示器相关崩溃的第一步尝试。系统稳定后,可以再用认证电缆测试 120 Hz。

Apple 在 macOS Tahoe 26.5 中修复了重启 bug 吗?

Apple 的 26.5 企业发布说明确认并处理了 M5 MacBook Air 和 M5 Pro/Max 的重启修复、内容过滤网络扩展导致的重启,以及更新后黑屏问题。这涵盖了相当数量的案例,所以先完整更新。但部分用户之后仍报告崩溃——这些是社区报告的情况,需要本指南中的变通方案,而非等待有保障的补丁。

如何判断是第三方驱动导致了崩溃?

打开崩溃报告,找到「Kernel Extensions in backtrace」部分。如果你看到不是 com.apple.* 的 bundle ID——VPN、杀毒软件或虚拟化供应商的名称——该扩展就涉嫌其中。通过启动 Safe Mode(会禁用第三方 kext)来确认:如果崩溃停止,第三方软件就是原因。然后更新或卸载该扩展。

我应该重装 macOS 来修复内核崩溃吗?

重装是最后手段,而非第一步。先走决策树——刷新率、扩展、外设、已确认的 26.5 问题、硬件。只有在这些都失败之后,才考虑原地重装(保留你的数据)。事前务必用 Time Machine 备份。如果干净重装后崩溃仍然持续,原因几乎可以确定是硬件,是时候去找 Apple 了。

结语

内核崩溃感觉像是灾难,但在 macOS Tahoe 26.5 上,它们通常可以追溯到一个简短的原因列表——而崩溃报告会告诉你是哪一个。先读 panicString 和「Kernel Extensions in backtrace」列表;这两个字段能在大多数情况下将崩溃引导到正确的修复方向。对于 Tahoe 26.5 最常见的单一触发因素——外接显示器刷新率过高,修复方案就像降至 60 Hz 一样简单。对于扩展相关崩溃,用 kmutil showloaded 和 systemextensionsctl list 审计,然后在 Safe Mode 中验证。对于睡眠/唤醒崩溃,隔离外设。确保已完整更新,以便 Apple 在 26.5 中确认的问题已得到处理,将硬件测试和重装留给报告和决策树真正无法确定原因的情况。

诊断,而非猜测——你将能够自行解决绝大多数重启问题。相关阅读,请参阅我们的 macOS Tahoe 26.5 更新与安全指南、外接显示器诊断指南,以及 Safari 标签页崩溃修复(如果你的问题实际上是应用级别的,而非完整的内核崩溃)。