UTM 实现虚拟机与宿主机之间文件挂载与传输

浅强君_9302

浅强君_9302

2026-07-19

347人浏览

原创

utm实现虚拟机与宿主机文件共享依赖virtio-fs或9p协议,核心步骤为:宿主机在utm图形界面设置共享目录并启用→虚拟机创建挂载点→执行mount命令挂载→可选写入fstab实现持久化。

utm 实现虚拟机与宿主机之间文件挂载,核心靠的是 virtio-fs(默认)或 9p 协议,无需 ssh、ftp 或手动配置网络,图形化设置后只需几条命令挂载即可使用。关键点在于:宿主机设共享目录 → utm 启用并关联 → 虚拟机内创建挂载点 → 执行挂载命令 → (可选)写入 fstab 持久生效。

一、宿主机端:设置共享目录(macOS/Windows/Linux 通用)

这是所有操作的前提,必须在 UTM 图形界面中完成:

  • 确保共享目录路径不含中文、空格或特殊符号(推荐如 /Users/yourname/utm-share 或 D:\UTMShare);
  • 打开 UTM,右键目标虚拟机 → “Settings” → 切换到 “Devices” 标签页;
  • 找到 “Shared Folders”,点击 “+” 添加,选择上述目录;
  • 勾选 “Always Enabled”,根据需要设置为 “Read Only” 或 “Writable”;
  • 保存设置,无需重启虚拟机(但若已开机,挂载步骤仍需手动执行)。

二、虚拟机端:挂载共享目录(以 Ubuntu Server 为例)

UTM 不会自动挂载共享目录,尤其无桌面环境的 Server 版本,需手动操作:

FD Studio
FD Studio

一款AI视频创作工具,主要用于一站式AI辅助影视创意工作台,适合需要提升相关任务效率的用户。

下载
  • 先创建挂载点:sudo mkdir -p /mnt/utm-share;
  • 确认 UTM 已启用共享:运行 ls /proc/mounts | grep 9p 或 find /sys -name "virtio*" 2>/dev/null,有输出说明协议就绪;
  • 执行挂载命令(根据 UTM 版本和虚拟机系统选其一):
    • virtio-fs(推荐,性能好):sudo mount -t virtiofs share /mnt/utm-share -o context=system_u:object_r:svirt_sandbox_file_t:s0
    • 9p(兼容旧系统):sudo mount -t 9p -o trans=virtio,version=9p2000.L share /mnt/utm-share;
  • 验证是否成功:ls /mnt/utm-share 应能列出宿主机该目录下的全部文件。

三、让挂载持久化(重启不丢失)

临时挂载在重启后失效,需写入 /etc/fstab:

  • 备份原文件:sudo cp /etc/fstab /etc/fstab.bak;
  • 追加一行(以 9p 为例):share /mnt/utm-share 9p trans=virtio,version=9p2000.L,uid=1000,gid=1000 0 0;
  • 测试配置是否合法:sudo mount -a,无报错即生效;
  • 下次启动时系统将自动挂载,无需再手动执行 mount 命令。

四、常见问题快速处理

挂载失败大多源于权限或协议未就绪:

  • “Operation not permitted” 或 “No such device”:检查虚拟机是否启用 virtio-fs 支持(Ubuntu 22.04+ 默认支持;旧版需确认内核含 CONFIG_VIRTIO_FS);
  • 挂载后看不到文件或提示 Permission denied:在挂载命令中添加 uid=1000,gid=1000(对应虚拟机普通用户 ID),或改用 allow_other 选项(需 FUSE 支持);
  • Windows 宿主机下路径识别异常:UTM 对 Windows 共享路径兼容性较好,但建议用 WSL2 风格路径(如 C:/UTMShare),避免反斜杠和盘符大小写混淆;
  • 图形界面虚拟机(如 Ubuntu Desktop):部分版本会自动探测并挂载到 /run/host/share,可直接访问,无需额外操作。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

虚拟机

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
虚拟化软件介绍
虚拟化软件介绍

虚拟化软件有VMware、VirtualBox、Hyper-V、Parallels Desktop、Oracle VirtualBox等。想了解更多虚拟化的相关内容,可以阅读本专题下面的文章。

2023.12.20

9279

8

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

40

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程