如何优雅的实现主机与虚拟机文件共享?

我们在嵌入式开发中使用虚拟机时,经常需要在主机和虚拟机操作系统之间传输文件。以常用的虚拟机软件 Vmware 为例,如果安装了虚拟机工具,我们可以通过直接拖放文件的方式快速实现文件的交互,但这种方式做不到文件的同步、修改,实际上还是通过文件复制、粘贴实现的,并且有时还会带来一些其他问题。

本文介绍一种通过在主机和虚拟机之间建立共享文件夹的形式实现主机与虚拟机的文件交互,这种方式可以同步主机和虚拟机之间对同一文件的操作、修改,极大地提高了嵌入式开发的效率。

实验环境

  • 主机系统:Windows 11 22H2
  • 虚拟机软件:Vmware 17.5.0
  • 虚拟机系统:Ubuntu 18.04

搭建共享

  • 在主机创建一个文件夹,作为共享文件夹:
  • 右键点击共享文件夹,打开属性-->共享-->高级共享:
  • 勾选共享此文件夹,点击确定:
  • 启动虚拟机软件,打开虚拟机设置-->选项,勾选总是启用共享文件夹,点击添加:
  • 点击下一步:
  • 填写主机共享文件夹路径和名称,点击下一步:
  • 勾选启用此共享,点击完成,关闭设置:
  • 启动虚拟机系统,打开终端,进入共享目录/mnt/hgfs,可以看到共享文件夹 share:
  • 主机与虚拟机之间建立共享文件夹需要正确安装虚拟机工具,如果没有正确建立文件共享,检查是否正确安装了虚拟机工具或者重新安装一下。

测试共享

  • 在主机共享目录中创建一个共享测试文件,随机输入一些内容:
  • 在虚拟机中查看共享文件夹中的共享文件及内容:
  • 在虚拟机中对共享文件做一些修改:
  • 在主机可以查看到共享文件的修改:
  • 在主机中编写代码:
  • 在虚拟机中编译:
  • 总结一句,优雅永不过时~

更多内容

相关推荐
努力的章鱼bro1 小时前
操作系统-FileSystem
c++·操作系统·risc-v·filesystem
muls11 天前
java面试宝典
java·linux·服务器·网络·算法·操作系统
结衣结衣.1 天前
【Linux】命名管道的妙用:实现进程控制与实时字符交互
linux·运维·开发语言·学习·操作系统·交互
sdm0704271 天前
Linux-库制作与原理
linux·c++·操作系统
REDcker2 天前
C++ new、堆分配与 brk / mmap
linux·c++·操作系统·c·内存
艾莉丝努力练剑3 天前
【Linux信号】Linux进程信号
linux·运维·服务器·学习·操作系统·进程·信号
REDcker3 天前
C++ vcpkg:安装、使用、原理与选型
开发语言·c++·windows·操作系统·msvc·vcpkg
kyle~4 天前
操作系统---指令/调用体系(特权、访管/陷入、系统调用)
linux·操作系统
报错小能手5 天前
深入理解 Linux 虚拟内存管理
开发语言·操作系统
报错小能手6 天前
深入理解 Linux 物理内存管理
学习·操作系统