赞
踩
本人没有mac电脑,但是需要在 macOS 上做一些事情,原来我在 VMWare Workstations 和 Virtual Box 中都安装过 macOS,但是由于某些原因,现在需要在 KVM 上使用 macOS,因此,就开始了 KVM 安装 macOS bigsur 11.4 的过程。
在此期间,到网上找了很久,都没有找到一个合适的方法,网上大部分教程都是在命令行下使用 QEMU 安装的,但是我不想用命令行,我目前就使用的是图形界面的 virt-manager 管理工具(因为命令行上使用 QEMU 感觉没有这么好管理),如下图所示:
最终经过摸索,找到了一篇比较合适的文章:【】在 KVM 虚拟机中运行 macOS 系统_雨夜的博客-程序员ITS401_kvm macos】
这篇文章给我最大的启示就是把一个 XML 配置文件使用 virsh 工具转换成 KVM 中的虚拟机(比如上图中的 macOS_bigsug_11)配置,而 XML 配置文件的来源就是【OSX-KVM】这个github项目,如果你下载 github 项目由困难,可以直接使用我下载好的压缩包
【OSX-KVM-master-2021-12-28.zip】。
KVM 的安装教程可以参考这篇文章:【如何在 Ubuntu 20.04 上安装 KVM】。
安装命令如下所示:
- # 安装
- sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
-
- # 检查守护进程是否启动,输出 active 才算正常
- sudo systemctl is-active libvirtd
-
- # 想要创建和管理虚拟机,你需要添加你的用户到“libvirt” 和 “kvm” 用户组
- sudo usermod -aG libvirt $USER
- sudo usermod -aG kvm $USER
-
- # 运行 brctl 工具来列出当前的桥接和它们连接的接口
- brctl show
- # 如果brctrl show 看不到输出信息,则说明你的默认网卡没有启动,
- # 你需要运行如下命令来启动
- sudo virsh net-info default
- # 再次查看网卡信息
- sudo virsh net-start default
- brctl show
-
- # 最后输入如下命令启动管理界面,并连接到你的 QEMU 中
- virt-manager
我的iso安装镜像是从 VMWare 的 macOS 中下载和制作的,没有 iso 镜像也没关系,你可以使用 【OSX-KVM】项目来获取 dmg 格式的镜像文件,然后再通过工具转成 img 或者 iso 即可, 【OSX-KVM】项目中还有一个转换命令,在 OpenCore 目录下,叫做 【create_iso_catalina.sh】,有需要的可以去看看。
把背景中提到的 【OSX-KVM】下载下来,这个是关键,就像在 VMWare 中安装 macOS 一样,需要做一些 Patch 工作,而这个 【OSX-KVM】项目就是帮我们做好了 Patch 工作,我们直接引用它就好了。
我们需要【OSX-KVM】项目的两个 fd 文件和一个 xml 文件,以及一个 qcow2 磁盘文件,当然还有一个叫做 osk 的东西,它已经包含在 xml 配置文件中了,如下所示:
现在我们要安装的是 macOS bigsur 11.4,并且安装镜像(.iso)我已经提前下载好,你也可以通过【OSX-KVM】项目下载镜像(详细方法可以参考这个项目中的 Readme 文档),不过这个项目下载的镜像是 img 格式的,例如:BaseSystem.img。
把 【OSX-KVM】项目中的 macOS-libvirt-Catalina.xml 拷贝一份,比如叫做 macOS-libvirt-bigsur.xml,然后修改【macOS-libvirt-bigsur.xml】文件,把xml文件里面的 name、uuid 字段改一下(如果你要安装多个 macOS,则 uuid 必须修改,否则就可以不用改了),然后注意里面标注为 【CHANGEME】的地方,把对应的几个路径修改正确,也就是如下几个地方(其它地方不要修改):
当然,如果你不想在配置文件里面改这些信息,你可以在修改完name、uuid 字段之后直接使用virsh命令导入到图形界面中,然后再去图形界面的 virt-manager 中修改,这样会更方便。
我修改好的配置文件信息如下所示:
我的磁盘文件(/var/lib/libvirt/images/MacOS-11.4.qcow2)是我提前创建好的,还有我的ios安装镜像文件(macOS Big Sur 11.4.iso)是我提前下载好的;uuid我随便改了最后两位,name 和title随意修改一个名字即可,然后执行如下命令导入:
virsh define ./macOS-libvirt-bigsur.xml
导入之后,就可以在virt-manager中看到刚才导入的配置了,如下所示:
双击 【macOS_bigsur_11】,进入该虚拟机的配置信息页面,然后定位到Overview->XML,拉到最底下可以看到这部分核心的 Patch 信息,如下所示:
直接在 virt-manager 中创建的虚拟机,是没有这部分Patch信息的,这会导致KVM无法启动和安装 MacOS 系统,
从图中可以看到,我们有5块磁盘,
CPU 和内存的配置信息可以根据自己的实际情况更新一下,
至此,准备工作就完成了。
一切都准备好之后,就可以开始正常的安装了,安装流程没有什么难度,不懂得就去百度一下 MacOS 的安装教程。
最难的一步就是如何让KVM能够正常引导系统进入安装界面了,不过,有了前面的准备工作,这已经不是什么问题了。
安装好 MacOS Bigsur 11.4 之后,可以把不需要的磁盘文件从配置项中删除,最后留下硬盘文件和OpenCore.qcow2文件即可,如下所示:
最后启动系统,进入系统
圆满结束,谢谢您的耐心阅读!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。