首先,建议不要作死,还是去买mac吧,太折腾人了!!然后进入正题,如何在Ubuntu 17.10上利用virtualbox 5.1安装MacOS 10.9虚拟机。涉及CPUID问题、vdmk转vdi,vdi的resize,以及EFI的问题。好几点都不太懂,慢慢摸索吧。
再吐个槽,不要随意自己更新virtualbox,因为如果是UEFI安装的ubuntu,是没法将Virtualbox的modprov部署进系统image的,然后virtualbox就彻底挂了。。。解决方法是升级系统或者重装。
镜像去哪里找
安装
具体的配置参考文献里有很多,我就不赘述了。。。这里主要说明一下CPUID的问题。。。我的CPU是i3 7100,按道理说其架构不适合装黑苹果,不过可以通过修改虚拟机的cpuid来解决这个问题。。。网上的方法太坑爹了,固定了cpuid,其实这个要自己去查的,每一代intel架构不太一样。查询方法如下,
1 2 3 4 5 6 7 8 9 10 11 12
| VBoxManage list hostcpuids Host CPUIDs: Leaf no. EAX EBX ECX EDX 00000000 00000016 756e6547 6c65746e 49656e69 00000001 000906e9 00100800 7ffafbbf bfebfbff 00000002 76036301 00f0b5ff 00000000 00c30000 00000003 00000000 00000000 00000000 00000000 00000004 1c004121 01c0003f 0000003f 00000000 替换到xxx.vbox中
|
1 2 3 4 5 6
| VBoxManage modifyvm "macOS" --cpuidset 00000001 000306a9 00100800 3d9ae3bf bfebfbff VBoxManage setextradata "macOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "macOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "macOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple" VBoxManage setextradata "macOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "macOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
|
更新以后如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Iloveapple"/> <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" value="iMac11,3"/> <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" value="1.0"/> <ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/DeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/> <ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" value="1"/> <CPU> <PAE enabled="true"/> <LongMode enabled="true"/> <HardwareVirtExLargePages enabled="false"/> <CpuIdTree> <CpuIdLeaf id="1" eax="591593" ebx="34605056" ecx="2147154879" edx="3219913727"/> </CpuIdTree> </CPU>
|
resize
VBoxManage clonehd “MavericksInstaller.vmdk” “MavericksInstaller.vdi” —format vdi
VBoxManage list hdds
1 2 3 4 5 6 7 8
| UUID: 501b0eed-167e-4b38-96ff-93efa707b5fc Parent UUID: base State: created Type: normal (base) Location: xxx/macOS/MavericksInstaller.vdi Storage format: vdi Capacity: 10240 MBytes Encryption: disabled
|
VBoxManage modifyhd 501b0eed-167e-4b38-96ff-93efa707b5fc —resize 40960
1 2 3 4 5 6 7 8
| UUID: 501b0eed-167e-4b38-96ff-93efa707b5fc Parent UUID: base State: created Type: normal (base) Location: xxx/macOS/MavericksInstaller.vdi Storage format: vdi Capacity: 40960 MBytes Encryption: disabled
|
最简单粗暴的方法,重新挂载一个vdi,利用磁盘工具,抹掉,然后就行了。。。
分辨率调整
VBoxManage setextradata “macOS” VBoxInternal2/EfiGopMode 3
References