使用 Apple 芯片(M1 芯片)在 MacOS 上虚拟化 Ubuntu Linux

Virtualizing Ubuntu Linux on MacOS with Apple silicon (M1 chip)

截至 2022 年 3 月,VirtualBox 仅支持 x86 和 AMD64/Intel64,不支持基于 ARM 的系统,如 Apple M1。

Parallels Desktop for Mac 支持 Apple M1 芯片,但需要您购买许可证。

运行UbuntuLinuxMacOS上的虚拟机有苹果芯片(M1 芯片)的开源解决方案吗?

UTM

UTM 是一款功能齐全的 MacOS 开源虚拟机主机,支持 Apple silicon(M1 芯片)- https://mac.getutm.app/

按照说明在 UTM 上安装 Ubuntu - https://mac.getutm.app/gallery/ubuntu-20-04

根据我的经验,UTM 存在一些问题,有一种更简单的方法可以在 MacOS 上 运行 Ubuntu 虚拟机。

多次通过

Multipass 允许使用一些 CLI 命令启动和管理 Ubuntu 虚拟机 - https://multipass.run/

下载适用于 MacOS 的 Multipass - https://multipass.run/download/macos

运行 安装 Multipass 的安装程序。

验证安装:

multipass --help

启动 Ubuntu 20.04 LTS 虚拟机,名为 MyUbuntu(2 个 CPU,3GB 内存,10GB 硬盘):

multipass launch --cpus 2 --mem 3G --disk 10G --name MyUbuntu 20.04

挂载主目录以在主机和 VM 实例之间共享数据:

multipass mount $HOME MyUbuntu:Home

在 VM 实例上打开 shell 提示:

multipass sh MyUbuntu

在 VM shell 中,您登录为 ubuntu 用户且无密码 sudo

与实例交互,例如列出挂载的主目录:

ls ~/Home/

如果你想要 GUI,安装 Ubuntu Desktop 和 xrdp:

sudo apt update
sudo apt install ubuntu-desktop xrdp

为用户ubuntu设置密码

sudo passwd ubuntu

重启 VM 实例:

sudo reboot

等待虚拟机重新启动。

查找虚拟机的 IP 地址 (IPv4):

multipass ls

Name                    State             IPv4             Image
MyUbuntu                Running           192.168.xx.xx    Ubuntu 20.04 LTS

或者在单个命令中使用 jq 查找 IP 地址:

multipass ls --format json | jq ".list[0].ipv4[0]"

安装 Microsoft 远程桌面 - https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12

打开 Microsoft 远程桌面。

点击Add PC:

  • 电脑名称:<VM instance IP address>
  • 友情名称:我的Ubuntu

点击Add User Account...:

  • 用户名:ubuntu
  • 密码:<your password>
  • 友好名称:ubuntu

MyUbuntu 点击 ... > Connect

输入密码后享受Ubuntu桌面:

删除虚拟机实例运行:

multipass delete MyUbuntu
multipass purge