VirtualBox 不原生支持 macOS,主要是因为 Apple 的许可协议限制了 macOS 只能安装在官方硬件上,而 VirtualBox 作为跨平台虚拟机软件,无法获得官方支持。此外,macOS 依赖 SMC、Metal 图形 API 和 T2 安全芯片等专有技术,而 VirtualBox 缺乏这些优化,导致兼容性和性能较差。但目前仍然有一些特殊的方法可以在 VirtualBox 上成功运行 macOS。
准备工作
确保VirtualBox有扩展包(https://download.virtualbox.org/virtualbox/7.1.6/Oracle_VirtualBox_Extension_Pack-7.1.6.vbox-extpack)
确保电脑有开启虚拟化
需在BIOS里开启,英特尔的主板一般是 Intel VT-x 的名字,AMD则是 AMD-V的名字
一个macOS的ISO,我选择的是Mac OS High Sierra 10.13。下载地址:https://archive.org/details/mac-os-high-sierra-10.13_202204
步骤
配置虚拟机
安装虚拟系统
配置虚拟机
配置如下:
名为mac的虚拟机名称
内存: 8GB
处理器核心: 2
启动顺序: 光驱,硬盘(软盘关闭)
显存: 128MB
网络: NAT 模式
尝试启动
确保以上的配置,启动之后会发现报错:
这是因为VirtualBox 默认无法直接运行 macOS,需要手动修改一些参数,需要使用终端 修改 VirtualBox 配置 以绕过 Apple 的限制
确保VirtualBox完全关闭
打开终端CMD或者Powershell(管理员),然后运行以下命令:
VBoxManage modifyvm "mac" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
VBoxManage setextradata "mac" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac14,2"
VBoxManage setextradata "mac" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "mac" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-27ADBB7B4CEE8E61"
VBoxManage setextradata "mac" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "mac" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
VBoxManage modifyvm "mac" --firmware efi
VBoxManage modifyvm "mac" --vram 256
VBoxManage modifyvm "mac" --cpu-profile "Intel Core i7-6700K"
其中"mac"
VBoxManage modifyvm "mac" --firmware efi : 为虚拟机启用 EFI 引导
VBoxManage modifyvm "mac" --vram 256 : 设置 256的VRAM提升提高流畅度,突破Virtualbox的128的默认设置
VBoxManage modifyvm "mac" --cpu-profile "Intel Core i7-6700K" : 强制启用 Apple 兼容模式(仿真 Mac 硬件,i7-6700K 是 Apple 官方支持的 CPU,确保macOS 能正确识别它,而不会出现兼容性问题)
启动虚拟机
以上的操作执行完后,就可以启动虚拟机了
加载的过程很漫长,需要耐心等待
等待将近10分钟,终于进入安装程序的画面了
语言选择 简体中文
在适用工具界面选择 磁盘工具
进入到界面,发现找不到我们为虚拟机创建的40gb的虚拟硬盘
我们鼠标划到左上角的显示 - 显示所有设备,就看到虚拟硬盘了
显示未初始化,我们接下来抹掉并格式化虚拟硬盘变成macOS能安装系统的格式
点击抹掉,然后配置如下图:
格式为APFS,方案为GUID分区图
抹掉完成后回到安装主界面,点击左上角红点回去
点击安装macOS
过几会发现报错,我也一头雾水。前几天安装的时候没问题,这次突然报错
上网找了下原因,原因是苹果的证书过期导致的
解决方案是先关闭网络,也就是从虚拟机网络连接模式选择为未指定
回到macOS的安装界面,鼠标滑倒上面的适用工具 - 终端
输入 : date 122014102015.30
输入完成后关闭终端,然后左上角终端 - 退出终端
再次点击安装macOS
这次没有任何报错
点击继续 - 同意 -同意
选择虚拟硬盘然后安装
等待约2或3分钟
安装硬盘后会黑屏一段时间,再等待将近5分钟左右会显示安装进度
千万不要被上面显示的14分钟骗了,实际安装时间超过了半个小时多
安装好了之后进入到时区设置,由于我在欧洲,所以我这里选择西班牙
键盘选择我选择的是西班牙(根据自己的情况选择,我这里选择西班牙是因为我的键盘是西班牙布局)
把刚才在虚拟机设置的网络连接改成NAT,然后选择本地网络
默认,直接跳过
默认,也是直接跳过
选择不用Apple ID登陆(如果你有的话)
废话,直接同意
创建一个账户
为了演示,我账户名称和密码都是sergio
快捷设置也跳过
成功进入到桌面
碎碎念
在我踏进计算机学校时,我人生中的第一个小折腾项目就是在 VirtualBox 里安装一个 macOS 虚拟机。那时我的知识有限,就像一只盲目乱撞的苍蝇,不断遇到错误,再到各大论坛寻找解决方案。但当我终于看到 macOS 在我的小破电脑上成功运行的那一刻,所有的挫折都烟消云散,取而代之的是满满的成就感,高兴的到处乱窜被我妈抓到一顿乱揍。做这篇文章也算是某种程度上的跟过去的自己告别
至此,本篇内容到此结束
参考文章
https://www.mfpud.com/topics/11002/
https://www.wuwenhui.cn/5729.html