news 2026/6/10 12:22:20

按下开机键的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/6/5 13:24:46

从扫描到上色:DDColor全流程操作指南,拯救你家老相册

从扫描到上色:DDColor全流程操作指南,拯救你家老相册 你有没有翻过家里的旧木箱?泛黄的纸页间夹着几张脆得不敢用力碰的老照片——祖父母穿着笔挺的中山装站在照相馆布景前,父亲还是扎羊角辫的小女孩,站在青砖院墙下笑…

作者头像 李华
网站建设 2026/5/23 16:28:07

Youtu-2B多语言支持情况:英文输出质量初步测试

Youtu-2B多语言支持情况:英文输出质量初步测试 1. 为什么关注Youtu-2B的英文能力? 很多人第一次看到“Youtu-2B”这个名字,会下意识觉得——这大概是个专注中文的模型吧?毕竟名字里带着“Youtu”(优图)&a…

作者头像 李华
网站建设 2026/6/4 21:28:50

AUTOSAR网络管理睡眠阶段电源优化实战分析

AUTOSAR网络管理睡眠阶段电源优化实战分析:从协议栈到硬件关断的全链路调优在某次整车静态电流摸底测试中,工程师发现一台刚下线的智能座舱域控制器,在KL15断开、仅靠蓄电池维持CAN总线监听时,实测休眠电流高达10.2 mA——远超WLT…

作者头像 李华
网站建设 2026/5/30 12:24:26

基于51单片机的音乐盒玩具设计:蜂鸣器唱歌实现

从“嘀嘀嘀”到《小星星》:一个51单片机音乐盒的诞生手记你有没有试过,只用一块几块钱的STC89C52RC、一颗无源蜂鸣器、三颗电阻加一只三极管,就让单片机“唱”出旋律?这不是玩具说明书里的效果图,而是我焊在洞洞板上、…

作者头像 李华
网站建设 2026/6/6 22:39:15

React Native核心要点:State与Props的正确使用方式

State与Props:React Native里最不该被轻视的“电路接口” 你有没有遇到过这样的场景? 用户在商品页点了三次“加入购物车”,界面上只显示+1; 表单输入框刚打完字,焦点突然丢失、内容清空; Tab切换回来,图片轮播器从第一张重新开始——而用户明明记得自己停在第三张。…

作者头像 李华
网站建设 2026/6/10 11:25:41

阿里小云语音唤醒模型保姆级教程:解决环境依赖问题一步到位

阿里小云语音唤醒模型保姆级教程:解决环境依赖问题一步到位 你是不是也遇到过这样的情况:在 GitHub 上找到一个看起来很酷的语音唤醒模型,兴冲冲 clone 下来,结果卡在第一步——pip install 报错、CUDA 版本冲突、PyTorch 和 Fun…

作者头像 李华