如何M2(arm64)上运行amd64位的ubuntu系统
本教程将向您展示如何在Apple Mac M2 arm64架构的MacBook上使用UTM运行64位Ubuntu Linux虚拟机。
前言
随着Apple Silicon芯片(M1/M2)的普及,许多开发者面临着在ARM64架构上运行x86/AMD64应用程序的挑战。UTM是一个优秀的虚拟化解决方案,可以帮助我们在Mac M2上运行不同架构的操作系统。
虽然我的电脑上已经有了arm64位的ubuntu系统,但是出于跨平台测试和编译,还是得需要amd64平台的系统,因此本文就实战如何部署一个amd64的ubuntu在m2上。
安装UTM
首先,我们需要安装UTM虚拟机软件:
- 访问UTM官方文档页面:https://docs.getutm.app/installation/macos/
- 下载UTM.dmg文件
- 安装并打开UTM
安装完成后,您将看到UTM的主界面。
下载Ubuntu镜像
在创建虚拟机之前,我们需要下载Ubuntu Server镜像:
- 访问Ubuntu Server下载页面:https://ubuntu.com/download/server
- 选择并下载您想要的版本(本教程使用Ubuntu Server 22.04)
- 等待ISO镜像文件下载完成
创建虚拟机
第一步:选择虚拟化类型
在UTM主界面中点击"创建新虚拟机":
- 选择"模拟(Emulate)",因为我们要运行AMD64位架构
- 选择"Linux"操作系统类型,这里要选择Emulate。
第二步:选择系统镜像
在下一个界面中:
-
浏览并选择刚才下载的Ubuntu ISO镜像文件
-
确认选择的镜像文件正确显示,这里点击“Browse”,选择我们下载好的amd64的镜像。
第三步:配置硬件
点击"继续"后,需要配置虚拟机的硬件参数:
- 架构:选择
x86_64
- 系统:保持默认设置
- 内存:设置为
2048MB
(可根据需要调整) - CPU核心数:设置为
2
(可根据需要调整)
第四步:配置存储
在存储配置界面:
- 设置虚拟磁盘大小(本教程设置为8GB,仅用于测试)
- 根据实际需求调整存储大小
第五步:共享目录(可选)
如果需要在主机和虚拟机之间共享文件,可以配置共享目录:
mkdir ~/share
在UTM中将这个目录设置为共享目录。
第六步:完成配置
- 在摘要界面检查所有配置
- 为虚拟机命名
- 点击"保存"完成创建
安装Ubuntu
启动虚拟机
- 在UTM主界面选择刚创建的虚拟机
- 点击播放按钮启动虚拟机
- 控制台将显示Ubuntu安装界面
安装过程
- 选择"安装Ubuntu"
- 按照安装向导进行配置
- 重要:确保选择"安装OpenSSH服务器"选项,这样可以通过SSH连接到虚拟机
- 完成其他配置选项,安装过程中会让你选择镜像源,可以自行配置清华的源或者其他的。
- 等待安装过程完成(通常需要几分钟)
完成安装
安装完成后:
- 在UTM界面右侧点击圆形按钮
- 选择CD/DVD选项
- 选择Ubuntu ISO并点击"弹出"
- 关闭虚拟机并重新启动
使用虚拟机
登录系统
虚拟机重启后:
- 使用安装时创建的用户账号登录
- 查看虚拟机的IP地址:
ip addr show
通过SSH连接
从Mac终端连接到虚拟机:
ssh username@虚拟机IP地址
可以验证虚拟机正在运行64位系统:
这将显示 x86_64
,确认我们成功在ARM64的Mac M2上运行了AMD64架构的Linux虚拟机。
总结
通过UTM,可以在Mac M2上成功运行AMD64架构的Linux虚拟机。这种方法虽然性能会有所损失(因为需要指令集转换),但对于开发、测试和学习目的来说已经足够。
UTM的优势包括:
- 支持多种架构模拟
- 界面友好,易于使用
- 免费开源
- 在Apple Silicon上有良好的兼容性
这个解决方案特别适合需要在ARM64环境中运行x86/AMD64应用程序的开发者和技术爱好者。
个人体验:由于涉及架构模拟,在amd64上运行确实比其他的arm64的系统慢很多,大概延迟1秒左右,即使配置了多核和内存还是一样的,因此安装仅用于测试,要高性能的还是去找一台完整的amd64的虚拟机或者服务器更合适。