Pages

Thursday, 30 January 2020

Mac实用技巧之:Mac把Install macOS High Sierra.app转换成iso文件

有时候你可能想在你的Mac上用虚拟机再装一个Mac系统,以便用于测试新系统,或者有用windows的童鞋想安装一个Mac系统试试,这都需要iso格式的Mac系统安装包,这时候你就可以用你的Mac从Appstore下载一个原装正版的Mac系统再转成iso,Appstore下载的系统是在『应用程序』里面的(Mojave 10.14开始系统下载是直接在系统偏好设置里,但下载好后一样是在『应用程序』里),而格式则是.app格式(如:Install macOS High Sierra.app,如果你的Finder有设置显示所有格式的话,如果没有,那就不显示格式),又或者,我们可以从网上下载dmg格式的MacOS安装包,其实你双击挂载这个dmg之后,它里面还是.app的,把它拿出来再转换就可以。
执行下面的命令创建一个磁盘镜像文件(相当于创建一个空白磁盘)
hdiutil create -o /tmp/HighSierra -size 5200m -layout SPUD -fs HFS+J
Bash
会显示:
created: /tmp/highsierra.dmg
这个文件创建好之后,格式就是.dmg的,大小为5.1G,它是由-size 5200m指定的大小,那为什么5200M不是5.2G而是5.1G呢?我猜指定的5200m是按1024M=1G来算的,所以5200/1024=5.078125约等于5.1G(注意,如果以后的新版本系统变大了,那么你自己把5200m换成其他的数字就可以,比如6100m,Mojave 10.14就6.01G,)
layout表示指定文件分区类型,SPUD指Single Partition,单文件分区
-fs表示指定file system,即指定文件系统,后面的HFS+J就是文件系统,其中HFS是Hierarchical File System,即分层文件系统的意思,这是苹果一直以来的硬盘文件系统,就好比windows的NTFS也是硬盘文件系统的一种,+号应该是表示增强版的意思,J是什么意思我就不知道了。
然后执行以下命令,attach是『附加,粘上,贴上』的意思,意思就是把刚才创建的在/tmp目录下的HighSierra.dmg文件,挂载到install_build这个卷(Volumes)下边
hdiutil attach /tmp/HighSierra.dmg -noverify -mountpoint /Volumes/install_build
然后执行以下命令,意思是使用下载好的MacOS系统内部的createinstallmedia工具,来创建一个安装媒体文件,创建的位置,就是刚才挂载的/Volumes/install_build盘,其实上边第一步是相当于创建一个磁盘,第二步把它个磁盘挂载到/Volumes/install_build分区里,现在这一步,就是要把MacOS系统安装包写入到这个硬盘上边(注意这个命令要看你自己的系统文件下载在哪里,路径不一定照搬,例如我的Install macOS High Sierra.app系统安装包就放在下载目录里面),执行该命令会出来一个提示,输入大写字母Y然后回车即可:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
写入完成后,就把这个文件移动到桌面上并重命名为:InstallSystem,其实重命名只是为了方便我们看它是系统安装包,实际上重不重命名都不影响,并且这一步不一定要移动到桌面,比如我就移动到了下载目录里边
mv /tmp/HighSierra.dmg ~/Desktop/InstallSystem.dmg

然后卸载刚刚创建安装媒体文件的时候自动挂载的MacOS
hdiutil detach /Volumes/Install\ macOS\ High\ Sierra

最后,把这个制作好的dmg格式的系统安装文件转换成iso格式,注意转换后的文件是HighSierra.iso.cdr,自己重命名,把这个.cdr删除就行了(这里我不太明白这个.cdr是什么意思)
hdiutil convert ~/Desktop/InstallSystem.dmg -format UDTO -o ~/Desktop/HighSierra.iso

其实这里每一步的解释,都是我根据自己的理解解释的,后面的解释我感觉不太对了,不知道有谁对这个熟悉,来解释一下?