尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

让Mac的Windows驱动安装从半小时缩到3分钟:Brigadier实操手册

让Mac的Windows驱动安装从半小时缩到3分钟:Brigadier实操手册 让Mac的Windows驱动安装从半小时缩到3分钟Brigadier实操手册【免费下载链接】brigadierFetch and install Boot Camp ESDs with ease.项目地址: https://gitcode.com/gh_mirrors/bri/brigadier一个让我印象深刻的下午前阵子帮朋友给他的2018款MacBook Pro装Windows双系统系统装好了问题才刚开始键盘没反应、触控板失灵、屏幕分辨率惨不忍睹、连Wi-Fi都连不上。那一刻我意识到Mac上装Windows从来不是最难的最难的是把Boot Camp驱动伺候妥当。以前的做法是打开苹果官网翻半天支持页确认自己机型对应的Boot Camp版本再手动下载、解压、一层一层剥开归档文件最后还要手动点开安装向导。整个流程下来少说半小时稍不留神下载错版本就得重来。后来我找到了一款叫Brigadier的开源工具它把上述所有步骤压缩成了一行命令。今天就把这套亲测有效的用法完整分享出来。Brigadier到底是干什么的简单说Brigadier是一个跨平台的Python脚本职责很纯粹从苹果官方软件更新服务器或你自建的内部服务器上抓取当前这台Mac对应的Boot Camp ESD电子软件分发包自动解开里面多层嵌套的归档把驱动文件提取出来。如果在Windows上运行并加上--install参数它还会顺手把64位的MSI驱动安装包装上。它面向的人群很明确刚给Mac装了Windows、驱动一团乱麻的个人用户需要给成百上千台Mac批量部署Windows驱动的企业IT管理员经常做系统镜像、想统一驱动包的技术人员。它支持Windows 7/10/11的64位版本以及macOS 10.9及更高版本几乎覆盖了所有还在服役的Mac。五分钟跑通第一个流程在Windows上一条命令完成安装先把工具拿到手git clone https://gitcode.com/gh_mirrors/bri/brigadier cd brigadier然后运行brigadier.exe --install注意如果你机器上还没有Python环境可以去Releases区域下载预编译的brigadier.exe直接双击命令行运行即可连Python都不用装。这一条命令背后发生了什么我拆开看了一遍通过WMI查询wmic识别当前机器的型号标识符拉取苹果软件更新目录在众多Boot Camp ESD里找出匹配当前机型的那个下载后依次解开XAR外包装、GZIP压缩层、CPIO归档最后从WindowsSupport.dmg里抽出驱动文件找到BootCamp.msi或BootCamp64.msi静默执行安装装完自动清理临时文件。整个过程中7-Zip是Windows上负责解压的主力工具。Brigadier会先检查系统里有没有装7-Zip没有就自动下载安装用完之后再卸掉不给你留任何垃圾。在macOS上先把驱动包备好macOS版主要用于下载和准备驱动文件chmod x brigadier ./brigadier --output ~/bootcamp-drivers在Mac上解压工作靠的是系统自带的hdiutil和pkgutil不需要额外工具。下载下来的ESD会保留为.dmg格式方便刻盘或拷贝到Windows环境里用。核心能力逐个拆解机型识别不用再查设备ID了这是Brigadier最省心的地方。Windows下它用WMI查型号macOS下用system_profiler读硬件信息全程自动你完全不需要知道自己电脑的Model Identifier是什么格式。当然想手动指定也完全可以后面会讲到--model参数。多层归档一场解压接力赛苹果的Boot Camp ESD文件结构相当套娃最外层是XAR格式的BootCampESD.pkg里面压着GZIP过的Payload解开是CPIO归档最里面才是装着驱动文件的WindowsSupport.dmg。过去Brigadier还要借助dmg2img这个辅助工具来读取DMG后来新版7-Zip对DMG格式支持已经足够完善这个依赖在0.2.4版本被彻底移除了现在全靠7-Zip一条龙搞定。跨平台同一套逻辑两种运行方式项目本体是Python脚本Windows和macOS都能直接跑Windows用户额外有PyInstaller打包的独立exe可选用。仓库里还附赠了一个PowerShell移植版brigadier.ps1习惯PowerShell的管理员可以用它完成同样的下载、解压、安装动作比如brigadier.ps1 -Install就能一键装机。进阶玩法把Brigadier调教成趁手工具指定机型下载给特定型号的Mac准备驱动包时用--model指定即可brigadier --model MacBookPro15,1 --output ./drivers这个参数还支持重复使用一次命令把多个机型的驱动全部下载下来适合批量准备。保留下载文件默认情况下--install安装完成后会清理所有临时文件。想留一份备用加--keep-filesbrigadier.exe --install --keep-files接管苹果的软件更新服务器企业内网场景下你可以放一个brigadier.plist到脚本同目录用一行CatalogURL把更新目录指到内部服务器?xml version1.0 encodingUTF-8? !DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd plist version1.0 dict keyCatalogURL/key stringhttps://internal-sus.company.com/catalogs/others/index.sucatalog/string /dict /plist这样既不用动代码也能统一内网的下载源。模板可以直接参考仓库里的plist-example/brigadier.plist。手动指定产品ID有些机型在目录里可能对应多个ESD包Brigadier默认挑发布日期最新的那个。如果想要的不是最新版用-p/--product-id手动指定比如brigadier -p 031-0787。给Sysprep镜像用FirstLogonCommand阶段自动装驱动这是Brigadier最有价值的企业场景同一份Windows镜像部署到不同型号的Mac上在Sysprep的首次登录命令里挂上Brigadier让它在开机后自动识别机型并装好对应驱动镜像从此不用分机型维护。脚本里针对这个场景做了一个贴心的workaround当检测到当前工作目录是\windows\system32且没有用--output-dir覆盖时会自动把输出目录切到系统根目录绕开64位系统上System32与SysWoW64重定向导致MSI找不到安装组件的问题。构建自己的独立exe要在没装Python的Windows机器上分发可以运行仓库自带的构建脚本python build_windows_exe.py脚本会自动下载PyInstaller并完成打包在当前目录生成带版本号的zip压缩包里面就是可直接分发的brigadier.exe。在虚拟机里测试Boot Camp安装苹果的安装包会校验硬件是否为合法的Mac机型所以虚拟机里直接装会失败。msi-transform目录提供了一条出路里面附带的WiUseXfm.vbs脚本和set_nocheck.mst变换文件可以把MSI的NOCHECK调试属性设为1绕过机型检查让Boot Camp基础服务在VM里也能装上适合拿来模拟测试。具体用法见msi-transform/README.md。常见问题集中解答QBrigadier支持32位Windows吗A目前只支持64位Windows。苹果从2012年底发布的Boot Camp ESD开始就基本只提供64位驱动了想支持32位需要额外的工作量官方也确认了这一点。Q装到一半提示网络驱动缺失怎么办ABrigadier全程需要联网下载所以系统里必须提前有能用的网卡驱动。最简单的办法是在做Sysprep镜像时把Boot Camp ESD里的网卡驱动放进C:\Windows\INF下的BootCamp文件夹——这是Windows默认的设备驱动搜索位置会自动识别并安装未知硬件的驱动。也可以改DevicePath注册表键指向自定义位置但用INF文件夹的好处是不用改注册表直接拷文件就行。Q下载下来的文件去哪了A不带--install时解压结果会放在当前目录或--output-dir指定的目录下以产品名命名的文件夹里类似BootCamp-041-1234。带--install时默认装完即删想留就加--keep-files。Q安装完为什么没有弹出Boot Camp首次运行帮助ABrigadier在安装结束后会把HKEY_CURRENT_USER\Software\Apple Inc.\Apple Keyboard Support下的FirstTimeRun注册表值设为0用来关掉那个烦人的首次启动弹窗。目前这个行为没法通过参数关闭属于写死的行为。Q命令行都有哪些参数A常用的是这几个brigadier [options] -m, --model 指定机型标识可重复使用 -i, --install 下载后自动安装仅Windows -o, --output-dir 指定解压输出目录 -k, --keep-files 安装后保留文件需配合--install -p, --product-id 手动指定要下载的产品ID -V, --version 输出版本号版本迭代这个工具一直在自我修复当前版本是0.2.6从CHANGELIST和VERSION文件里能看到它的演进脉络0.2.6引入certifi证书捆绑修复了旧版Windows访问7-Zip官网时因Lets Encrypt证书导致的TLS问题0.2.57-Zip更新到22.01新增-V/--version选项并用最后兼容Python 2.7的PyInstaller 3.6重新打包了exe0.2.4砍掉dmg2img依赖完全交给7-Zip处理DMG0.2.3把msiexec的静默参数从/qr换成/qb-规避安装时的模态弹窗卡死问题0.2.1--model支持多次指定批量下载--leave-files改名--keep-files并修复了Payload归档命名不统一的兼容问题。坦白说作者在README里也诚恳地提醒过由于Boot Camp 5/6部分版本与某些硬件的组合存在兼容性问题Brigadier的静默安装并非在所有机型和驱动组合下都完美个别情况可能需要手动补装某个驱动。所以把它当作省时利器而不是万能钥匙心态会平和很多。写在最后如果你也被Mac装Windows后的驱动问题折磨过不妨按下面三步走克隆或下载BrigadierWindows上跑brigadier.exe --installmacOS上跑./brigadier --output ~/bootcamp-drivers有企业批量部署需求再研究下Sysprep集成和brigadier.plist配置。从手动翻官网、层层解压、逐个装驱动到一行命令全自动Brigadier把整个流程从30到60分钟压缩到了几分钟。这个工具既照顾了个人用户的省心诉求也满足了企业IT批量部署的效率要求值得放进你的装机工具箱。【免费下载链接】brigadierFetch and install Boot Camp ESDs with ease.项目地址: https://gitcode.com/gh_mirrors/bri/brigadier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表