简介:Bombardier是一款面向Mac用户与开发者的轻量级实用工具,用Swift 5.3编写,主要解决Boot Camp驱动匹配繁琐的痛点:单击即可下载并解压驱动镜像,支持对Mac型号与驱动包进行排序、筛选和搜索,还能在启动时自动更新型号列表及Apple软件更新目录,必要时可在偏好设置中覆盖或重置目录。打包体积仅567KB,共54个文件,核心为Swift源码、Xcode工程配置、plist与json设置文件,另含PNG界面素材、pkgproj打包脚本、SwiftLint规范文件等,整体目录组织接近正式开源项目,项目要求macOS Big Sur与Xcode 12,正好适合中高级开发者在Swift开发场景中参考。目前已有377人学习下载。通过完整源码可学习命令行工具与图形界面的结合方式、DMG/PKG解析处理、网络目录更新机制,以及偏好设置持久化与辅助功能实现等;同时能直接构建出可用的工具,是一份兼顾实用与教学价值的Mac端Swift项目样本。 用过Mac的人都知道,想在Mac上装Windows,绕不开Boot Camp。装系统本身不难,真正麻烦的是驱动。很多人卡在“启动转换助理”下载Windows支持软件那一步:进度条走一半就失败、速度慢到怀疑人生、下载完还不知道文件缓存到哪。Bombardier就是专门解决这个问题的Mac实用工具,它让你自己选Mac型号,一键下载并提取对应机型的Boot Camp驱动。这篇文章我把完整流程和踩过的坑都写出来,给准备给Mac装Windows、或者需要批量部署驱动的朋友做个参考。
1. 为什么需要Bombardier:Boot Camp驱动下载的痛点
1.1 官方流程到底卡在哪里
先说说正常流程。苹果官方的操作是打开“启动转换助理”,选“下载Windows支持软件”,然后等它自动把驱动包拉到本地。听起来没问题,但实际用起来全是坑。
第一个坑是下载位置不可控。Boot Camp助理会把驱动写到一个固定的系统目录里(一般是/Library/Application Support/BootCamp/下的某个子目录),你没法指定“给我放桌面上”。这个目录还很容易被系统清理工具误删。我自己就经历过一次:驱动下载完了,第二天想找,目录空了,只能重新下载。
第二个坑是网络稳定性。苹果的CDN虽然全球都有节点,但跨地区下载大文件时断流是常事。Boot Camp驱动包动辄1.5GB到3GB(具体看机型,T2芯片和Apple Silicon的机型驱动包明显更大),一旦中途断线,助理不会断点续传,只能从头再来。进度条卡在70%然后报错,是论坛里被吐槽最多的情况。
第三个坑是旧机型驱动获取难。老MacBook Pro(2015年前后的)、老iMac,苹果虽然没有下架驱动,但官方助理有时候会因为你系统版本太高或太低而拒绝下载。我见过一台2013年的MacBook Pro,在Catalina下能正常下载,换到Big Sur之后Boot Camp助理直接提示“不支持此机型”,实际上驱动明明存在。
Bombardier把这三件事全绕开了:手动选型号、手动选下载位置、断线了可以重试。更关键的是,它不止下载,还能把驱动包解压成普通文件夹,直接拷贝走。
1.2 什么场景下最离不开它
用Bombardier的人,大概可以分成三类。
第一类是纯粹装Windows双系统的普通用户。用Boot Camp助理装完Windows后发现没网卡驱动、没触控板驱动,需要重新下载驱动包,但又不想再被助理折磨一次,于是用Bombardier快速拿驱动。
第二类是IT管理员和运维。这个场景特别典型:学校里几十台同型号的iMac,公司里十几台Mac mini,都需要在Windows下运行特定软件。如果每台机器都走一遍Boot Camp助理下载驱动,一天时间就全耗在等进度条上了。正确的做法是:在一台机器上用Bombardier下载并提取驱动,放进U盘或共享目录,然后批量安装。这个思路在winpe部署场景下尤其实用,后面我详细说。
第三类是喜欢折腾的人,比如要在macOS的虚拟机里跑Windows、或者外置SSD上装Windows的。这类场景下Boot Camp助理没法正常工作(因为它要求你装完Windows之后再用它装驱动),但Bombardier是独立工具,不受这个限制,只要机型和驱动匹配就行。
我自己属于第二类和第三类的混合体,家里两台Mac,单位还有测试机,这个工具帮我省了不少时间。
2. 核心原理拆解:Bombardier到底在做什么
2.1 看似“一键”,背后是驱动包的三层结构
想真正用好一个工具,还是得知道它内部干了什么。Bombardier看起来就是个下拉框加按钮的界面程序,但它帮你完成的工作其实分三步:查询、下载、解包。
先看查询部分。Boot Camp驱动的下载链接不是公开的静态地址,而是苹果根据机型、年份、macOS版本动态生成的一个下载请求。苹果服务器上有一个后端接口,你给它机型标识符(比如MacBookPro14,2),它返回一个对应的驱动包地址。Bombardier的界面上让你选“MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)”,其实就是把它翻译成了MacBookPro14,2这个标记发出去。这一步相当于替你完成了Boot Camp助理内部的机型识别逻辑,所以它能绕过“系统版本不支持”这类限制。
再看下载。拿到下载地址后,Bombardier用普通的HTTP下载方式把文件拉下来,默认存放在~/Downloads/Bombardier/目录下。下载下来的原始文件是一个zip压缩包,里面包含一个.dmg镜像文件。这个镜像打开后,里面是BootCampESD.pkg这个安装包。
最后是解包,这一步最有技术含量。.dmg不是一个普通文件夹,它是一个磁盘镜像,而BootCampESD.pkg又是一个平铺式的安装包(Flat Package,不是老的Bundle Package)。Bombardier需要先挂载dmg,再从pkg里提取出所有文件。pkg内部的文件其实是用xar归档、cpio压缩的,里面有一个Payload目录存放真正的驱动文件。Bombardier把这些文件解压出来,最终形成一个普通文件夹,里面包含$WinPEDriver$、AutoUnattend.xml、Drivers等子目录。
这里要提醒一下,$WinPEDriver$这个目录特别重要。它不是给正常Windows用的,而是给Windows预安装环境(WinPE)准备的。批量部署的时候,你会把WinPE启动盘里塞进这个目录,这样从WinPE启动就能加载Mac的存储驱动,否则连硬盘都看不到。
2.2 为什么选择“下载+提取”而不是直接安装
这个设计值得展开说说。很多人会问:反正都是要装驱动,直接在macOS里双击pkg装不就行了吗?或者装完Windows之后在Windows里跑Setup.exe也行啊,为什么非要提取成文件夹?
原因是“提取”这个动作让驱动具备了可分发性。苹果的Boot Camp驱动包设计目标是“在Windows里运行”,它的安装器会在Windows环境里把驱动解压到临时目录再交给驱动安装流程。如果我想把这套驱动用到十台电脑上,总不能每台都下载一遍再跑一遍安装器。
而Bombardier提取出来的文件夹是跨平台可读的。我可以把整个文件夹放到U盘(建议用exFAT或FAT32格式,这样macOS和Windows都能读写),然后带着U盘去装任何一台同型号的Mac。装完Windows后,从U盘打开驱动文件夹,直接运行setup.exe或者手动通过设备管理器更新驱动,效果和苹果官方驱动完全一样。
还有一个更实际的场景:驱动包里的文件提取之后,你还能白嫖里面的细节。比如AutoUnattend.xml是一个无人值守安装应答文件,微软部署工具可以直接调用。再比如Drivers目录里分散着各个硬件厂商的驱动程序,你可以只提取网卡驱动、只提取触控板驱动,不需要整个安装器。这些都是双击pkg做不到的。
所以,Bombardier的核心价值并不是“下载驱动”,而是“把下载和安装解耦,让驱动成为可复用的资产”。
3. 实操过程:从下载到拿到Windows驱动包
3.1 环境准备与第一个坑
开始之前,先准备环境。Bombardier本身是macOS图形应用,但它基于Java开发,所以需要系统里有Java运行时环境。绝大多数Mac默认不装Java,第一次打开Bombardier的时候如果提示找不到Java,就去官网装一个Java 8或更高版本,OpenJDK也可以。
这里就有一个很容易踩的坑:如果你的Mac刚好在防火墙策略比较严格的公司网络里,Java安装器可能下载到一半就被拦截。所以建议优先装OpenJDK,从国内镜像或内网源下载,比Oracle官网稳得多。
另外,磁盘空间必须留够。下载的zip加上解压出来的dmg、pkg、最终提取目录,同一时间可能有三个副本存在,占用空间至少是驱动包原始大小的2倍。驱动包一般是1.5GB到3GB,所以至少要留出8GB剩余空间。有一次我在一台磁盘只剩4GB的Mac mini上跑Bombardier,下载完成后解包到一半直接失败,报错信息特别隐晦,只说“无法完成提取”,实际就是磁盘满了。
3.2 用Bombardier下载驱动的完整步骤
下载安装Bombardier这一步很简单,从GitHub的release页面拿最新版,解压后直接拖入应用程序文件夹就行。首次打开如果遇到Gatekeeper拦截,右键点应用图标选“打开”,然后在弹窗里确认,就能绕过“未验证开发者”的限制。
打开后的界面很简洁,主窗口就三个区域。我按顺序走一遍完整流程:
选择Mac型号。下拉列表里按年份和尺寸分组,有MacBook Pro、MacBook Air、iMac、Mac mini、Mac Pro等。选型号务必仔细,举例来说,同样是13英寸MacBook Pro,2016年和2017年的机型标识符完全不同,驱动包理论上不通用。不确定自己机型的话,打开“关于本机”看“机型名称”那一行,照着填就行。
选择系统版本。部分较新的机型会提供多个版本的Boot Camp驱动,比如有的会区分Windows 10和Windows 11。考虑到现在微软已经明确Windows 10支持即将终止,2025年之后装Windows尽量选Win11版驱动。老机型只有Win10选项,也能正常用。
点击下载。这一步是整个过程中最耗时的。Bombardier会先把zip拉到本地,然后自动解出dmg,再自动挂载镜像,最后解包pkg,所有这些都在一个进度窗口里显示。下载期间不要合盖休眠,休眠会导致网络连接中断,我之前挂机下过一夜,第二天一看进展停在70%,唤醒后连接已经断了,只能重新开始。
选择提取目录。下载并解压完成后,Bombardier默认弹出文件选择窗口,让你指定驱动提取目录。这里我建议单独建一个文件夹,比如
BootCampDrivers-MBP142-Win11,命名里带上机型和系统版本。别用默认的下载目录,那种download-1234的名字回头根本分不清是哪台机器。确认提取结果。提取完成的目录里应该至少有
$WinPEDriver$、AutoUnattend.xml和一个AutoUnattend文件,以及Drivers等子目录。如果发现目录结构不完整,大概率是下载文件损坏,删掉临时文件重新下。
这套流程走下来,第一次用大概要10到20分钟,其中95%的时间都耗在下载上。下载快慢完全看网络环境,实测下来电信宽带的下载速度能到10MB/s以上,某些网络环境可能只有几百KB/s,没有好的办法,只能多试几次或者错峰下载。
3.3 提取后的文件怎么用
拿到提取目录后,具体怎么用取决于你的安装方式。
如果是用Boot Camp助理装Windows,那很简单:在Windows系统里运行提取目录下的setup.exe,它会自动把驱动全部装好,然后重启就好。这个流程和苹果官方的一致,区别只是驱动来源是自己下载的,不依赖网络。
如果是用外置SSD装Windows(很多人用WinToUSB这类工具),进入Windows后打开设备管理器,你会看到一堆带感叹号的未知设备。打开提取目录的Drivers文件夹,在未识别设备上右键选“更新驱动”,手动指定到这个目录,它会自动递归查找匹配驱动。实测下来触控板、无线网卡、声卡、显卡都能找到,前提是目录解压完整。
如果是从WinPE环境安装Windows,那就把提取目录里的$WinPEDriver$文件夹拷到WinPE启动盘,在部署阶段加载驱动时指定这个路径。这一步主要解决的是Intel快速存储技术(Intel RST)驱动问题——如果不预先加载,WinPE会找不到Mac的NVMe硬盘,装系统时直接卡在磁盘选择界面。这个坑非常经典,很多人不知道Mac用的NVMe硬盘也需要额外驱动,还以为是自己U盘没做对。
4. 关键细节与注意事项汇总
4.1 型号匹配与驱动兼容性
型号匹配是整个使用过程中最关键的一环。Bombardier的型号列表看起来很长,但并不是每一台Mac都能找到完全对应的选项。我的经验是:优先找完全一致的年份和尺寸;找不到,就找同系列、同芯片平台、尺寸相近的年份。
道理在于,苹果的Boot Camp驱动本质上跟Mac的具体型号绑定,主要差在芯片组和外部设备控制器的不同。比如2016年到2020年的MacBook Pro,虽然外观几乎一样,但Intel芯片组从第6代一路升级到第10代,驱动不能混用。反过来,2017年的MacBook Pro和2017年的MacBook(12英寸)虽然都是Intel Kaby Lake平台,但主板设计差很多,驱动也不能互用。
所以下载前一定花两分钟确认机型标识符。两个方法:一是“关于本机”里看“机型名称”,二是用终端命令system_profiler SPHardwareDataType | grep "Model Identifier",输出的MacBookPro14,2这种字符串就是最精确的标识。Bombardier的型号下拉框如果能看到这个标识就更稳,看不到的话就按系列和年份靠近。
4.2 存储、网络与安全设置
刚才说了磁盘空间要至少留8GB,这还不够,再强调一个重要细节:Bombardier的临时文件默认在~/Downloads/Bombardier/目录下,它不会主动清理。下载一次驱动,这个目录下会有zip、dmg、以及一些中间解压文件。下次再下另一台机器的驱动,文件会累积。我见过有人这个目录占了30GB,还在纠结为什么磁盘空间不够。建议每用一次,就把这个目录里的历史文件清理干净。
再一个安全设置问题。Bombardier需要挂载磁盘镜像(dmg),macOS的Gatekeeper有可能拦截挂载过程,提示“无法验证开发者”。如果遇到这种提示,不要只想着右键打开,还要去“系统设置-隐私与安全性”里找到对应的允许选项。如果挂载过程被拦截,手动把dmg拷出来、双击挂载,等Bombardier提示“已找到mounted image”之后继续操作,也能绕过这个问题,虽然操作会麻烦一点。
网络方面,我的实际测试是:下载速度受当前网络环境影响很大,且Bombardier本身不支持断点续传。这个问题比较头疼,唯一能做的就是选网络环境好的时候下载,比如大清早或者深夜。如果下到一半断了,Bombardier会报错,但很可能留下一个损坏的半截文件,再次下载前需要手动清理这个文件,否则可能导致解压失败。
4.3 一个常被忽略的部署场景
前面提到的批量部署场景,我再说细一点。如果你是在公司或学校IT部门工作,需要给一批同型号Mac装Windows,这个工具的价值会被放大好几倍。
流程是这样的:在一台机器上用Bombardier下载驱动并提取,把文件夹放到共享目录或者U盘。然后给每台机器装系统,进入Windows后只需要在设备管理器中指向这个共享目录,系统会自动补齐所有驱动。如果配合Windows的部署工具(比如MDT或SCCM),把这个驱动文件夹作为驱动程序包导入,整个部署流程可以做到自动化:机器从WinPE启动、自动分区、自动装系统、自动装驱动、自动加入域,全程不需要人工干预。
这里最需要注意的一点是:驱动必须和机型严格匹配。同一个部署环境里如果有两种不同型号的Mac(比如一批MacBook Pro和一批Mac mini),那就需要分别准备两个驱动包,并在部署任务序列里根据机型做条件分支。把驱动混在一起非常容易导致显卡或无线网卡驱动冲突,装了之后问题不断。
5. 常见问题与排查技巧实录
5.1 问题速查表
用到一定时候,总会遇到各种奇奇怪怪的报错。我整理了一下自己遇到过的高频问题,按“现象-原因-对策”的方式列出来:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 下载速度极慢或卡在0% | CDN节点访问不稳;网络被限制 | 换空闲时段重试;换一个网络环境再试;不要在代理环境下使用 |
| 下载完成后提示解压失败 | 文件不完整;磁盘空间不足 | 清理~/Downloads/Bombardier/下旧文件,重新下载 |
| 打开提示需要Java运行时 | 系统未安装Java | 安装OpenJDK 8或更高版本,重开应用 |
| 打开提示无法验证开发者 | 应用未签名,Gatekeeper拦截 | 右键打开,或到“隐私与安全性”中允许运行 |
| 型号下拉框找不到自己的机型 | 应用版本过旧 | 下载最新release版本 |
| 提取出来的驱动在Windows里装不上 | 驱动包和Windows版本不匹配 | 确认Win10/Win11驱动选择是否正确;更新Windows后再试 |
| 挂载dmg时报“无法打开” | Gatekeeper拦截挂载过程 | 手动双击dmg挂载,再回到Bombardier继续 |
提取目录里没有$WinPEDriver$文件夹 | 提取不完整;下载文件损坏 | 删掉重下,或换一个旧版本驱动再试 |
5.2 两个定位问题的通用思路
排查这类工具的问题,有个通用思路,给还不熟悉macOS后台操作的朋友参考。
第一是看日志。Bombardier的日志输出在~/Library/Logs/下面,或者直接在终端运行命令行版本就能看到日志信息。如果界面报错但不知道原因,打开控制台(Console.app),筛选Bombardier关键字,能定位到具体是哪一步失败。有一次我遇到“找不到dmg内的pkg文件”,日志显示是dmg挂载成功但读取内容超时,本质是机器性能太弱(那台是2012年的老iMac加上HDD磁盘),换了台新机器后问题消失。
第二是查临时目录。Bombardier下载过程中的中间文件都在~/Downloads/Bombardier/下,即使界面报错、操作失败,这些文件很可能还在。通过看临时目录里有什么文件、多大、是否完整,就能判断是哪一步出问题。zip下载了一半,说明是网络;zip完整但dmg丢了,说明是解压过程中文件系统问题。这个思路能省去很多反复重试的时间。
5.3 一些提高成功率的操作习惯
说实话,Bombardier这款工具本身很成熟,大部分失败都是外部环境造成的。几个操作习惯能明显提高成功率:
下载前清空临时目录里的旧文件,避免磁盘空间不足,也避免残留文件影响新下载任务的判断。
选好型号后双击确认,再开始下载,不要下载过程中又切换机型,会导致下载的模型和提取的驱动不匹配。
提取目录不要选在iCloud同步的文件夹下。驱动包大量小文件,iCloud同步会导致文件系统频繁锁定,提取速度变慢甚至失败。放在本地非同步目录最稳妥。
装完驱动后不要急于删掉Bombardier和中间文件。Windows里驱动状态看似正常,实际使用两天后可能出现某个硬件驱动冲突,到时候需要重新提取特定驱动,如果保留提取目录,再进Windows就方便多了。
最后再分享一点个人经验。我用了Bombardier大概三年,从最初每次重装Windows都提心吊胆,到现在稳定复现流程,最大的感受是:工具解决了“下载”这个最大的不确定性,剩下的只是细节问题。遇到失败不要急着重试,先检查临时目录和日志,通常花五分钟排查就能定位到根因。如果你也在为Boot Camp驱动发愁,这个工具值得放进收藏夹。
本文还有配套的精品资源,点击获取