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

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

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

实验环境

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

搭建共享

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

测试共享

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

更多内容

相关推荐
REDcker2 天前
软件开发者需要关注CPU指令集差异吗?
linux·c++·操作系统·c·cpu·指令集·加密算法
技术小甜甜2 天前
[电脑疑难档案] WSL 无法连接 MySQL 的解决方案:127.0.0.1 不管用?试试这个方法!
操作系统·开发·wsl
不穿格子的程序员2 天前
操作系统篇3——深入理解操作系统:Linux 常用命令、系统中断与用户态/内核态详解
linux·服务器·操作系统·内核态·用户态·中断
海棠蚀omo2 天前
Linux信号保存的核心:未决信号集与阻塞信号集——探秘内核如何实现信号的阻塞、暂存与派发
linux·操作系统
不穿格子的程序员2 天前
操作系统篇4——深入理解操作系统:僵尸进程、孤儿进程与进程调度算法详解
操作系统·僵尸进程·孤儿进程·进程调度
代码AC不AC3 天前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构
序属秋秋秋4 天前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
阿巴~阿巴~4 天前
自定义协议设计与实践:从协议必要性到JSON流式处理
服务器·网络·网络协议·json·操作系统·自定义协议
海棠蚀omo6 天前
解读Linux进程的“摩尔斯电码”:信号产生的原理与实践,掌控进程的生死时速
linux·操作系统
ZhengEnCi9 天前
P3H0-Python-os模块完全指南-操作系统接口与文件路径处理利器
python·操作系统