核心是实现macOS首次启动时自动执行预设配置、跳过交互、静默安装并完成个性化设置,需三步协同:制作多分区可扩展启动盘、注入定制内容(pkg包与setup.sh脚本)、通过startosinstall --automation或Apple Configurator 2实现无人值守流程。

用引导 U 盘为实验室批量部署定制化 macOS,核心不是“能启动”,而是让每台 Mac 在首次启动时自动执行预设配置、跳过交互、静默安装系统并完成个性化设置。这需要三步协同:制作带自动化能力的启动盘、注入定制内容、设计无人值守流程。
先做可启动 + 可扩展的多分区 U 盘
单一分区 U 盘只能装一个版本,不适合实验室多机型、多需求场景。推荐用 64GB 或更大 U 盘,分 3–4 个独立 APFS 宗卷(不跨卷共享空间),每个宗卷对应一个 macOS 版本(如 Sequoia、Sonoma、Ventura):
- 打开「磁盘工具」→ 选中 U 盘设备(不是卷)→ 点「分区」→ 点「+」新增分区,依次命名为 Sequoia、Sonoma、CustomTools
- 每个系统分区格式选 APFS,方案为 GUID 分区图;CustomTools 卷建议用 Mac OS 扩展(日志式),方便存放脚本、配置包、证书等非系统文件
- 分别对每个系统卷执行
createinstallmedia:例如sudo /Applications/Install\ macOS\ Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/Sequoia
在启动盘里嵌入定制化逻辑
官方安装器默认无自动化能力,需通过「启动时挂载自定义卷 + 运行 postinstall 脚本」实现定制。关键操作在 CustomTools 卷中准备:
- 放入预编译的 pkg 安装包(如部署统一管理策略、预装实验室专用软件、配置 Dock 和 Finder 默认项)
- 写一个 setup.sh 脚本,含:
installer -pkg /Volumes/CustomTools/lab-tools.pkg -target /、defaults write ...等命令,并赋予执行权限:chmod +x setup.sh - 把脚本路径写入 /Volumes/CustomTools/.autoexec(纯文本文件,仅存一行:/Volumes/CustomTools/setup.sh)
让每台 Mac 首次启动自动运行定制流程
macOS 安装器本身不支持开机即执行脚本,但可通过「恢复模式下注入启动参数 + 自定义恢复环境」绕过限制。最稳定的做法是使用 startosinstall 的 automation 参数(仅限 macOS 12.3+):
- 在终端中,对目标卷(如内置 SSD)执行静默安装命令:
sudo /Volumes/Sequoia/macOS\ Installer.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --automation --installpackage /Volumes/CustomTools/lab-tools.pkg - 将该命令保存为 run-install.command 放入 CustomTools 卷,再配合「启动时按 Cmd+R 进恢复模式 → 终端中手动运行」——适合小批量校验
- 真正批量时,建议用 Apple Configurator 2 配合此 U 盘:连接 Mac → 选择「高级恢复」→ 指定启动宗卷为 Sequoia → 勾选「自动安装」并绑定 CustomTools 中的 pkg 包,Configurator 会接管整个流程并报告每台设备状态
验证与交付前必做的几件事
实验室环境强调一致性与可复现性,不能只看“能装上”:
-
签名与公证:所有 pkg 包必须用 Apple Developer ID 签名,否则 macOS 会拦截;若用自签名,需提前在每台 Mac 上执行
spctl --master-disable(仅测试阶段) - 硬件兼容性检查:不同 Mac 机型对 Secure Boot 和 T2/Apple Silicon 启动要求不同,U 盘需同时包含 Intel 和 Apple Silicon 兼容的安装器(Sequoia 支持两者,Ventura 及更早需区分)
-
日志留存:在 setup.sh 开头加
exec >> /var/log/lab-deploy.log 2>&1,记录每台设备的部署时间、成功状态、错误码,便于后续审计


















