
简介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. 为什么需要BombardierBoot Camp驱动下载的痛点1.1 官方流程到底卡在哪里先说说正常流程。苹果官方的操作是打开“启动转换助理”选“下载Windows支持软件”然后等它自动把驱动包拉到本地。听起来没问题但实际用起来全是坑。第一个坑是下载位置不可控。Boot Camp助理会把驱动写到一个固定的系统目录里一般是/Library/Application Support/BootCamp/下的某个子目录你没法指定“给我放桌面上”。这个目录还很容易被系统清理工具误删。我自己就经历过一次驱动下载完了第二天想找目录空了只能重新下载。第二个坑是网络稳定性。苹果的CDN虽然全球都有节点但跨地区下载大文件时断流是常事。Boot Camp驱动包动辄1.5GB到3GB具体看机型T2芯片和Apple Silicon的机型驱动包明显更大一旦中途断线助理不会断点续传只能从头再来。进度条卡在70%然后报错是论坛里被吐槽最多的情况。第三个坑是旧机型驱动获取难。老MacBook Pro2015年前后的、老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 Pro2016年和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年的MacBook12英寸虽然都是Intel Kaby Lake平台但主板设计差很多驱动也不能互用。所以下载前一定花两分钟确认机型标识符。两个方法一是“关于本机”里看“机型名称”二是用终端命令system_profiler SPHardwareDataType | grep Model Identifier输出的MacBookPro14,2这种字符串就是最精确的标识。Bombardier的型号下拉框如果能看到这个标识就更稳看不到的话就按系列和年份靠近。4.2 存储、网络与安全设置刚才说了磁盘空间要至少留8GB这还不够再强调一个重要细节Bombardier的临时文件默认在~/Downloads/Bombardier/目录下它不会主动清理。下载一次驱动这个目录下会有zip、dmg、以及一些中间解压文件。下次再下另一台机器的驱动文件会累积。我见过有人这个目录占了30GB还在纠结为什么磁盘空间不够。建议每用一次就把这个目录里的历史文件清理干净。再一个安全设置问题。Bombardier需要挂载磁盘镜像dmgmacOS的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驱动发愁这个工具值得放进收藏夹。本文还有配套的精品资源点击获取