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

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

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

实验环境

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

搭建共享

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

测试共享

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

更多内容

相关推荐
小宇子2B3 天前
三、内核入口 el0_svc / entry_SYSCALL_64 的汇编做了什么——从异常向量到 C 函数
操作系统
小宇子2B4 天前
四、从 write(1, "hello", 5) 到 ksys_write() —— sys_call_table 怎么路由的
操作系统
小宇子2B4 天前
一、printf("hello") 怎么变成 write(1, "hello", 5) —— libc 的 stdout 缓冲机制
操作系统
小宇子2B9 天前
一个 pthread_mutex_lock() 到底锁了什么——从用户态 CAS 到内核调度
操作系统
小宇子2B10 天前
多线程 malloc 为什么会变慢——glibc 的 arena 到 bins 全景
操作系统
fakerth15 天前
【OpenHarmony】communication_ipc模块
操作系统·openharmony
Coisinier15 天前
RHCE中shell脚本基础(磁盘剩余空间监控,Web 服务状态检查,curl 访问 Web 服务并返回状态)
linux·运维·服务器·前端·nginx·操作系统
小宇子2B16 天前
free 完再 malloc 同样大小,为什么常拿回刚还回去的那块?
操作系统
触底反弹18 天前
拷个 .exe 到新电脑就跑不起来?你缺的不是文件,是对链接的理解
c++·windows·操作系统
杊页18 天前
第一板块:Android 系统基石与运行原理 | 第二篇:Android 编译、打包与安装机制
android·操作系统