Mac M1使用UTM安装centos7 x86_64虚拟机

一、环境说明

1. 宿主机环境

macbook m1 pro 16G
Mac M1使用UTM安装centos7 x86_64虚拟机_第1张图片

2. UTM版本

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

3. centos 镜像

下载地址:https://www.centos.org/download/
可以选择一个你想要的版本,本文使用的是7.9.2009 - x86_64(这里的架构选择影响下面UTM新建虚拟机时的选项,用x86是怕aarch架构可能缺少某些软件包的支持)
Mac M1使用UTM安装centos7 x86_64虚拟机_第2张图片

然后选择下载的镜像源(南大的比清华快一点好像),然后下载想要的centos镜像:

Mac M1使用UTM安装centos7 x86_64虚拟机_第3张图片

本文下载的是CentOS-7-x86_64-Minimal-2009.iso,没有图形化界面,而且自带的命令也很少
下载链接


ps:如果想要使用其他操作系统,如ubuntu,可以直接在utm提供的仓库里下载

二、安装步骤

UTM安装

utm的安装就跟普通软件安装一样,下载dmg文件后双击。

虚拟机安装

  1. 安装好UTM之后打开UTM,点击【新建一个虚拟机】
    Mac M1使用UTM安装centos7 x86_64虚拟机_第4张图片

  2. 下一步选择模拟(因为上面选择的是x86版本,而mac M1是arm64,因此这里要选模拟)
    Mac M1使用UTM安装centos7 x86_64虚拟机_第5张图片

  3. 下一步操作系统选择Linux
    Mac M1使用UTM安装centos7 x86_64虚拟机_第6张图片

  4. 选择刚才下载的iso镜像文件为启动光盘镜像
    Mac M1使用UTM安装centos7 x86_64虚拟机_第7张图片

  5. 然后是分配资源
    系统这里不太了解,就直接用默认的参数了;
    内存、CPU和存储大小看自己需要,我分了2C4G+80G存储;
    文件共享目录也是看自己需要了。
    内存和CPU刚开始配置错了也没关系,关机后可以加的;硬盘也可以再划一块。
    Mac M1使用UTM安装centos7 x86_64虚拟机_第8张图片

  6. 上面选择的配置总览
    Mac M1使用UTM安装centos7 x86_64虚拟机_第9张图片

  7. 然后就是安装Centos系统
    不得不说安装的这一步挺慢的,不知道用arm的架构的镜像会不会快一点
    Mac M1使用UTM安装centos7 x86_64虚拟机_第10张图片

  8. 安装完之后就可以使用了
    记得先把DVD清除,不然下一次又会进入安装界面。
    Mac M1使用UTM安装centos7 x86_64虚拟机_第11张图片
    点击删除硬盘。
    Mac M1使用UTM安装centos7 x86_64虚拟机_第12张图片

  9. 改一下网卡设备信息
    ONBOOT=no 改成ONBOOT=yes,然后重启网络

    vi /etc/sysconfig/network-scripts/ifcfg-${NAME} // 虚拟机的网卡的名字,比如我的是enp0s1
    
    // 改完后重启网络
    systemctl restart network
    

    这里用的是dhcp自动分配IP,如果想要ssh到虚拟机,建议还是用静态IP。
    Mac M1使用UTM安装centos7 x86_64虚拟机_第13张图片

  10. 共享目录
    在我的笔记本上,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} // 列出共享文件夹下的目录
    

三、参考文章

  • 《MacBook Pro M1芯片安装CentOS-7成功~》
  • 【工具使用】Mac M1 UTM虚拟机安装
  • 将 Mac OS X 上的目录挂载到 Linux 的方法
  • smbclient命令行用法

你可能感兴趣的:(环境搭建,macos,xcode,ide)