news 2026/5/14 8:52:15

按下开机键的10秒里,Apple Silicon内核都在忙些什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
按下开机键的10秒里,Apple Silicon内核都在忙些什么?

苹果设备向来以流畅著称。对大多数人来说,开机这件事几乎不需要思考:按下电源键,屏幕亮起,熟悉的界面很快出现,一切顺理成章。

但在你还没来得及碰触键盘之前,Apple Silicon Mac 内部已经悄悄完成了一整套极其严密的启动流程。为了让这段几乎被隐藏起来的启动过程变得可见,长期研究 macOS 启动与安全机制的开发者 Howard Oakley 分享了一篇极其细致的深度解析,逐行追踪 Apple Silicon Mac 在按下电源键之后究竟发生了什么。

来源:https://eclecticlight.co/2026/02/03/what-happens-in-early-kernel-boot-on-apple-silicon/

作者 | Howard Oakley 责编 | 苏宓

出品 | CSDN(ID:CSDNnews)

Apple Silicon Mac 上的安全启动流程,和你以往见过的任何启动机制都不一样。

整个过程从 Boot ROM 开始,在真正加载内核之前,还要依次经过两个层级的“固件”。

本文试图梳理苹果电脑开机时内部发生的一系列步骤,一直讲到系统开始管理用户账户和权限为止,这大约发生在按下电源键后的 10 秒左右。

无论 Mac 是从内置 SSD 上的 macOS 启动,还是从外接存储设备上的系统启动,最初的三个阶段基本都是一样的:

  1. 首先是 Boot ROM。它存在于硬件中,无法被修改。在这个阶段,最关键的任务是验证下一阶段可执行文件的完整性,并将其加载和运行。如果这一步无法完成,系统就会退回到 DFU 模式,等待通过 USB 建立连接。

  2. 接下来是底层引导载入程序(LLB)。它负责验证并读取已存储的安全设置,定位并校验下一阶段所需的软件,然后将控制权交给它。LLB 存放在专用的闪存中,但运行时依赖内置 SSD 受保护区域里的 LocalPolicy 等文件。

  3. 第三个阶段是 iBoot(或 iBoot Stage 2),它通常被误称为“固件”,但这个说法并不准确。iBoot 需要验证一组哈希值,用来确保关键信息的完整性。验证方式是:将存储的哈希值与该哈希值的哈希(也就是它的签名)进行比对。其中就包括已签名系统卷(SSV)的根哈希。不过,iBoot 本身并不会去访问 SSV 或读取其中的哈希,只是把已经验证过的根哈希传递给后续的内核使用。完成这些检查后,iBoot 会验证、加载并启动 macOS 内核。

内核启动(5.3 秒)

这些阶段几乎不会留下可读的痕迹,因为它们不会向日志写入内容。取而代之的是一些简短的二进制数据,被称为 breadcrumbs,可能会存放在 NVRAM 中。

与这些阶段相关的日志,基本只有两条:一条是启动的最初声明,另一条是内核阶段开始的标记。

下文中引用的日志,均来自一台运行 macOS 26.2、开启“完全安全(Full Security)”模式的 Mac mini M4 Pro,按下电源键的时间点记为大约 0.0 秒。

0.24 === system boot: F5BD2102-F86A-4823-8FF9-A4535295F9FA5.30 kprintf initialized

内核大约在 5.3 秒时从 iBoot 接管系统,并输出自己的版本信息,这里是 Darwin Kernel Version 25.2.0。

随后,日志流被配置完成,同时记录下 iBoot 的版本。

接着,系统开始启动一系列安全机制,包括 CoreCrypto,并加载安全策略组件,例如 Apple Mobile File Integrity(AMFI)以及 Seatbelt 沙盒策略(Sandbox)。

早期硬件初始化(5.6 秒)

随后,内核进入启动硬件及相关服务的主阶段。

