一般来说使用MAC操作系统都会安装一个WIN虚拟机,来协助一些需要WIN的操作。因为之前的MAC也是使用的Intel的芯片,所以可以直接在虚拟机里安装x86的WIN,这样基本上就覆盖了最经典的使用场景。
而最新的M1 MAC是ARM架构,且因为Rosetta不支持虚拟化,就导致了很多主流的虚拟机软件,类似Parallels都不支持在M1的MAC上安装x86架构的WIN10。
所以一旦有需求要使用x86的Windows,那就不能使用那些主流的虚拟机软件了,只能找一些偏门的软件。
实际上可选的并不多,或者说最后我就只找到了QEMU
,而在其基础上进行封装的UTM
应该说是最佳选择了。
相关链接:
关于在MAC上安装UTM并安装虚拟操作系统的方法,参考这篇就够了:Install Ubuntu ARM64 on Apple M1。
因为这篇讲的是如何安装ARM64
架构的虚拟操作系统,因此对于需要安装x86
虚拟系统的用户需要自行调整:
- In System, select the “ARM64 (aarch64)” architecture, and specify the amount of memory. At least half of your computer’s total memory is recommended for performance.
在这里选择x86_64
,而不是ARM64。其他都一致即可。最后不要忘记在虚拟机内安装:sudo apt install spice-vdagent spice-webdavd
。
因为装过一次之后就没怎么使用过UTM了,而且也没打算装第二次。这里就留点之前的笔记:
关闭虚拟机
在面板里选择共享目录
重开虚拟机
curl http://127.0.0.1:9843/ 查看是否有可访问内容
sudo apt install davfs2
mkdir -p /home/jonathan/mnt
sudo mount -t davfs -o uid=jonathan -o gid=jonathan http://127.0.0.1:9843/ /home/jonathan/mnt
sudo mount -t davfs http://127.0.0.1:9843/ /home/jonathan/mnt
skip username & password, no such setting
使用umount来卸载挂载盘
sudo umount /home/jonathan/mnt
会显示 target is busy
需要安装工具来查看使用者
sudo apt install psmisc
查看使用情况
fuser -mv /home/jonathan/mnt
杀掉使用者进程
fuser -kv /home/jonathan/mnt
自启动装载:
https://github.com/utmapp/UTM/wiki/Useful-tips#permanently-via-fstab
cat << EOF | sudo tee -a /etc/fstab
# UMT webdav server
http://localhost:9843 /home/jonathan/mnt davfs _netdev,user,uid=jonathan,gid=jonathan 0 0
EOF
cat << EOF | sudo tee -a /etc/davfs2/secrets
# fake credentials for UMT webdav server
/home/jonathan/mnt hello world
EOF
sudo mount /home/jonathan/mnt
主要还是为了虚拟机和宿主机之间能像两台主机一样进行ssh连接:
网络面板有个高级设置,勾选
下面会有个新建,使用TCP,然后guest(虚拟机)设置0.0.0.0端口22,主机(宿主机)设置127.0.0.1端口52222
重新启动虚拟机,然后自宿主机上进行ssh登录
ssh jonathan@localhost -p 52222
EOF