3步在Apple Silicon Mac上部署Asahi Linux双启动:完整入门指南
2026/8/23 13:45:44 网站建设 项目流程

3步在Apple Silicon Mac上部署Asahi Linux双启动:完整入门指南

【免费下载链接】docsAsahi Linux documentation项目地址: https://gitcode.com/gh_mirrors/docs157/docs

Asahi Linux 是面向 Apple Silicon Mac 的开源 Linux 项目,让 M1、M2 等机器同时运行 macOS 与 Linux。本教程面向新手,用 3 步带你完成 macOS 与 Asahi Linux 双启动部署:调整分区布局、降低启动安全级别、安装 m1n1 引导程序,文末附验证方法与常见坑速查表。

📦 项目简介:Asahi Linux 双启动适合谁

Asahi Linux 的目标是让 Linux 直接跑在 Apple 自研芯片上,而不是靠转译层模拟。部署完成后,你的 Mac 会在开机时提供两个入口:一个是你熟悉的 macOS,一个是 Linux 引导链的起点 m1n1。

这套方案对你有什么用:

  • 一台机器两种系统,开发调试用 Linux,日常办公继续用 macOS,互不占用内存
  • 不破坏原有 macOS 安装,出问题可以退回原来的系统
  • 掌握 m1n1、stub 分区、安全策略这些概念,后续跟进 Asahi 社区进展不费劲
  • 官方文档明确说明此流程面向内核开发者,流程稳定、每一步都有文档背书,适合想深入理解 Apple Silicon 启动机制的人

✅ 环境自检:动手前逐项核对

开始之前,对照下表检查你的环境和工具是否就绪。

检查项要求必需/可选
硬件Apple M1 芯片的 Mac,推荐 Mac mini(外接 HDMI 显示器),MacBook Air/Pro 也可必需
macOS 版本11.2 或更高,且已完成首次设置、有管理员账号必需
FileVault磁盘加密必须处于关闭状态必需
磁盘空间至少 80GB 可腾出空间给 Linux 分区必需
Linux 开发机任意架构一台;非 arm64 需装 aarch64 交叉编译工具链必需
串口或 USB 调试方案用于查看 m1n1 输出、快速重启测试机可选(强烈推荐)
数据备份用 Time Machine 等方式备份重要数据必需(强烈建议)

🛠️ 操作流程:3步完成双启动部署

第1步:调整分区布局,为Linux分区腾空间

目标:把 macOS 容器缩小,在旁边新建一个名为 "Linux" 的 APFS 分区和 FAT32 引导分区。原因:Apple Silicon 的启动链要求每个 OS 有独立的 APFS 容器,"Linux" 这个名字会直接显示在开机选择界面里。

⚠️ 分区操作会改动磁盘结构,执行前务必完成数据备份。具体分区结构可参考官方分区布局文档。

操作:

  1. 关闭 Mac,按住电源键直到出现"正在加载启动选项",进入恢复环境
  2. 选择"选项",输入管理员密码
  3. 菜单栏打开"实用工具"→"终端"
  4. 先执行diskutil list确认 disk0s2 是 macOS 容器
  5. 依次执行下面的命令;示例容量以 500GB 机型为参考,请按自己的磁盘容量调整
# 缩容macOS容器并创建Linux分区:先缩到200GB,再建80GB的APFS分区和1GB的FAT32分区 diskutil list diskutil apfs resizeContainer disk0s2 200GB diskutil addPartition disk0s2 APFS Linux 80GB diskutil addPartition disk0s5 FAT32 LB 1GB diskutil addPartition disk0s4 FAT32 LR 0

💡 执行这些命令时机器可能冻住几分钟,属于正常现象,不要断电。每条 addPartition 之前都先跑一次diskutil list,因为分区节点编号(disk0s4/s5)在你的机器上可能与示例不同。

第2步:安装引导包装系统并降低安全级别

目标:在 "Linux" 分区里装一份精简的 macOS 作为引导包装,并把它的启动安全策略降到允许加载非 Apple 签名内核的级别。原因:Apple 芯片只认 APFS 容器里的 macOS 引导文件,m1n1 必须"伪装"成这个容器里的内核才能被 iBoot 加载。

恢复模式终端是第2步所有命令的执行位置

⚠️ 这一步会修改系统安全策略,属于高风险操作。执行前再次确认已备份数据。

