202008031429 macOS三部曲:自制macOS安装镜像cdr/iso【10.15.x/10.14.x/10.13.x/10.12.x/10.11.x】
3年前 (2020-08-04) 作者:iMoke 分类:原创·技术 阅读次数:5691 评论(3)世界上到底是先有鸡还是先有蛋?科学家可能已经给出了答案。但是在写这个教程的时候,我又一次遇到了先有鸡还是先有蛋的问题。
我想下载macOS镜像,首先我得有一个mac系统【三.3】;
我想要一个mac系统,要么我买或借一个苹果电脑,要么我就得自己装一个黑苹果【三.1,三.2】;
我不想麻烦别人,所以我打算自己做一个黑苹果,所以我首先得有一张mac镜像【三.4】;
……所以,我一口气写这三篇文章,全是傻瓜教程,有图有命令,没有顺序。
一、前言
世界上到底是先有鸡还是先有蛋?科学家可能已经给出了答案。但是在写这个教程的时候,我又一次遇到了先有鸡还是先有蛋的问题。
我想下载macOS镜像,首先我得有一个mac系统【三.3】;
我想要一个mac系统,要么我买或借一个苹果电脑,要么我就得自己装一个黑苹果【三.1,三.2】;
我不想麻烦别人,所以我打算自己做一个黑苹果,所以我首先得有一张mac镜像【三.4】;
……
所以,我一口气写这三篇文章,全是傻瓜教程,有图有命令,没有顺序。
二、参考资料及准备环境
MacOS Catalina 10.15.x ISO/CDR格式镜像 用于VMware等虚拟机
一台macOS系统的电脑(虚拟机、实体机都可以)
待做成启动镜像的dmg镜像
注:d.rc.it为自用域名。如何获取镜像,你可以去网上找,也可以参考【三.3】自己下载。
镜像名 | 版本号 | DMG文件大小 | 新建镜像大小 | 转化后ISO大小 | 备注 |
Install_OS_X_El_Capitan_10.11.6-15G31-myjike.dmg | 10.11.6 | 5939.2m | 6109m | 亲测,做完镜像无法安装 提示点击安装提示“无法从此磁盘使用“安装 OS X EI Capitan”应用程序” | |
Install_macOS_Sierra_10.12.6.dmg | 10.12.6 | 5242.88m | 4973m | 4.86GB | |
Install_macOS_High_Sierra_10.13.6-17G66.dmg | 10.13.6 | 5017.6m | 5948m | 5.11GB | |
Install_macOS_Mojave_10.14.6-18G103.dmg | 10.14.6 | 5765.12m | 5233m | 5.81GB | |
Install_macOS_Catalina_10.15.6-19G73.dmg | 10.15.6 | 7884.8m | 8046m | 7.9GB |
三、我写的其他相关文章
1. 202001202118 记ESXI 6.0下安装macOS10.13
2. 202008031423 macOS三部曲:使用esxi6.7/Workstation15.5安装macOS虚拟机
3. 202008031428 macOS三部曲:下载macOS官方镜像
4. 202008031429 macOS三部曲:自制macOS安装镜像cdr/iso
四、制作镜像10.15.x / 10.14.x / 10.13.x / 10.12.x / 10.11.x
1.下载镜像(也不知道为啥,macOS不支持wget)
#这里我们下载到桌面 cd $HOME/Desktop curl -O http://d.rc.it/ISO/01.Apple/Install_macOS_Catalina_10.15.6-19G73.dmg
2.前期定义
先查看一下dmg文件的大小,单位为M,因为我们要创建一个差不多大的光盘文件。
注意:创建大了占地方,创建小了写不进去。
imoke@imokedeMac Desktop % ls -alh -rw-r--r--@ 1 imoke staff 7.7G Aug 3 18:53 Install_macOS_Catalina_10.15.6-19G73.dmg # 7.7G,换算后是7884.8M,那我们就创建一个8046m的光盘
然后定义一个临时文件名,这个文件名主要用于挂载光盘,完全自定义。这里我习惯用版本命令
最后定义一个最终文件名,这个名就是最后输出的cdr/iso文件名,完全自定义。这里我习惯与dmg同名
fullname=Install_macOS_Catalina_10.15.6-19G73 tempname="macOS Catalina" disksize=8046m # 8046是经测试最小的,能满足制作镜像的大小。
fullname=Install_macOS_Mojave_10.14.6-18G103 tempname="macOS Mojave" disksize=5948m # 5948是经测试最小的,能满足制作镜像的大小。
fullname=Install_macOS_High_Sierra_10.13.6-17G2208 tempname="macOS High Sierra" disksize=5233m # 5233是经测试最小的,能满足制作镜像的大小。
fullname=Install_macOS_Sierra_10.12.6 tempname="macOS Sierra" disksize=4973m # 4973是经测试最小的,能满足制作镜像的大小。
fullname=Install_OS_X_El_Capitan_10.11.6-15G31-myjike tempname="OS X El Capitan" disksize=6109m # 6109是经测试最小的,能满足制作镜像的大小。 # 注意,制作后用VMware无法安装。
3.制作脚本
讲解:
此时,桌面上的 *.iso.cdr 就是你要的光盘镜像。
4.操作失败了,请输入如下命令清空刚才的失败过程文件,然后重新执行。
hdiutil detach /Volumes/$tempname hdiutil detach /Volumes/Install\ $tempname rm -rf $HOME/Desktop/$tempname.cdr.dmg
5.清理(可选)
删除原来的dmg文件
rm -rf $HOME/Desktop/$fullname.dmg
删除过程镜像
rm -rf $HOME/Desktop/$tempname.cdr.dmg
九、导出镜像
我不太熟悉macOS系统,我是开启了SSH后,使用FlashFXP导出的。在同一个内网下,速度大约是16-30M/s。
十、常见故障
1.使用xshell远程macOS,无法输入中文字符。
# 解决办法:将下面两行写入/etc/profile里 export LC_ALL=en_US.UTF-8 export.UTF-8 # 注意,/etc/profile是只读的root权限文件,无法用sudo echo写入,只能手动添加 # 强制保存后,重新连接即可。
# 最终效果 # System-wide .profile for sh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi export LC_ALL=en_US.UTF-8 export.UTF-8
2.使用建议
如何可以,最好是换成纯英文环境再做,省事
3.报错信息:(22 0)错误【产生于:Install_macOS_Catalina_10.15.6-19G73.dmg】
To continue we need to erase the volume at /Volumes/install_build. If you wish to continue type (Y) then press return: Y Erasing disk: 0%... 10%... Error erasing disk error number (22, 0) An error occurred erasing the disk.
原因是VMware Workstation 所在的硬盘满了……
4.报错信息:【产生于:Install_macOS_Catalina_10.15.6-19G73.dmg】
Error: Error Domain=NSCocoaErrorDomain Code=512 "未能将“InstallESD.dmg”拷贝到“SharedSupport”。 " UserInfo={NSSourceFilePathErrorKey=/Volumes/Catalina/Install macOS Catalina.app/Contents/SharedSupport/InstallESD.dmg, NSUserStringVariant=( Copy ), NSDestinationFilePath=/Volumes/Install macOS Catalina/Install macOS Catalina.app/Contents/SharedSupport/InstallESD.dmg, NSFilePath=/Volumes/Catalina/Install macOS Catalina.app/Contents/SharedSupport/InstallESD.dmg, NSUnderlyingError=0x7fe6d8d59190 {Error Domain=NSPOSIXErrorDomain Code=34 "Result too large"}}The copy of the installer app failed.
原因是创建的新镜像空间给小了…… # 卸载原来写一半的安装镜像 hdiutil detach /Volumes/Install\ macOS\ Catalina # 删除原来创建的空镜像 rm -rf $HOME/Desktop/$tempname.cdr.dmg # 从头执行,例如 四.2
5.转换iso时报错:【产生于:Install_macOS_Catalina_10.15.6-19G73.dmg】
hdiutil: convert failed - 资源暂时不可用
原因是必须先把新写入的镜像先卸载,才能转换。
6.写入镜像报错【产生于:Install_macOS_High_Sierra_10.13.6-17G2208.dmg】
imoke@imokedeMac Desktop % sudo /Volumes/$tempname/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build --applicationpath /Volumes/High\ Sierra/Install\ macOS\ High\ Sierra.app --nointeraction Erasing Disk: 0%... 10%... 20%... 30%...100%... Copying installer files to disk... The copy of the installer app failed. .%
可能的原因是,空镜像创小了……新空间为5200时报错,5500就没有错误了。
评论
发表评论