首页 > 代码库 > OSX: Scripts,让BootCamp在任何Mac上支持生成Windows7的USB安装盘

OSX: Scripts,让BootCamp在任何Mac上支持生成Windows7的USB安装盘

为什么要做这个呢,因为BootCamp只有在默认的Mac上才会有生成USB安装盘的选项,这个脚本就是为了确保用户使用它在任何一个Mac机器上都可以生成Windows的USB安装盘。当然了,如果你的Mac机器不支持使用USB启动,那么也是枉然。

这个脚本应该支持10.7.x到10.9.x的Boot Camp. 10.10DP2应该也可以。

Boot Camp.app应该在它默认的目录中,也就是/Applicaitons/Utilities/里面。

复制到一个文本文件,变更属性为可以运行,然后sudo运行之。

#!/bin/bash
sudo killall "Boot Camp Assistant"

BCA="/Applications/Utilities/Boot Camp Assistant.app/Contents/"
ROMver=$(system_profiler | grep "Boot ROM Version:" | awk '{print $4}')
Model=$(system_profiler | grep "Model Identifier:" | awk '{print $3}')
ROMpar=$(echo $ROMver | awk -F. '{print $1}')

if [ ! -e "$BCA/Contents/Info_backup.plist"]; then
   sudo cp "$BCA/Info.plist" "$BCA/Info_backup.plist"
fi

sudo /usr/libexec/PlistBuddy -c "add :DARequiredROMVersions:0 string '$ROMver'" "$BCA/Info.plist"

sudo /usr/libexec/PlistBuddy -c "print USBBootSupportedModels" "$BCA/Info.plist"


if [ $? != 0]; then
   # OS X 10.8.x & up to 10.9
   sudo /usr/libexec/PlistBuddy -c "add :PreUSBBootSupportedModels:0 string '$Model'" "$BCA/Info.plist"

   sudo /usr/libexec/PlistBuddy -c "copy PreUSBBootSupportedModels USBBootSupportedModels" "$BCA/Info.plist"

   sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app
else
   # Lion OS X 10.7.x
   sudo /usr/libexec/PlistBuddy -c "add :USBBootSupportedModels:0 string '$ROMpar'" "$BCA/Info.plist"

fi



恢复原样很简单:

#!/bin/bash

if [ -e "$BCA/Contents/Info_backup.plist" ]; then
   sudo cp "$BCA/Info_backup.plist" "$BCA/Info.plist"
fi