UTM是基于QEMU的系统模拟器和虚拟机主机,适用于iOS和macOS。
UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of QEMU.
最新版下载地址:https://mac.getutm.app/
历史版本可以在这里找到:https://github.com/utmapp/UTM/releases
本文使用的版本:v4.0.9
https://github.com/utmapp/UTM/releases/download/v4.0.9/UTM.dmg
下载地址:https://www.centos.org/download/
可以选择一个你想要的版本,本文使用的是7.9.2009 - x86_64(这里的架构选择影响下面UTM新建虚拟机时的选项,用x86是怕aarch架构可能缺少某些软件包的支持)
然后选择下载的镜像源(南大的比清华快一点好像),然后下载想要的centos镜像:
本文下载的是CentOS-7-x86_64-Minimal-2009.iso,没有图形化界面,而且自带的命令也很少
下载链接
ps:如果想要使用其他操作系统,如ubuntu,可以直接在utm提供的仓库里下载
utm的安装就跟普通软件安装一样,下载dmg文件后双击。
然后是分配资源
系统这里不太了解,就直接用默认的参数了;
内存、CPU和存储大小看自己需要,我分了2C4G+80G存储;
文件共享目录也是看自己需要了。
内存和CPU刚开始配置错了也没关系,关机后可以加的;硬盘也可以再划一块。
改一下网卡设备信息
将ONBOOT=no
改成ONBOOT=yes
,然后重启网络
vi /etc/sysconfig/network-scripts/ifcfg-${NAME} // 虚拟机的网卡的名字,比如我的是enp0s1
// 改完后重启网络
systemctl restart network
共享目录
在我的笔记本上,UTM提供的共享方式有两种,一种是使用基于SPICE WebDAV,需要安装spice-webdav,但是用yum install
命令找不到包,后续找了个rpm包又因为出现依赖问题,一时半会解决不了。
另一种是使用virtFS的方式则要求kernel支持9P(可以使用命令grep 9P /boot/config-xxxx
查看),而我的kernel并不支持。
最后回归mac自带的共享文件夹方式来共享目录,需要在centos上先安装相关文件系统的挂载工具yum install cifs-utils
,然后在mac上设置共享目录,可以参照这篇文章,
然后在centos上执行命令尝试挂载:
mount -t cifs //${HOST_IP}/${SHARED_FOLDER} ${MOUNT_PATH} -o username=${YOUR_USERNAME},password=${YOUR_PWD},vers=3.0
如果挂载成功,就把挂载点写入/etc/fstab 文件开机自动挂载,但是这里有个问题是ip可能会变
//${HOST_IP}/${SHARED_FOLDER} ${MOUNT_PATH} cifs defaults,username=${YOUR_USERNAME},password=${YOUR_PWD},vers=3.0 0 0
如果挂载失败,可以执行如下命令看是否有提示失败原因
tail /var/log/message
也可以先使用smbclient尝试连接
yum install smb-client
smbclient -L ${YOUR_IP} -U ${YOUR_USERNAME} // 列出共享文件夹下的目录