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

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

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

实验环境

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

搭建共享

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

测试共享

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

更多内容

相关推荐
Bruce_kaizy1 天前
c++ linux环境编程——linux信号(signal)
linux·c++·操作系统·环境编程
橙子也要努力变强1 天前
Linux I/O 缓冲区、inode、软硬链接与磁盘结构全解析
linux·c++·操作系统
Byte不洛1 天前
手写一个C++ TCP服务器实现自定义协议(顺便解决粘包问题)
linux·c++·操作系统·网络编程·tcp
棉花糖超人3 天前
【操作系统】三、线程
java·开发语言·操作系统
橙子也要努力变强4 天前
进程间通信基础
c++·操作系统
橙子也要努力变强4 天前
共享内存通信
网络·c++·操作系统
ErizJ5 天前
面试 | 操作系统
linux·面试·职场和发展·操作系统·os
柏木乃一5 天前
Linux线程(8)基于单例模式的线程池
linux·运维·服务器·c++·单例模式·操作系统·线程
CS创新实验室5 天前
从硬件抽象到意图对齐:论 AI 时代操作系统演进的逻辑必然与 OpenClaw 的范式价值
人工智能·操作系统·策略模式
香水5只用六神6 天前
【RTOS快速入门】07_同步互斥与通信概述
单片机·嵌入式硬件·学习·操作系统·freertos·rtos·嵌入式软件