当前位置:   article > 正文

KVM/QEMU(virt-manager)使用iso镜像安装macOS bigsur 11.4_kvm安装macos

kvm安装macos

1. 背景

本人没有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】。

2. 准备工作

2.1 安装 KVM/QEMU

KVM 的安装教程可以参考这篇文章:【如何在 Ubuntu 20.04 上安装 KVM】。

安装命令如下所示:

  1. # 安装
  2. sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
  3. # 检查守护进程是否启动,输出 active 才算正常
  4. sudo systemctl is-active libvirtd
  5. # 想要创建和管理虚拟机,你需要添加你的用户到“libvirt” 和 “kvm” 用户组
  6. sudo usermod -aG libvirt $USER
  7. sudo usermod -aG kvm $USER
  8. # 运行 brctl 工具来列出当前的桥接和它们连接的接口
  9. brctl show
  10. # 如果brctrl show 看不到输出信息,则说明你的默认网卡没有启动,
  11. # 你需要运行如下命令来启动
  12. sudo virsh net-info default
  13. # 再次查看网卡信息
  14. sudo virsh net-start default
  15. brctl show
  16. # 最后输入如下命令启动管理界面,并连接到你的 QEMU 中
  17. virt-manager

2.2 准备一个iso安装镜像

我的iso安装镜像是从 VMWare 的 macOS 中下载和制作的,没有 iso 镜像也没关系,你可以使用 【OSX-KVM】项目来获取 dmg 格式的镜像文件,然后再通过工具转成 img 或者 iso 即可, 【OSX-KVM】项目中还有一个转换命令,在 OpenCore 目录下,叫做 【create_iso_catalina.sh】,有需要的可以去看看。

2.3 准备 OSX-KVM

把背景中提到的 【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 和内存的配置信息可以根据自己的实际情况更新一下,

至此,准备工作就完成了。

3. 开始安装

一切都准备好之后,就可以开始正常的安装了,安装流程没有什么难度,不懂得就去百度一下 MacOS 的安装教程。

最难的一步就是如何让KVM能够正常引导系统进入安装界面了,不过,有了前面的准备工作,这已经不是什么问题了。

4. 结束

安装好 MacOS Bigsur 11.4 之后,可以把不需要的磁盘文件从配置项中删除,最后留下硬盘文件和OpenCore.qcow2文件即可,如下所示:

 最后启动系统,进入系统

 

圆满结束,谢谢您的耐心阅读!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/973348
推荐阅读
相关标签
  

闽ICP备14008679号