Files
cyy_othermind/零碎的知识/mac安装ubuntu.md
2026-06-16 22:44:49 +08:00

5.5 KiB
Raw Blame History

好的,我们来把整个过程中的问题点和最终解决方案做一个清晰的总结,方便你日后参考。


📋 完整问题回顾与解决总结

一、环境背景

  • 宿主机M4 芯片 MacARM64 架构)
  • 虚拟机软件UTM
  • 虚拟机系统Ubuntu 22.04.5 LTSARM64 架构)
  • 目标:配置宿主机与 Ubuntu 虚拟机的共享文件夹

二、问题与解决过程全记录

阶段1获取 ARM64 镜像

问题:在清华镜像站 ubuntu-releases/22.04.5/ 只看到 amd64 镜像,找不到 arm64

原因amd64arm64 镜像分开放置:

  • amd64ubuntu-releases/
  • arm64ubuntu-ports/ubuntu-cdimage/

解决方案

  • 下载安装镜像:前往 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/22.04.5/release/,选择 ubuntu-22.04.5-live-server-arm64.iso(标准版,支持 ≤64GB 内存)。
  • 配置 APT 软件源:使用 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ 作为 jammy 的软件源地址。

阶段2尝试 VirtIO-FS 共享(失败)

问题:执行 sudo mount -t virtiofs share ~/shared 报错:

mount: /home/cyy/shared: wrong fs type, bad option, bad superblock on share...

排查过程

  1. 尝试安装 virtiofsdsudo apt install virtiofsd 提示 E: Unable to locate package virtiofsd
  2. 启用 universe 仓库后仍找不到该包。

结论virtiofsd 在 Ubuntu 22.04 ARM64 架构的软件源中不存在virtiofs 方案在 ARM64 上不可用。


阶段3改用 SPICE WebDAV 共享(成功)

最终方案:使用 UTM 推荐的 SPICE WebDAV 方式。

步骤

  1. 在 Ubuntu 中安装 WebDAV 相关软件包

    sudo apt update
    sudo apt install spice-vdagent spice-webdavd davfs2
    
  2. 在 UTM 中启用 WebDAV(虚拟机需关机状态):

    • 编辑虚拟机 → “共享”选项卡
    • 确保 “SPICE WebDAV” 已启用
    • 添加要共享的 macOS 文件夹
  3. 在 Ubuntu 中挂载

    # 创建挂载点
    mkdir -p ~/shared
    # 挂载(关键:使用 uid/gid 指定用户权限,并跳过认证)
    sudo mount -t davfs http://127.0.0.1:9843 ~/shared -o uid=1000,gid=1000
    

    ⚠️ 注意:提示 Username:Password: 时,直接按回车跳过,不要输入任何内容。


阶段4解决权限问题Permission denied

问题表现

  • 挂载后只能以 root 写入,普通用户 cyy 无法创建文件。
  • 执行 touch ~/shared/test.txtPermission denied

原因

  • 挂载时未指定 uid/gid,默认以 root 身份挂载。
  • 用户输入了认证信息(cyy/密码),导致挂载状态异常。

解决方案

  1. 卸载时确保不在挂载目录内

    cd ~
    sudo umount ~/shared
    

    如果提示 target is busy,使用惰性卸载:

    sudo umount -l ~/shared
    
  2. 重新挂载并指定用户权限

    sudo mount -t davfs http://127.0.0.1:9843 ~/shared -o uid=1000,gid=1000
    

    认证环节必须直接回车跳过

  3. 验证

    touch ~/shared/test.txt
    ls -l ~/shared
    

阶段5配置文件语法错误排查

问题:修改 /etc/davfs2/davfs2.conf 后挂载报错:

/sbin/mount.davfs: /etc/davfs2/davfs2.conf:78: unknown option

原因davfs2 的全局配置文件不支持 uid/gid 选项(某些版本限制)。

解决方案

  • 方式一(推荐):注释掉配置文件中添加的 uid/gid 行,改用命令行参数指定:
    sudo sed -i '78,79s/^/#/' /etc/davfs2/davfs2.conf
    
  • 方式二:将 uid/gid 写入 /etc/fstab(见下文永久挂载方案)。

三、最终稳定方案总结

每次手动挂载(已验证)

cd ~                          # 先退出挂载目录
sudo umount ~/shared          # 如果已挂载,先卸载
sudo mount -t davfs http://127.0.0.1:9843 ~/shared -o uid=1000,gid=1000
# 遇到 Username/Password 提示时,直接按 Enter 跳过

永久挂载(推荐)

编辑 /etc/fstab,添加一行:

https://127.0.0.1:9843 /home/cyy/shared davfs rw,noauto,user,uid=1000,gid=1000 0 0

之后每次挂载只需:

mount ~/shared

无需 sudo,无认证提示,权限自动生效。


四、关键经验与避坑指南

问题 原因 正确做法
找不到 arm64 镜像 镜像分开放置 ubuntu-cdimageubuntu-ports
virtiofsd 无法安装 ARM64 软件源无此包 放弃 virtiofs,改用 SPICE WebDAV
挂载后无法写入 未指定 uid/gid 挂载时用 -o uid=1000,gid=1000
认证弹窗干扰 输入了用户名/密码 直接回车跳过(本地服务无需认证)
卸载提示 busy 终端在挂载目录内 cd ~,再 umount
配置文件报错 davfs2.conf 不支持 uid/gid 注释掉,改用命令行或 /etc/fstab

五、最终环境状态

  • UTM 虚拟机运行 Ubuntu 22.04.5 ARM64
  • SPICE WebDAV 共享文件夹正常工作
  • 普通用户 cyy 可读写共享目录
  • 可选用 fstab 自动挂载方案

如果你后续需要配置 YOLOv8 环境或其他开发工具,这份总结可以作为你的基础环境配置文档。有问题随时再问! 🚀