最先启动的是 AppleT6041ANEHAL 和 IOAccessoryManager,接着是 IOThunderboltFamily。其中仍有不少与安全相关的组件,比如 AppleCredentialManager,以及一长串 Secure Enclave(安全隔区)的初始化流程,其中包括如下这条较为详细的日志:

5.696 "AppleSEPKeyStore":pid:0,:327: starting (BUILT: Nov 18 2025 20:56:29) ("normal" variant 🌽 , 2155.60.14)

KernelBluetoothFamily 大约在 5.7 秒时启动,随后不久是 AppleT6040PCIeC。

在 5.71 秒,AppleARMWatchdogTimer 被启动,用来监控那些变得无响应的进程。紧接着,日志中出现了自最早的 Mac OS X 时代就一直存在的传统版权声明:

5.712 Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved

这是一个来自久远历史的提醒。

接下来,RTBuddy 和 AppleSMC 相继启动,而在 5.836 秒时,AppleSEPManager 也被加载。RTBuddy 负责为运行在 SoC 内部协处理器和支持核心上的实时操作系统 RTKit 提供通信支持。一般认为,这些组件包括 Apple Neural Engine(ANE)、显示协处理器(DCP)、NVMe 控制器,以及系统管理控制器(SMC)。在内核阶段,日志中会频繁出现 RTBuddy 相关的消息。

CPU 核心启动(6.1 秒)

在此之前,内核一直运行在单个 CPU 核心上。但到大约 6 秒时,系统开始逐个唤醒所有 CPU 核心。这个过程按集群进行,首先启动 E 核的 cluster 0,然后按编号顺序启动 P 核集群。

所有核心就绪后,APFS 和 NFS 文件系统被加载并启动,其中 APFS 会输出一条包含版本信息的日志:

6.130 apfs_module_start:3677: load: com.apple.filesystems.apfs, v2632.40.17, apfs-2632.40.17, 2025/11/18

随后,Gatekeeper 被启用,AppleSystemPolicy 启动。尽管名字听起来有些“常驻”的意味,Always-On Processor(AOP)也在此时完成准备,并启动其 SMC 服务。

文件系统(6.3 秒)

在 6.315 秒,APFS 开始访问 SSD 上的三个容器:disk0s1、disk0s2 和 disk0s3。随后,它识别启动设备,并将其声明为 BSD root:disk3s1,接着开始挂载已签名系统卷(SSV)。

乍一看这似乎有些矛盾——此时来自 SSV 的内核其实已经运行了一秒多了。但这是因为内核以及它所需的内核扩展,是在更早阶段由 iBoot 直接加载的。

同样,在这个阶段,NVRAM 也被准备就绪:包括删除 nonce 种子、写入前几个启动阶段留下的 breadcrumbs 等操作。

APFS 随后继续挂载其他卷,包括位于 disk3s3 的 Recovery 分区,以及 macOS Base System。到 6.37 秒时,运行在安全隔区处理器上的操作系统 SEP/OS 被标记为“已存活”,随后 Secure Enclave 开始进入准备状态。

用户空间启动(6.4 秒)

在 6.375 秒时,系统宣告进入用户空间启动阶段,随后内核尝试加载 launchd。从 6.8 秒开始,系统会继续挂载更多卷,包括 VM、Preboot、Update、xART、ISCPreboot 以及 Hardware。

随着 Secure Enclave(SEP)已经运行起来,BiometricKit 在 8.788 秒时启动。大约在 9 秒左右,APFS 尝试挂载位于 disk3s5 的 Data 卷。

但只有在未启用 FileVault 的情况下,这一步才能成功,因此通常会失败,并需要等待 loginwindow 启动以及用户在其中输入密码后才能继续。到 9.429 秒,日志中会列出一长串启动任务。

在 9.875 秒,OpenDirectory 被启动,紧接着发生第一次系统时钟(wallclock)时间校正:

=== system wallclock time adjusted

从这一刻起,所有日志时间都会相应调整。

