使用QEMU在MacOS上创建Ubuntu 20.04桌面虚拟机

2020-09-21 12:03:17

在这篇博客文章中,我们将在MacOS上使用QEMU创建一个Ubuntu20.04虚拟机。

QEMU是一个硬件仿真器,在运行虚拟机时可以使用不同的加速器。最流行的加速器是内置于Linux内核的KVM,它允许Linux主机以本机性能运行VM。

在MacOS上使用QEMU曾经非常慢,因为没有可用的加速器。这种情况在2年前发生了变化,当时该项目通过Hypervisor.framework(HVF)作为加速器添加了对MacOS本机虚拟机管理程序的支持。

在我们开始安装之前,我假设Ubuntu20.04桌面ISO已经下载到当前工作目录中。

我们可以使用Homebrew安装QEMU。我们在本教程中使用的版本是5.1.0:

$BREW安装qemuqemu-system-x86_64--版本QEMU仿真器版本5.1.0版权所有(C)2003-2020 Fabrice Bellard和QEMU项目开发人员。

它将引入几个依赖项(包依赖于其他14个包),安装可能需要几分钟时间。

安装完成后,我们可以创建要在其上安装Ubuntu的磁盘映像。

我们使用QCOW2格式创建一个20 GB的映像。如果需要,稍后可以调整其大小。当我安装Ubuntu时,它占用了大约5 GB的空间。

在此步骤中,我们使用CD驱动器中挂载的Ubuntu ISO引导机器:

Qemu-system-x86_64\-Machine type=q35,Accel=hvf\-cpu host\-smp 2\-hda ubuntu-20.04.1-ktop-amd64.qco2\-cdro./ubuntu-20.04.1-ktop-amd64.iso\-m 4G\-vga virtio\-usb\-device USB-Tablet\-display default,show-sor=on。

-MACHINE:仿真机和加速器。Q35是最新的机器类型,HVF是MacOS本机虚拟机管理程序。

-CPU:CPU架构。Value HOST将使用具有所有支持的主机功能的HVF处理器。

-VGA:要使用的显卡。我发现virtio(基于Virgil)具有最好的性能。

-添加“USB-Tablet”作为输入设备的设备。我在笔记本电脑上运行此程序,如果没有此设置,鼠标将无法工作。

在测试期间,我遇到了Linux内核的问题,因为它在引导过程中会死机。问题出在-cpu主机参数。我通过手动指定CPU体系结构修复了它(有关所有可用体系结构的列表,请参阅qemu-system-x86_64-cpu help)。

并且使用-cpu ivybridge将会失败。但是,在使用-cpu Nehalem(也是i7CPU)时,一切都运行得很好。

现在,机器启动后,Ubuntu安装程序将运行。按照安装步骤操作,不要在安装结束时重新启动VM,而是通过在主机上使用CTRL-C停止QEMU进程来将其关闭。

在运行虚拟机时,我们不需要挂载Ubuntu ISO,只需省略-cdrom选项即可将其删除:

Qemu-system-x86_64\-Machine type=q35,Accel=hvf\-cpu host\-smp 2\-hda ubuntu-20.04.1-ktop-amd64.qco2\-m 4G\-vga virtio\-usb\-device USB-Tablet\-display default,show-sor=on。

根据我的经验,QEMU比VirtualBox更快,响应更灵敏,使用的CPU/RAM更少。我不需要为HiDPI屏幕配置任何显示缩放,因为它开箱即用。我唯一缺少的是共享剪贴板和文件拖放(在安装VirtualBox Guest Additions时可用)。