拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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

3步在Apple Silicon Mac上部署Asahi Linux双启动完整入门指南【免费下载链接】docsAsahi Linux documentation项目地址: https://gitcode.com/gh_mirrors/docs157/docsAsahi 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 这个名字会直接显示在开机选择界面里。⚠️ 分区操作会改动磁盘结构执行前务必完成数据备份。具体分区结构可参考官方分区布局文档。操作关闭 Mac按住电源键直到出现正在加载启动选项进入恢复环境选择选项输入管理员密码菜单栏打开实用工具→终端先执行diskutil list确认 disk0s2 是 macOS 容器依次执行下面的命令示例容量以 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步所有命令的执行位置⚠️ 这一步会修改系统安全策略属于高风险操作。执行前再次确认已备份数据。操作在启动选择界面选择重新安装 macOS Big Sur目标磁盘选 Linux等待安装完成并自动重启完成首次设置创建管理员账号确认版本不低于 11.2关机后再次按住电源键进入恢复环境打开终端查找 Linux 分区的卷组 ID记住这个 ID执行降安全级别命令按提示选择匹配的 OS install 并输入第 2 步创建的管理员凭据关闭 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 负责硬件初始化和加载后续系统是双启动链条的第一环。操作在开发机上安装 aarch64 交叉编译工具链和设备树编译器 dtcarm64 机器可直接用本机构建克隆项目仓库并编译产物为build/m1n1.macho在开发机上起一个简易 HTTP 服务托管该文件在 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 官方开发者快速入门项目常见问题 FAQNVRAM 变量参考更多硬件细节、启动机制与社区动态建议直接查阅 Asahi Linux 官方文档库获取最新进展。【免费下载链接】docsAsahi Linux documentation项目地址: https://gitcode.com/gh_mirrors/docs157/docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门