Loading... # 在 Linux 上将 macOS 安装文件写入 NVMe 硬盘 # 一、概述 ## 1. 简介 本文介绍如何在 Linux 系统中将 macOS 安装 DMG 文件写入 NVMe 硬盘,创建可启动的 macOS 安装盘。 ## 2. 适用场景 - 需要在 Mac 上重新安装 macOS 系统 - 制作 macOS 启动安装盘用于多台机器 - 使用 NVMe 硬盘作为安装介质 ## 3. 前置知识 ### A. 必备技能 - 基本 Linux 命令行操作 - 了解磁盘设备和挂载概念 ### B. 注意事项 - 写入操作会完全清除目标硬盘的数据 - 需要 root 权限执行写入命令 - 确保正确识别目标设备,避免误写入系统盘 # 二、环境准备 ## 1. 系统要求 - Linux 操作系统(Ubuntu、Debian、CentOS 等) - sudo 权限 - 目标 NVMe 硬盘已连接并识别 ## 2. 所需工具 Linux 系统自带 dd 工具,无需额外安装。 # 三、操作步骤 ## 1. 检测目标硬盘 使用 lsblk 命令查看所有磁盘设备: ```bash lsblk -d -o NAME,SIZE,MODEL ``` 输出示例: ``` NAME SIZE MODEL sda 465.9G APPLE SSD SM0512G sdb 238.5G 256G NVMe KIOXIA ``` 确认目标设备名称,本例中为 /dev/sdb。 ## 2. 确认 DMG 文件 查看 DMG 文件信息: ```bash ls -lh InstallOS.dmg ``` 输出示例: ``` -rw-rw-r-- 1 lab lab 4.7G 10月 24 2019 InstallOS.dmg ``` ## 3. 写入 DMG 到硬盘 使用 dd 命令将 DMG 文件写入目标硬盘: ```bash sudo dd if=/path/to/InstallOS.dmg of=/dev/sdb bs=4M oflag=direct status=progress ``` 参数说明: - if:输入文件(DMG 文件路径) - of:输出设备(目标硬盘) - bs:块大小,4M 可提高写入速度 - oflag=direct:绕过系统缓存,直接写入设备 - status=progress:显示实时进度 ## 4. 等待写入完成 写入过程会显示实时进度: ``` 5007882126 bytes (5.0 GB, 4.7 GiB) copied, 170.37 s, 29.4 MB/s ``` 写入时间取决于硬盘速度,通常需要几分钟。 # 四、工作原理 ## 1. DMG 文件格式 DMG 是 Apple 的磁盘镜像格式,支持压缩和加密。写入时,dd 命令会自动处理解压缩。 ## 2. 数据流向 ```mermaid graph LR A[DMG 文件] -->|dd 读取| B[解压缩] B -->|直接写入| C[NVMe 硬盘] C -->|可启动| D[macOS 安装盘] ```  ## 3. 写入后硬盘结构 硬盘将被格式化为 macOS 可识别的分区结构,包含启动文件和系统镜像。 # 五、验证结果 ## 1. 检查写入结果 使用 fdisk 查看硬盘分区信息: ```bash sudo fdisk -l /dev/sdb ``` 应该能看到 macOS 特定的分区类型(如 Apple HFS 或 APFS)。 ## 2. 在 Mac 上测试 将硬盘连接到 Mac,启动时按住 Option 键,应该能看到安装盘选项。 # 六、常见问题 ## 1. 找不到目标设备 **问题**:lsblk 没有显示目标硬盘 **解决方法**: - 检查硬盘连接是否牢固 - 尝试更换 USB 接口或 SATA 接口 - 运行 sudo partprobe 重新扫描磁盘 ## 2. 权限不足 **问题**:dd 命令提示权限 denied **解决方法**: - 确保使用 sudo 执行命令 - 检查当前用户是否在 sudo 组中 ## 3. 写入速度慢 **问题**:写入速度远低于预期 **解决方法**: - 确保使用 USB 3.0 或更高版本接口 - 尝试调整 bs 参数(如 8M、16M) - 检查硬盘是否处于省电模式 ## 4. 写入后无法启动 **问题**:硬盘写入成功但 Mac 无法识别 **解决方法**: - 确认 DMG 文件完整性 - 检查 Mac 是否支持该 macOS 版本 - 尝试重新写入 # 七、技术要点 ## 1. 为什么使用 oflag=direct oflag=direct 绕过系统页缓存,直接写入设备。这样做的好处: - 避免缓存占用大量内存 - 确保数据真正写入硬盘 - 提供更准确的进度信息 ## 2. 块大小选择 块大小(bs)影响写入效率: - 太小(如 512B):频繁 I/O,速度慢 - 太大(如 1G):占用大量内存 - 推荐值:4M-16M 之间 ## 3. DMG 压缩比 DMG 文件通常经过压缩,实际写入的数据量可能大于文件大小。本例中 4.7GB 的 DMG 解压后写入约 5GB 数据。 # 八、总结 在 Linux 上将 macOS 安装文件写入 NVMe 硬盘是一个简单的过程,核心是使用 dd 命令。关键要点: 1. 正确识别目标设备,避免误操作 2. 使用合适的参数提高写入效率 3. 写入完成后验证结果 整个过程通常只需要几分钟即可完成。 *** ## 参考资料 1. [dd 命令官方文档](https://man7.org/linux/man-pages/man1/dd.1.html) 2. [macOS 恢复模式使用指南](https://support.apple.com/zh-cn/HT201314) 最后修改:2026 年 04 月 02 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