到了这个阶段,也就是按下电源键约 10 秒后,内核以及即将启动的其他进程,已经可以访问隐藏的容器和卷,以及已签名系统卷(SSV),但仍无法访问 Data 卷(除非 FileVault 被禁用)。

日志很可能暂时保存在内存中,直到可以写入 Data 卷为止;而 Data 卷上的设置和进程信息,在此之前都无法读取——这些都必须等用户解锁 Data 卷之后才能使用。

推荐阅读:

人均操控88个AI Agent?氛围编码造出来的Moltbook数据库被扒底,网友:连很多行为可能都是人类伪造的

50万行代码不敢交给AI?TypeScript之父直言:它就像是个“高级复读机”

多模态和编程能力可以兼得吗?Kimi新模型K2.5实测

未来没有前后端,只有 AI Agent 工程师。

这场十倍速的变革已至,你的下一步在哪?

4 月 17-18 日,由 CSDN 与奇点智能研究院联合主办「2026 奇点智能技术大会」将在上海隆重召开,大会聚焦 Agent 系统、世界模型、AI 原生研发等 12 大前沿专题,为你绘制通往未来的认知地图。

成为时代的见证者,更要成为时代的先行者。

奇点智能技术大会上海站,我们不见不散!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 20:43:37

Qwen3-ASR-1.7B多场景落地:图书馆视障读者语音导航内容生成系统

Qwen3-ASR-1.7B多场景落地:图书馆视障读者语音导航内容生成系统 在公共图书馆服务升级过程中,如何让视障读者真正“听见”每本书的位置、每处设施的路径、每场活动的详情?传统导览方式依赖人工陪护或固定触感标识,覆盖有限、响应…

作者头像 李华
网站建设 2026/5/14 13:24:59

大型户外LED显示屏安装调试完整示例

大型户外LED显示屏:从“能亮”到“稳亮”的实战技术手记你有没有遇到过这样的场景?凌晨三点,一场重要赛事直播前两小时,体育场东侧大屏突然出现几列暗区;暴雨刚停,某商业中心外墙屏在湿度回升后陆续黑屏&am…

作者头像 李华
网站建设 2026/5/13 10:53:24

Docker容器网络不通排查指南

前言 容器跑起来了,但是网络不通——ping不通外网、容器间互相访问不了、端口映射不生效… 这类问题排查比较麻烦,涉及容器网络、宿主机网络、iptables规则等多个层面。这篇整理一套系统的排查流程,覆盖常见的网络问题场景。 一、容器访问不…

作者头像 李华
网站建设 2026/5/14 5:33:05

LCD1602仅背光点亮的硬件连接图解说明

LCD1602背光亮但无显示?别急着改代码——这是硬件在对你“眨眼” 你第一次把LCD1602焊上板子,通电——背光“唰”地亮了,心里一喜;可屏幕一片死寂,连两行暗线都不见。你翻遍数据手册、重烧三遍固件、甚至换了个新模块……结果还是一样: 灯亮,字没影 。 这不是玄学,…

作者头像 李华
网站建设 2026/5/14 5:29:03

Qwen3-ASR-0.6B效果展示:越南语顺化方言→中部口音特有声调建模验证

Qwen3-ASR-0.6B效果展示:越南语顺化方言→中部口音特有声调建模验证 1. 为什么这次测试特别值得关注 你可能已经见过不少语音识别模型能听懂标准越南语,但有没有试过让AI听懂顺化话?不是河内的标准腔,也不是胡志明市的南部口音&…

作者头像 李华
网站建设 2026/5/9 10:34:27

工业控制中Keil5安装配置的深度剖析

工业控制中Keil Vision5的实战内功:一个老工程师的调试台笔记 你有没有过这样的经历?凌晨两点,产线停机,PLC固件升级失败,Keil5里红字报错 Error: device not supported ,而设备手册上明明写着“Keil ful…

作者头像 李华