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

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

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

实验环境

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

搭建共享

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

测试共享

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

更多内容

相关推荐
请输入蚊子15 小时前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
添砖java‘’2 天前
线程的互斥与同步
linux·c++·操作系统·线程·信息与通信
燃于AC之乐2 天前
【Linux系统编程】进程控制完全指南:从fork创建、优雅终止到进程等待的全面解析
linux·操作系统·进程控制·进程创建·进程等待·进程终止·fork函数
Trouvaille ~3 天前
【Linux】Linux线程概念与控制(四):glibc源码剖析与实现原理
linux·运维·服务器·c++·操作系统·glibc·线程控制
_OP_CHEN3 天前
【Linux系统编程】(二十四)深入 Ext2 块组内部:inode、数据块与目录的底层工作机制
linux·操作系统·文件系统·c/c++·inode·块组·数据块映射
番茄灭世神4 天前
Linux从入门到进阶第一章
linux·计算机·操作系统
燃于AC之乐4 天前
【Linux系统编程】进程地址空间完全指南:页表、写时拷贝与虚拟内存管理
linux·操作系统·虚拟内存·进程地址空间
_OP_CHEN4 天前
【Linux系统编程】(二十三)从块到块组:Ext2 文件系统核心架构的初步认识
linux·操作系统·文件系统·c/c++·ext2文件系统·磁盘分区·块组
Byte不洛5 天前
Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
linux·操作系统·多线程·pthread·线程互斥
_OP_CHEN5 天前
【Linux系统编程】(二十二)从磁盘物理结构到地址映射:Ext 系列文件系统硬件底层原理深度剖析
linux·操作系统·文件系统·c/c++·计算机硬件·ext文件系统·磁盘寻址