
后台隔三差五就有人问我“博主有没有 macOS 的 dmg 镜像下载链接给一个呗。”我的回答基本都是同一句别在网上下官方明明能自己拉。很多人觉得 macOS 系统镜像这种重货一定要靠第三方工具或者别人整理好的网盘链接才能搞到手其实从苹果官方渠道直接下载完整安装器全程不需要装任何额外软件而且下载下来的东西签名完整、哈希可验证比你从陌生站点拖回来的 dmg 安全得多。这篇指南就是围绕“macOS 官方镜像下载”这件事展开的。我会讲清楚为什么不推荐第三方站点官方渠道有哪些重点演示用 softwareupdate 命令行和 App Store 两种“零第三方工具”的方式拿到安装器再教你从安装器里提取 dmg、制作启动盘甚至转 iso 给虚拟机用。无论你是准备重装系统、给电脑升个级还是想在虚拟机上体验新版 macOS看完这篇都能自己动手搞定。这里先提前说一句全文提到的命令和路径都是 macOS 系统自带的不需要你去 GitHub 拉脚本也不需要安装任何图形化下载器。你在自己的 Mac 上打开终端复制命令回车就能看到我看到的东西。1. 先搞清楚macOS 镜像到底去哪找1.1 为什么“直接搜 dmg 下载”是坑很多朋友习惯谷歌一下“macOS dmg 下载”然后点进各种“macOS 某某版本官方镜像”的页面。这类站点看起来挺正规标题写着“官方原版”“高速下载”进去之后要么让你先下个下载器要么给你一个几十 GB 的网盘链接解压密码还要加群才有。先说结论这条路大概率踩坑而且不止一个小坑。第一是安全风险。你无法确认第三方站点有没有在 dmg 里植入额外的东西。这些年安全圈里出现过不少“伪装成系统镜像的恶意软件”案例甚至有人在镜像里塞了挖矿脚本装完系统之后 CPU 一直在偷笑。你辛辛苦苦下载了几个小时最后系统没装上反而把个人信息送出去了这个买卖太亏。第二是版本错乱。macOS 的大版本和机型有严格的对应关系M 系列芯片和 Intel 芯片能装的不完全一样。第三方站点为了流量往往标题党你下载回来发现“无法安装此版本”或者安装到一半才提示固件不兼容白白浪费时间。第三是文件损坏。网盘下载大文件很容易出现校验不一致的情况而第三方站点很少提供官方哈希值。你根本不知道自己下载的文件是否完整装到一半卡住或者提示安装器损坏又得从头再来。所以官方渠道才是唯一靠谱的答案。官方下载的其实不是传统意义上的“一个 dmg 文件”而是一个Install macOS 某某.app安装器。这个 app 从结构上看是一个目录包里面装着真正用于安装系统的内核镜像、恢复系统、固件等内容——也就是你真正想要的 dmg 类文件只是苹果把它们封装在 app 里了。后面我会专门讲怎么把里面的 dmg 取出来。1.2 官方渠道就这三条苹果给普通用户准备的正规获取渠道不绕弯就三条。渠道适用场景是否需要第三方工具操作难度App Store 搜索下载老版本图形化获取适合不习惯命令行的用户否低系统设置 / 软件更新在线升级到下一代大版本否低softwareupdate 命令行批量下载、指定版本、脚本化操作否中Apple 支持页面下载获取特定版本的 InstallAssistant.pkg否中这里面最值得掌握的是 softwareupdate 命令行。它下载的就是完整安装器而且支持指定大版本和小版本比你打开 App Store 慢慢翻靠谱得多。至于 App Store在最近几年的大版本里已经“改版”了很多时候你搜不到安装器只能通过系统设置里的软件更新触发下载。Apple 支持页面则更适合去找一些旧版本安装包比如 Catalina、Monterey 的老版本。顺着这个思路下面从最推荐的命令行方案开始。2. 首选方案softwareupdate 命令行下载完整安装器2.1 三条核心命令从 macOS Catalina 后期开始系统自带的 softwareupdate 工具就支持直接获取完整安装器不需要打开任何图形界面。整个过程说白了就是三条命令。第一步先看看官方目前开放了哪些完整安装器。softwareupdate --list-full-installers我的机器上运行之后会列出一串类似下面的信息Finding available software Scanning for eligible installations on this Mac Installation User: xxx Software Update found the following full installers: 14.5 macOS Sonoma - 13.85 GB 13.6.7 macOS Ventura - 13.6 GB 12.7.5 macOS Monterey - 12.9 GB注意列表里的“13.85 GB”是安装器在下载时的体积不是安装完系统的占用空间。你也能看到苹果只会保留最近几个大版本的全量安装器更老的版本不会出现在列表里。第二步直接下载最新或指定版本。# 下载列表里找到的最新版 softwareupdate --fetch-full-installer # 指定版本下载例如 Sonoma 14.5 softwareupdate --fetch-full-installer --full-installer-version 14.5不指定版本时会默认下载当前最新的大版本。指定版本时版本号要写全比如 14.5 而不是 14。如果版本号写错命令会直接报错找不到匹配项。第三步等命令跑完去 /Applications 目录里找安装器。ls /Applications | grep Install macOS正常情况下你会看到类似Install macOS Sonoma.app的东西出现在列表里。到此为止官方安装器已经完整落到本地全程没碰任何非系统自带工具。2.2 下载过程中那些容易被忽略的细节用命令行下载看似简单实际执行起来有几个细节如果不注意很容易让人误以为“卡住了”。第一个细节是输出几乎不动。softwareupdate --fetch-full-installer在下载阶段可能长时间不显示进度百分比终端里只有一行“Downloading full installer……”或者干脆什么都不刷。这时候千万别急着 CtrlC下载是在后台进行的。你可以打开活动监视器在“网络”标签里看有没有进程在大量上传下载数据确认它还在干活。第二个细节是磁盘空间。完整安装器动辄 13GB 以上下载过程还会额外占用临时空间实际建议至少留 25GB 可用空间。如果空间不够命令会在下载到一半时突然报错退出而且不会告诉你具体缺多少。第三个细节是断点续传。这个命令不能像下载器那样按进度续传中断之后重新执行它会重新开始。不过苹果的 CDN 速度通常不慢现在宽带网络下大版本安装器 20 到 40 分钟拉完属于正常水准。你要是反复下载到一半断掉可以先检查磁盘空间、换一个网络环境再试别硬刚。第四个细节是系统版本限制。如果你的 Mac 还在 Mojave 或更早的系统上softwareupdate 不一定支持--fetch-full-installer。老系统请直接跳到后面讲 App Store 的部分。2.3 拿到 app 之后先做三件事下载完成后不要急着双击安装建议先做三件事等于给安装器做个“体检”。第一校验签名。在终端里执行codesign -v --verbose /Applications/Install macOS Sonoma.app没有任何错误输出就说明 app 签名是完整有效的。苹果会用自己的开发者证书给安装器签名如果签名不通过八成是下载过程中文件损坏或者被动过手脚。第二计算哈希。如果你从别的机器上拷贝过安装器或者想在未来某个时间点验证文件完整性可以先算一个 SHA-256 存起来shasum -a 256 /Applications/Install macOS Sonoma.app/Contents/SharedSupport/SharedSupport.dmg不同版本的哈希值不一样苹果官方没有集中公布每个版本的哈希列表但社区中流传的版本哈希可以拿来参考。重点不是去背哈希而是养成“下载完先算一遍再动手”的习惯尤其当你手头安装器是同事或朋友拷贝给你的时候。第三用磁盘工具或 Finder 把它拷到你准备好的移动硬盘上。安装器 app 是可以直接复制的复制完在别的机器上一样能用。这样你就有了一份离线备份以后重装系统不需要再重新下载十几 GB。我一般会专门留一块移动硬盘按版本号建立目录把安装器统一归档省得每次急用的时候到处找。3. 图形化方案App Store 与官方支持网页3.1 App Store 里怎么稳定获取如果你不想碰命令行App Store 是另一个零第三方工具的选择。不过在较新的系统版本上直接在 App Store 里搜索“macOS”有时候找不到安装器苹果已经把这套逻辑梳理得很绕了。在 Catalina 或更早的系统上你打开 App Store 搜索“Catalina”或者“Mojave”通常能看到对应的 macOS 页面点“获取”之后会自动下载安装器到应用程序文件夹。这个流程在老系统上非常稳定。但在 Big Sur 及之后的系统上App Store 里基本搜不到新版本的安装器页面。苹果把系统升级入口收敛到了“系统设置 → 通用 → 软件更新”。你点“软件更新”里的升级提示系统会在后台把完整安装器下载到 /Applications 里。很多人不知道的是这时候下载的其实就是一个Install macOS 某某.app在“软件更新”提示“正在准备安装”的时候只要你不立即重启它就会一直待在应用程序文件夹里。如果你只想保留安装器而不想立刻升级可以打开活动监视器找到softwareupdated进程在下载等它下载完去 /Applications 目录把安装器复制走然后忽略重启提示就行。这里有一个实操技巧如果“软件更新”只提示“您的 Mac 是最新版本”看不到其他大版本升级入口可能是你当前系统太老无法直接跨版本跳转。比如你在 Catalina 上系统不会主动给你推送 Sonoma。这种时候要么先用后面讲的支持页面下载方式拿安装器要么先手动升到中间版本再继续跳。3.2 老版本系统去哪下想下载旧版本的 macOS 安装器上面两条渠道都不一定好使。苹果其实在官方支持站点挂了历史版本的下载入口。打开苹果官网的支持页搜索“如何下载 macOS”能找到一篇名为“如何下载和安装 macOS”的支持文章里面列出了从 Ventura 到 Catalina 等多个版本的外链。点击链接后系统会用两种方式之一做出响应要么弹出 App Store 对应页面要么直接把下载请求转给“软件更新”甚至有的老版本会直接通过浏览器下载一个 InstallAssistant.pkg 文件。InstallAssistant.pkg 是苹果分发的安装包格式双击之后它会把你需要的那版安装器装进 /Applications。下载它不需要第三方工具用的是浏览器自带下载。需要注意的是老版本安装器不一定能在最新芯片的新机器上运行。比如 M3 系列的 MacBook Air官方支持的最低版本可能是 Sonoma 或 Ventura 之后的版本。你要是在新机器上强行安装一个远古版本安装程序会直接拒绝或者卡在固件验证阶段因为系统里缺少对应机型的桥接固件。另外苹果对旧版本的“分发有效期”做得很隐蔽。有时候支持页面看起来有链接点进去却提示“此项目当前不可用”。这不是你的问题是苹果那边关闭了该版本的新增下载。遇到这种情况就要用到 3.3 里的目录解析技巧或者直接接受现实用 available 列表里能下载到的最高版本。别钻牛角尖系统太老不是用三方包的理由官方不给的版本你从别处拿回来也大概率装不上。3.3 进阶解析软件更新目录抓安装包不甘心只下载列表里那几个版本想自己找更精确或者更旧的官方安装包可以用另一个系统自带能力软件更新目录sucatalog。软件更新目录是一份巨大的 plist 文件记录了苹果 CDN 上几乎所有与系统更新相关的资源地址。里面不只有增量更新包也包含完整安装器 InstallAssistant.pkg 的下载链接。用系统自带的 curl、plutil、grep 工具就能解析它。大致流程如下# 1. 下载最新的软件更新目录 curl -O https://swscan.apple.com/content/catalogs/others/index-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz # 2. 解压 gunzip -k *.sucatalog.gz # 3. 用 plutil 把 plist 转成 JSON方便搜索 plutil -convert json -o sucatalog.json *.sucatalog # 4. 从 JSON 里把所有 InstallAssistant.pkg 地址捞出来 grep -o https://[^]*InstallAssistant.pkg sucatalog.json | sort -u执行完最后一步你会看到一批形如https://swdlcdn.apple.com/...的官方下载地址。随便挑一个用 curl 或浏览器下载拿到的就是官方签名的完整安装包。这个方法的本质是“代替软件更新客户端去问苹果要下载地址”用的全部是 macOS 自带工具。要提醒一句你挖出来的地址在时效性上并不保证永久有效苹果有可能会在某个版本停止分发后同时关掉 CDN 链接。而且这个目录内容非常庞大第一次跑 grep 的时候输出会很多耐心筛选即可。4. 从安装器里提取 dmg启动盘与虚拟机两手抓4.1 安装器结构InstallESO.dmg 与 SharedSupport.dmg很多人从头到尾想要的就是一个 dmg 镜像文件。理解安装器内部结构这一步才有意义。不同版本的 macOS 安装器内部结构是不一样的。Catalina 及更早的系统安装器 app 内部存在一个Contents/SharedSupport/InstallESO.dmg文件。这个 dmg 是整个系统的安装镜像核心。到了 Big Sur 之后苹果改成了Contents/SharedSupport/SharedSupport.dmg它里面同时包含了系统镜像、恢复系统以及固件更新资源。Big Sur 到目前最新版本基本沿用这个结构只是个别版本会追加一些小型组件。这个变化带来的直接影响是你在网上看到的老教程如果教你从安装器里提取 InstallESO.dmg在 Big Sur 之后的安装器里可能会扑空。正确做法是直接看Contents/SharedSupport/目录下到底放了什么东西再决定下一步。查看内部文件很简单右键安装器 app选择“显示包内容”一路进到 Contents/SharedSupport/ 就能看到。你手动提取的脚本逻辑也可以围绕这个目录展开。4.2 制作官方启动U盘无需第三方工具拿到官方安装器之后最常用的操作之一就是制作启动 U 盘。macOS 自带 createinstallmedia 命令它就藏在安装器 app 的 Contents/Resources 目录里。先准备一个至少 16GB 的 U 盘建议用 32GB 或更大速度尽量选 USB 3.0 以上。把 U 盘插到 Mac 上打开“磁盘工具”将它抹掉格式选择Mac OS Extended日志式方案选GUID 分区图名称可以起成MyVolume或者任何你喜欢的英文名。然后打开终端执行sudo /Applications/Install macOS Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --nointeraction命令里的路径要替换成你实际的安装器名称和 U 盘卷名。--nointeraction参数会跳过交互确认适合脚本化执行实际手动操作时加不加都行。执行过程中系统会先把 U 盘完全抹掉再把安装器数据写入最后显示Install media now ready之类的提示。命令执行完这个 U 盘就具备了引导安装的能力。它跟你在 App Store 里点下载后看到的安装包不同启动 U 盘是一个完整的安装介质可以给这台 Mac 重装系统也可以插到别的兼容 Mac 上引导安装。整个流程没有任何图形化第三方工具的参与官方原汁原味。要是你想“把整个硬盘的 macOS 系统克隆到外置优盘”那不属于 createinstallmedia 的职责它创建的是全新安装介质不会迁移你现有的用户数据和应用。做全盘克隆需要用到“恢复模式”里的磁盘工具恢复功能或者asr命令那是另一个话题。4.3 把 dmg 转 iso 给虚拟机用有些朋友是想把 macOS 装进虚拟机比如用 VMware 或者 UTM。这种情况下 dmg 文件往往不能直接挂载你更想要一个 iso 镜像。先说说怎么拿到 dmg。如果你用的是 Big Sur 之后版本的安装器直接进入安装器包内容把SharedSupport.dmg复制出来就行cp /Applications/Install macOS Sonoma.app/Contents/SharedSupport/SharedSupport.dmg ~/Desktop/如果你手头只有 InstallAssistant.pkg可以用系统自带的 pkgutil 工具解包它会展开出里面有价值的 payloadpkgutil --expand-full InstallAssistant.pkg ~/Desktop/pkg_expand展开之后在不同的 pkg 版本中你可能会看到InstallESO.dmg、SharedSupport.dmg或者一个完整的Install macOS 某某.app。找到对应的镜像文件先挂载起来看看内容有没有问题hdiutil attach ~/Desktop/SharedSupport.dmg -noverify挂载成功后在 /Volumes 下会多出一个卷宗这个卷宗本质上是可引导的安装盘。如果你想把它做成 iso可以用 hdiutil 先创建一个空白 dmg把安装器放进去再通过 makehybrid 转换成 iso。参考命令如下# 1. 创建空白 dmg大小根据安装器实际尺寸调整 hdiutil create -o /tmp/macOS_seat.dmg -size 16g -layout SPUD -fs HFSJ # 2. 挂载空白 dmg hdiutil attach /tmp/macOS_seat.dmg -noverify -mountpoint /Volumes/macOS_build # 3. 把安装器 app 复制进空白 dmg sudo cp -R /Applications/Install macOS Sonoma.app /Volumes/macOS_build/ # 4. 用 makehybrid 生成 iso hdiutil makehybrid -iso -joliet -o /tmp/macOS_Sequoia.iso /Volumes/macOS_build # 5. 停用并清理临时 dmg hdiutil detach /Volumes/macOS_build这个流程做出来的 iso 实际上是一个包含完整安装器 app 的镜像。在虚拟机软件里把它作为光驱加载开机按住 Option 键或者直接选光盘启动理论上可以进入安装界面。如果你的虚拟机引导不顺利更稳妥的做法是先把官方启动 U 盘做好再把 U 盘设备直通给虚拟机。不同虚拟机对 macOS 启动介质的支持程度差异很大这点要有心理准备。还要注意机型架构的问题。M 系列芯片的 Mac 只能虚拟化 ARM 版 macOSx86 版的镜像在 Apple Silicon 虚拟机上没法跑反过来Intel 芯片的虚拟机也无法直接启动 ARM 版。下载安装器之前先搞清楚自己环境的架构别折腾半天发现根本搭不上边。5. 常见问题与排查技巧实录5.1 “无法获取完整安装器”怎么破用 softwareupdate 下载时偶尔会遇到No such update或者Could not find the requested version这类报错。先别慌按顺序排查。首先确认你指定的小版本号还存在。苹果会定期关闭旧版本的分发你写了一个已经下线的版本号命令就会找不到。解决办法是去掉版本号参数只跑softwareupdate --fetch-full-installer看它能给什么或者用--list-full-installers拉一遍当前可用的版本列表拿列表里的版本号重新指定。其次检查系统版本是否过老。softwareupdate 的完整安装器功能在 Catalina 之后才逐渐普及老系统上的 softwareupdate 根本没有这个选项自然报错。这种时候换用 App Store 或者支持页面渠道。第三如果报错信息提到“网络连接失败”之类先检查代理设置。很多公司或者宿舍网络会强制走一层代理而 softwareupdate 命令有时候不会自动读取系统代理配置。清除环境变量里的 http_proxy / https_proxy 再试或者换成手机热点网络测试。5.2 下载速度慢、老是中断怎么办大版本安装器十几 GB长时间下载中偶尔中断很正常。我的经验是做好三步准备。第一步下载前确保磁盘空间充足前面提过至少留 25GB。这个很多人忽略下载到 90% 才报磁盘已满非常崩溃。第二步选择合适的网络和时间段。苹果 CDN 在国内高峰时段的速度会明显下降你换到清晨或者深夜试速度可能快一倍不止。不是玄学是真有区别。第三步如果局域网里有人在打游戏或者看高清视频带宽争抢会导致下载过程非常不稳定。直接给 Mac 插网线或者用手机 5G 热点跑一次往往能解决中断问题。最后再补一句下载速度慢的时候别反复 CtrlC 重来。中断后重新执行下载命令会从头开始你之前等的那半小时就白等了。宁可多等一会儿让它自己跑完也别手贱中断。5.3 安装器提示损坏/未签名怎么处理下载完安装器双击运行却提示“安装器已损坏请将它移到废纸篓”这个弹窗在 macOS 上极其常见而且十有八九不是安装器真的损坏了。最常见的原因是系统时间不对。新装系统或者长时间没有联网同步时间的机器时间基准偏差过大时系统对代码签名的验证会失败从而误报“已损坏”。解决办法是打开“系统设置 → 通用 → 日期与时间”确保“自动设置时间与日期”已打开或者干脆重启一次路由器和 Mac。如果时间没问题再用 codesign 手动验证一次codesign -v --verbose /Applications/Install macOS Sonoma.app如果签名验证失败并且文件是通过网络下载的建议删除重下。如果是从 U 盘或者移动硬盘拷贝的先确认源文件在源机器上签名是否正常再考虑是不是拷贝过程中文件结构被破坏。还有一个隐蔽原因是 macOS 的安全策略太严。默认情况下从浏览器下载的 app 会被标记为“来自互联网”双击时需要在访达里右键选择“打开”再点“打开”按钮才能绕过 Gatekeeper 的警告。这不是损坏只是安全机制。5.4 问题速查表现象可能原因解决办法--list-full-installers 只有少量版本苹果关闭了老版本分发用 --fetch-full-installer 获取当前可用版本下载到一半中断进度清零磁盘空间不足/网络抖动/代理干扰清理空间、换网络、别乱中断安装器提示已损坏系统时间不准/签名校验失败校准时间、重新验证签名、重新下载安装器提示不适用于此机型版本太老/固件不匹配改下载新版安装器或换兼容设备新机器想装老版本系统Apple 已关闭分发老老实实装官方支持的新版本虚拟机不识别 iso架构不对/镜像结构不适合当前虚拟机做官方启动 U 盘直通或换用 UTM/VMware 相应配置我个人在实际操作中的体会是macOS 镜像下载这件事九成以上的问题都出在“不信任官方渠道”和“文件来源不可验证”上。只要你能忍住不去点那些来路不明的网盘链接坚持用系统自带的命令或官方支持站点整个流程其实比想象中顺畅很多。最后再分享一个小技巧每次下载完安装器复制一份存进移动硬盘或者 NAS顺手记下版本号和 SHA-256 哈希时间久了你会攒下一个“官方安装器离线库”以后不管是给同事救急还是给虚拟机装系统都是几分钟的事。