2020-01-15更新
Changelog for VirtualBox 6.1
EFI: Added support for booting from APFS
VirtualBox 6.1.0 开始已经支持从APFS分区启动了,应该可以直接安装MacOS原版了,但未测试,可自行尝试。
2019-11-29温馨提示
在没有资源的情况下全网找放心的MacOS镜像很困难,但从App Store里下载最新版MacOS安装程序
就很简单很放心了,因此要想装最新的干净原版MacOS,可以先找一个低版本的镜像进行安装,然后进入App Store下载得到最新版的系统。
另外VirtualBox里安装MacOS系统异常复杂,就算手动引导强装上去了也可能产生不能启动的毛病,压根不认APFS分区
。VMware任意镜像,全程自动安装,因此用VMware(及时更新到最新版VMware Workstation
,不然新版本OS也装不上)。
图例:下载到了最新版MacOS安装程序
图片里是最开始直接把镜像写到硬盘了,发现并不好用,后面换成命令行形式的写入硬盘更实用。
图例:系统完成安装,顺带把xcode 11.2.1也装了
环境
- 时间:2019-11-29,带上时间拒绝流氓
- 笔记本:某州优雅A460P-i7G D2,12G内存,Intel Core i7-2670QM四核八线程(老笔记本已升级勉强能用),ssd硬盘,win10系统。
- VMware Workstation:15.5.1 (目前最新版本)
- MacOS:macOS Catalina 10.15.1,通过老版的黑苹果app store下载的
步骤
一、从App Store获取最新版MacOS安装程序镜像
随便用一台低版本MacOS虚拟机(可参考文章后半部分的10.13 iso
古董镜像安装系统)在App Store中下载macOS Catalina
;已测试发现High Sierra 10.13
中下载是直接下载全量的安装app,直接下载就ok了;Mojave 10.14.5
中点下载是弹出更新系统的界面,直接进行更新,这个更新也会下载全量的安装app。
安装程序下载完后就关掉,不用运行,我们把安装程序制作成镜像。
直接运行安装程序安装到指定硬盘这种方法并不好用,一开机就立马运行了系统安装,什么选择都没有;不如我们手动制作的镜像,可以有选择安装、磁盘工具的界面。
制作镜像可以直接将镜像写入到一个新的虚拟机硬盘,或者cdr(iso)文件内;这里只写到虚拟机硬盘,如果要制作cdr(iso)文件请参考文章下面Mojave部分。
- 旧版MacOS虚拟机中App Store下载完macOS Catalina
- 重启虚拟机,挂载一块新的vmdk硬盘,
10G大小
就ok了,格式化成Mac OS 扩展(日志式)
(APFS分区不能创建镜像,可以试一下会有提示) - 命令行执行以下代码;macOS Catalina app的目录内应该能找到
createinstallmedia
,运行它就是啦,写到cdr(iso)里面其实也是一样的操作
// 往分区写入数据,核心操作就是这一句
sudo /原版安装程序目录...Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/新硬盘名字(拖进来就ok)
- 命令执行完后镜像就制作完成了,把这个vmdk虚拟硬盘挂载到任意新的虚拟机下面就能安装系统了。
二、安装新系统
安装系统前应该先把VMware Workstation
更新到最新版本,不然不会有macOS 10.15
系统选项。Unlocker
解锁和新建系统这些基本操作请参考下面的Mojave部分,这里就不反复写了,其他类似的也有很多教程,如:https://blog.csdn.net/longji/article/details/83280940。
- 按照标准流程建立一个
macOS 10.15
的虚拟机 - 在虚拟机设置里面加一块硬盘,使用现有虚拟磁盘,选择我们制作好的系统镜像那个vmdk;这时这个虚拟机里有两块硬盘,一块是虚拟机自己的,一块是系统镜像
- 启动虚拟机,不出意外就能进入苹果那个logo,过一会就会显示安装系统的选项界面了。
- 界面里用磁盘工具把虚拟机自己的硬盘进行分区,用APFS分区格式。
- 正常流程安装macOS,就ok了。
三、后续注意事项
Catalina 10.15装好并配置好后,我发现如果复制了虚拟机,并且VMware询问是复制还是移动了虚拟机时,如果我们选择了我复制了,那么会出现App Store死活无法登陆的现象,后面选择我移动了虚拟机就没有这个问题。
我发现新版的不需要VMsvga2也能正常全屏,不知道是VMware升级的关系还是MacOS升级的关系,反正装好VMWare Tools后不需要任何操作就能正常全屏。
虚拟机屏幕分辨率最大化方法(非全屏):关掉拉伸客户机,把窗口的宽度拉到最大不能拉为止,打开保持比例拉伸客户机即可使虚拟机的分辨率最大。
虚拟机硬盘无法收缩(设置里面的磁盘压缩功能),稍微研究了一下,网上提供的在APFS分区下都无效(包括专门针对APFS分区的收缩命令行代码),暂时无解。
以下内容为VMware安装AppStore原版Mojave 10.14.5
虽然是老版本,但相关手段还是有效的,可以用来参考
2019-07-18温馨提示
你应该放弃使用VirtualBox来装MacOS,改用VMware。折腾了好几天安装MacOS Mojave 10.14.5,VirtualBox死活装不上,换成VMware轻轻松松啥也不用干就给装上了。并且有VMware Tools支持,分辨率不用揪心,畅享高速共享文件夹(这些都是VirtualBox拒绝提供支持的)。
另:装好一个老版本MacOS后可用app store来下载新版本来安装,不依赖别人制作的iso、cdr镜像。我就是用10.13搜索mojave下载安装到了一个新的虚拟硬盘里面(纯粹普通人操作,不需要命令行那些玩意),然后正常安装,正常启动。
因此:放弃VirtualBox的坑吧,目前还是转入VMware阵营省心些,虽然DrDonk/unlocker
似乎会报毒也管不了那么多了。
环境
- 时间:2019-07-18,带上时间拒绝流氓
- 笔记本:某州优雅A460P-i7G D2,12G内存,Intel Core i7-2670QM四核八线程(老笔记本已升级勉强能用),ssd硬盘,win10系统。
- VMware Workstation:15.1.0 (目前最新版本)
- MacOS:macOS Mojave 10.14.5,通过老版的黑苹果app store下载的
升级Mojave 10.14.5备注
下载过来的dmg
、cdr
、iso
镜像(没试过iso的,没找到),不要用VirtualBox来装,用VMware,此处应划重点。VirualBox就算手动引导强装上去了也可能产生不能启动的毛病,压根不认APFS分区。VMware任意镜像,全程自动安装,因此用VMware。
方法一
如果是dmg或者打包文件的镜像,需要在mac系统里面进行转换成cdr格式的,或者直接写入到虚拟硬盘,所以这种需要先有一个能跑的黑苹果才行。dmg
转cdr(iso)
参考:http://bbs.pcbeta.com/viewthread-1816057-1-1.html,只要能找到createinstallmedia
,运行它就是啦,不一定要写到cdr里面,写到新的硬盘也是可以的。
// 新建镜像分区,有硬盘就算啦
hdiutil create -o /tmp/macInstallCdr -size 7000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/macInstallCdr.dmg -noverify -mountpoint /Volumes/installcdr
// 往分区写入数据,核心操作就是这一句
sudo /原版镜像目录...Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/installcdr
// 转成cdr文件
hdiutil convert /tmp/macInstallCdr.dmg -format UDTO -o /tmp/mac_install_cdr
// 清理垃圾
hdiutil detach /Volumes/installcdr
rm /tmp/macInstallCdr.dmg
生成的cdr就能当光盘挂到虚拟机里面安装啦。
方法二
也可以通过旧版黑苹果app store下载macOs Mojave 10.14.5,下载下来是一个几十M的软件,运行会把5G多镜像数据下载到指定的硬盘,然后从这个硬盘重启自动安装新系统。也许VMware里面的黑苹果可以自动更新,但没有试过,我的老系统是在VirtualBox里面,自动更新了没法引导到新系统里面启动。
安装了VMsvga2正常全屏
正常安装使用xcode 10.2.1
VMware安装黑苹果的一些处理备忘
-
安装流程参考:https://blog.csdn.net/longji/article/details/83280940
-
禁用VMware的vmem文件:新建的虚拟机,VMWare会默认为其创建一个虚拟内存文件.VMEM, 这个文件会影响系统的磁盘性能,所以最好关闭它。该当是找到.vmx文件,在文件最后加入一行
mainMem.useNamedFile = "FALSE"
, 重新启动虚拟机,虚拟内存文件就没有了。 -
进黑苹果后首先创建root账户,动不动就没权限还玩个鸟:
sudo passwd root
,最好用户名、密码、root密码都统一成用户名,真正的永不忘记。 -
分辨率异常,不能全屏:重装VMsvga2工具搞定,工具的下载地址:https://sourceforge.net/projects/vmsvga2/ ,可以在黑苹果里直接下载安装,装完重启客户机,如果显示有异常,修改一下设置:查看 - 自动调整大小 - 自动适应客户机。
End.
以下内容为VirtualBox安装High Sierra 10.13
以下内容已过时,留着可用于先安装老版本macos,然后在虚拟机里面下载新版本系统
环境
- 时间:2018.04.09,没有指明时间的教程都是耍流氓
- 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘,win7系统。
- VirtualBox:5.2.8 (目前最新版本)
- MacOS:macOS High Sierra 10.13.iso,
最新版的iso没找到,(fuck 不能看 沙雕一样)https://blog.csdn.net/icarus666/article/details/79536388
中下载的镜像
2019-4-18 更新
已成功安装xcode 9.2。
另外我电脑已经升级到了win10,虚拟机是以前创建的,VirtualBox升级为6.0.2。
共享文件
Oracle VM VirtualBox does not provide Guest Additions for Mac OS X at this time.
VirtualBox目前不为Mac OS X提供Guest Additions(参考此文档),没法通过自身的共享文件夹功能来共享;但可以通过windows设置共享文件夹共享文件,mac内用smb://电脑ip
来访问。
修改分辨率
参考此文档 ,只能使用列表里面的分辨率;如果使用其他值,下次打开还是默认的1024x768
。
cmd:
VBoxManage setextradata "VM name" "VBoxInternal2/EfiGraphicsResolution" "1280x720"
或者直接改vbox文件:
<ExtraDataItem name="VBoxInternal2/EfiGraphicsResolution" value="1280x720"/>
创建虚拟机
基本上按VirtualBox默认设置创建虚拟机就可以了,我反复安装了好多遍,把cpu、内存、显存调一下基本上什么要设置的,系统类型随便选,好像选成Windows也无所谓。重点在下面设定虚拟机的一些参数,其实可以通过修改虚拟机vbox文件来实现,后面有讲:
MacOS10.13是虚拟机的名字
cd "C:\\Program Files\\Oracle\\VirtualBox\\"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "MacOS10.13" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
没有用modifyvm "MacOS" --cpuidset
这个命令,不影响mac系统启动(安装系统影不影响没有测试),加了这个命令会影响PE光盘系统启动。
安装系统
虚拟机挂载iso系统镜像文件,启动虚拟机,如果没问题就能正常安装系统了,不行多重启几次试试,如果确实进不了mac安装界面就不清楚了(以前试的一直进不了安装界面就放弃了)。简单设置系统安装完成
正在下xcode9.3,后来发现,10.13系统过时了不支持,麻蛋
kernel_task占用cpu问题
使用过程中发现kernel_task这货疯狂占用cpu,按照https://blog.csdn.net/liumx2007/article/details/77164795
的方法把文件干掉,就稍微好点了
干系统文件需要进入Recovery模式执行csrutil disable才能更改文件,10.12系统VirtualBox可以直接进入Recovery模式(可惜apple configurator 2
不支持这个系统,下老版本也没找到门路),10.13就一直卡在IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0 now
这里,不知道怎么回事,不能改系统文件就像手机不能root一样用起来不舒服。
如何进Recovery,虚拟机启动时按住windows徽标这个键+R
,进不了就反复右Ctrl+R
重启、windows徽标+R
。
10.13进入不了就算了!用PE总行吧,下载了U盘启动制作工具,不做U盘,只生成ISO启动文件,这个比较简单。然后:
0. 设置一下虚拟机把系统里面的启用EFI特性去掉(搞完了恢复过来)
0. 打开虚拟机vbox文件(在C:\\Users\\Administrator\\VirtualBox VMs\\
里面),把ExtraData中的VBoxInternal/Devices/efi/0/Config
5行删掉(搞完了要恢复,不然mac没法启动),其实这几行就是上面的命令行设置的
0. 然后虚拟机挂载PE启动盘
0. 启动虚拟机进入PE干掉需要干掉的文件(如果启动不了PE说不定是执行了modifyvm "MacOS" --cpuidset
)。
顺带需要干掉的文件
后来发现mds_stores也占用cpu,参考https://blog.csdn.net/tgbtgb/article/details/51329621
PE里面直接干掉文件。
这个世界安静了,虽然kernel_task使用的cpu还是有点多,不过好多了:
使用
xcode
没有装,前几天用10.12装了一下8.几的,安装不了,一直卡住,就放弃了。
apple configurator 2
装了试了一下,能在AppStore里下载安装,就是打开有点问题,不过不影响我要使用的功能: