不再依赖黑苹果!Docker安装MacOS,轻松体验苹果系统

发表时间: 2023-11-28 08:30

没用过苹果电脑的朋友可能会对苹果系统好奇,有人甚至会为了尝鲜MacOS去折腾黑苹果。如果你只是想体验一下MacOS,这里有个更简单更优雅的解决方案Docker-OSX:用docker安装MacOS来体验苹果系统。


Docker-OSX是一个开源项目,而且支持多个版本的MacOS,比如说Catalina、Big Sur等。使用Docker部署Docker-OSX毕竟是运行一个系统,所以硬件上不能太差。如果没有高性能Linux主机,建议在电脑上通过WSL(Linux子系统)来安装,不建议在J1900这样的老爷机上去折腾。此外Docker-OSX需要用到虚拟机,所以还要部署一下KVM,这里给新手介绍一下。首先在BIOS中开启CPU虚拟化支持,然后在Linux系统中用如下命令测试是否支持硬件虚拟化(已经部署的可以略过这段):

grep -Eoc '(vmx|svm)' /proc/cpuinfo#支持硬件虚拟化,则输出结果大于0

我们用cpu-checker这个工具来测试系统是否支持KVM安装:

sudo apt updatesudo apt install cpu-checkerkvm-ok#如果支持KVM,输出结果为KVM acceleration can be used

如果软硬件环境支持KVM,可以运行下面的命令安装 KVM和虚拟化管理软件包:

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

软件包说明:

  • qemu-kvm - 为 KVM 管理程序提供硬件模拟的软件程序
  • libvirt-daemon-system - 将 libvirt 守护程序作为系统服务运行的配置文件
  • libvirt-clients - 用来管理虚拟化平台的软
  • bridge-utils - 用来配置网络桥接的命令行工具
  • virtinst - 用来创建虚拟机的命令行工具
  • virt-manager - 提供一个易用的图形界面,并且通过libvirt 支持用于管理虚拟机的命令行工具

程序安装好后可以通过运行下面的命令,验证ibvirt 守护程序:

sudo systemctl is-active libvirtd#输入结果应为active

安装好KVM运行docker就是一句命令的事情了,下面是官方给的镜像命令运行Catalina:

docker run -it \    --device /dev/kvm \    -p 50922:10022 \    -v /tmp/.X11-unix:/tmp/.X11-unix \    -e "DISPLAY=${DISPLAY:-:0.0}" \    sickcodes/docker-osx:latest# docker build -t docker-osx .

由于容器镜像都比较大,拉取时间会比较久。而且部署镜像会占用较大的空间,注意预留空间避免部署失败。部署完成后会自动调用虚拟机窗口运行MacOS系统:

注意刚进入MacOS界面时是无法直接进入系统的,必须重新安装。首先选择最下面的磁盘管理工具:

按照下图把第一个虚拟磁盘格式化成APFS格式(或者参照网上教程格式化成其它对应格式):

然后关闭磁盘管理工具,返回之前界面。选择重新安装系统,选择你格式化的磁盘进行系统安装

等系统安装完毕,你就可以体验苹果系统了,是不是比折腾黑苹果简单多了,而且系统随意换。根据官方文档,这个虚拟机MacOS不仅仅只是运行一个MacOS。还可以进行文件互通的,可以用如下命令设置:

# on Linux/Windowsmkdir ~/mnt/osxsshfs user@localhost:/ -p 50922 ~/mnt/osx# wait a few seconds, and ~/mnt/osx will have full rootfs mounted over ssh, and in userspace# automated: sshpass -p <password> sshfs user@localhost:/ -p 50922 ~/mnt/osx

甚至你愿意折腾,可以尝试把你的iPhone通过USB直通连接到这个MacOS。

我这里制作了一个安装运行测试,更多的折腾大家可以自己去试试!