操作:

  1. 在启动选择界面选择"重新安装 macOS Big Sur",目标磁盘选 "Linux",等待安装完成并自动重启
  2. 完成首次设置,创建管理员账号;确认版本不低于 11.2
  3. 关机后再次按住电源键进入恢复环境,打开终端
  4. 查找 "Linux" 分区的卷组 ID,记住这个 ID
  5. 执行降安全级别命令,按提示选择匹配的 OS install 并输入第 2 步创建的管理员凭据
  6. 关闭 SIP 完成收尾
# 在恢复模式终端中:查找Linux分区的卷组ID diskutil apfs listVolumeGroups | grep -B3 Linux | grep Group # 降低该分区的启动安全策略,选择对应OS install ID bputil -nkcas # 关闭SIP;若报Failed to create local policy,先执行 csrutil clear 再重试 csrutil disable

💡 以后想把这个分区恢复为正常启动 macOS,进入恢复环境终端执行bputil -n即可。

第3步:编译m1n1并安装引导程序

目标:在 Linux 开发机上构建 m1n1,再把产物写入 "Linux" 分区,让 Mac 重启后由 m1n1 接管引导。原因:m1n1 负责硬件初始化和加载后续系统,是双启动链条的第一环。

操作:

  1. 在开发机上安装 aarch64 交叉编译工具链和设备树编译器 dtc(arm64 机器可直接用本机构建)
  2. 克隆项目仓库并编译,产物为build/m1n1.macho
  3. 在开发机上起一个简易 HTTP 服务托管该文件
  4. 在 Mac 的恢复环境终端里拉取文件,用 kmutil 写入 Linux 分区并输入管理员凭据
# 在Linux开发机上:克隆项目并编译m1n1,产物为build/m1n1.macho git clone --recursive https://gitcode.com/gh_mirrors/docs157/docs cd docs make # 用HTTP服务把编译产物传给Mac cd build python3 -m http.server
# 在Mac恢复模式终端:拉取m1n1并安装到Linux分区 curl buildmachine.lan:8000/m1n1.macho > m1n1.macho kmutil configure-boot -c m1n1.macho -C -v /Volumes/Linux

🔍 效果验证:确认双启动部署成功

出现以下现象即代表部署成功:

  • 重启后屏幕不再直接进入 macOS,而是显示 m1n1 的 logo 和初始化输出(m1n1 启动时会替换 Apple logo)
  • 开机按住电源键调出启动选择界面,能看到名为 "Linux" 的新系统入口

启动选择界面中,"Linux"入口与macOS并列,按住电源键即可调出

再执行一条命令做最终确认:

# 在恢复模式终端确认磁盘已出现新的Linux分区与FAT32分区 diskutil list

输出中应能看到新增的 "Linux" APFS 容器和两个 FAT32 分区,与第 1 步的操作结果一一对应。

🩹 常见问题速查

现象原因处理方法
分区命令执行时机器冻住几分钟diskutil 正在重写 APFS 容器数据属正常现象,耐心等待,切勿断电
csrutil 报Failed to create local policy系统安全策略状态不干净先执行csrutil clear重置,再重新降级安全策略
bputil 选不到对应的 OS install卷组 ID 与 "Linux" 分区不匹配重跑 listVolumeGroups 命令,核对并选择 "Linux" 分区的 ID
分区编号和示例不一致(s4/s5 对不上)新分区编号取决于前一个分区的节点名每条 addPartition 前执行diskutil list确认实际节点名
误操作后 Mac 无法开机内部存储或 GPT 分区表被错误写入用另一台 Mac 按 DFU 恢复流程修复;切勿触碰 NOR 闪存

📚 总结与延伸

回顾一下本文的成果:

  • 你在 M1 Mac 上建好了 "Linux" stub 分区,为双启动预留了独立空间
  • 该分区的安全策略已降为 Permissive,允许加载 m1n1 这类非 Apple 内核
  • m1n1 已写入分区,重启后可通过启动选择界面在两个系统间切换
  • 接下来可以基于 m1n1 加载 Linux 内核,逐步体验硬件驱动支持

延伸阅读:

  • Asahi Linux 官方开发者快速入门
  • 项目常见问题 FAQ
  • NVRAM 变量参考

更多硬件细节、启动机制与社区动态,建议直接查阅 Asahi Linux 官方文档库获取最新进展。

【免费下载链接】docsAsahi Linux documentation项目地址: https://gitcode.com/gh_mirrors/docs157/docs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询