分享一个OS X 下制作系统安装U盘的脚本和方法

摘 要

制作启动U盘的方法有很多工具也不少,比如用createinstallmedia生成一个启动U盘等,安装后会把目标分区转化为Core Storage;另外,该命令的不完善的地方是

文章前言

制作启动U盘的方法有很多工具也不少,比如用createinstallmedia生成一个启动U盘等,安装后会把目标分区转化为Core Storage;另外,该命令的不完善的地方是,有的时候会说"xxx is not a valid volume mount point."而无法继续。在网上转半天发现一个比较简单而且暴力的制作工具!所以,下面的这个小脚本就派上了用场!

分享一个OS X 下制作系统安装U盘的脚本和方法

脚本代码

  1. #!/bin/bash
  2. destVol="$2"
  3. osx10APP="$1"
  4. if [ "$2" = "" ]; then
  5.    echo "Usage:"
  6.    echo "   command applicationPath destinationVolume"
  7.    exit 0
  8. fi
  9. osx10ESD="/Volumes/OS X Install ESD"
  10. targetVol="/Volumes/OS X Base System"
  11. echo $targetVol$osx10ESD"destVol=$destVol""osx10APP=$osx10APP"
  12. # Prepare
  13. diskutil eject "$osx10ESD"
  14. diskutil eject "$targetVol"
  15. # Mount the OS X 10.10 ESD image
  16. echo "hdiutil attach $osx10APP/Contents/SharedSupport/InstallESD.dmg"
  17. hdiutil attach "$osx10APP/Contents/SharedSupport/InstallESD.dmg" -noverify 2> /dev/null
  18. sleep 5
  19. # retore the baseSystem image to destinationVol
  20. asr restore --source "$osx10ESD/BaseSystem.dmg" --target "$destVol" --erase --format HFS+ --noverify --noprompt
  21. diskutil rename "$targetVol" _OSX10DPInstaller_
  22. targetVol="/Volumes/_OSX10DPInstaller_"
  23. rm "$targetVol/System/Installation/Packages"
  24. ditto "$osx10ESD/Packages" "$targetVol/System/Installation/Packages"
  25. ditto "$osx10ESD/BaseSystem.dmg" "$osx10ESD/BaseSystem.chunklist" "$targetVol"
  26. hdiutil detach  "$osx10ESD"

使用方法

如果不知道如何保存一个脚本并让它可运行的过程,那么看下面,否则略过看2。

打开文本编辑应用(TextEdit.app),把上面的代码复制粘贴到里面,确保这个文件的格式是纯文本的(Plain Text),或者使用快捷键(Shift-Command-T)来切换文件的格式,然后保存,假设保存在当前用户的桌面上,并叫做createUSBInstall.sh文件。

打开终端,并运行命令:

  1. chmod 777 ~/Desktop/createUSBInstall.sh

尝试运行-可以将该文件拖到终端窗口中,或者键盘输入下面命令:

  1. ~/Desktop/createUSBInstall.sh

如果它的提示不是诸如"Permission denied。"说明可以到下一步了。否则详细查看上面的步骤。

打开一个新的Finder窗口,在里面找到安装应用,再确定目标U盘已经插入且数据都已经备份,并可以在桌面上找到上面的那个脚本文件。

打开终端后输入并回车:

  1. sudo -s

它会询问管理员密码,输入并回车。

把上面的脚本文件拖到终端窗口中,再把安装应用(.app文件)拖放到终端窗口上面,最后是拖放目标U盘。就像图中所示的样子,确认无误后,回车,它会自动为你生成那个安装USB。

不懂得可以看一下下面这个图片:

分享一个OS X 下制作系统安装U盘的脚本和方法

最后总结

这个脚本很简单,没有什么技巧,也没有太多的错误检查。它从命令行读取两个参数,第一个是安装应用的全路径,第二个是目标U盘的路径,然后把安装应用中的ESD装载到系统里,把里面的BaseSystem.dmg恢复到U盘上,并修改U盘的分区名为_OSX10DPInstaller_,再复制相应的Pakcages等文件,最后收尾工作。

发表评论

您必须登录才能发表评论!

目前评论:1   其中:访客  1   博主  0

  1. avatar hothbo1976 3

    收藏,学习一下。多谢啦