上一篇                     
               
			  Linux虚拟机如何共享物理机文件夹
- 物理机
- 2025-06-11
- 4965
 通过虚拟化软件设置共享文件夹,实现物理机与Linux虚拟机间的双向文件访问,便于数据交换和操作同步。
 
Linux虚拟机与物理机共享文件夹终极指南
在虚拟机中运行Linux,却苦于文件传输不便?共享文件夹功能正是您需要的解决方案!它能无缝桥接物理机和虚拟机,实现文件实时共享,彻底告别繁琐的U盘拷贝或网络传输,大幅提升开发、测试和学习的效率,下面详细介绍两种主流虚拟机软件(VirtualBox 和 VMware)的设置方法。
一、VirtualBox 中设置共享文件夹
-  安装 VirtualBox Guest Additions (虚拟机内操作) - 启动您的Linux虚拟机。
- 在VirtualBox菜单栏,点击 设备->安装增强功能...,这会在虚拟机内挂载一个虚拟光盘。
- 打开终端,执行以下命令挂载光盘并安装: # 创建挂载点 (如果不存在) sudo mkdir -p /mnt/cdrom # 挂载增强功能镜像 sudo mount /dev/cdrom /mnt/cdrom # 进入挂载目录并运行安装脚本 (通常需要root权限) cd /mnt/cdrom sudo ./VBoxLinuxAdditions.run 
- 安装完成后,重启虚拟机:sudo reboot。
 
-  在 VirtualBox 管理界面设置共享文件夹 (物理机操作)  - 确保您的Linux虚拟机处于关闭状态。
- 在VirtualBox管理器中,选中您的虚拟机。
- 点击 设置->共享文件夹。
- 点击右侧的文件夹+图标添加新共享。
- 文件夹路径: 点击下拉箭头,选择 其他...,然后浏览并选择您物理机上想要共享的文件夹(D:VM_Share)。
- 文件夹名称: 输入一个在虚拟机内部使用的名称(vbox_share)。请使用小写字母和下划线,避免空格和特殊字符。
- 勾选 自动挂载:确保虚拟机启动时自动挂载。
- 勾选 固定分配:使共享更持久。
- 点击 确定保存设置。
 
-  在 Linux 虚拟机内访问共享文件夹 - 启动您的Linux虚拟机。
- Guest Additions安装正确后,共享文件夹通常会自动挂载到 /media/目录下,子目录名称为sf_<你设置的文件夹名称>。
- 如果您设置的文件夹名称是 vbox_share,那么路径通常是:/media/sf_vbox_share/ 
- 打开文件管理器或使用终端 cd /media/sf_vbox_share/即可访问共享内容。
- 权限问题: 
    - 默认情况下,只有 vboxsf用户组的成员才能访问共享文件夹。
- 将您的Linux用户添加到 vboxsf组即可获得访问权限:sudo usermod -aG vboxsf $(whoami) 
- 重要: 执行此命令后,您需要完全注销当前用户并重新登录(或者重启虚拟机),用户组更改才能生效。
 
- 默认情况下,只有 
 
二、VMware Workstation/Player 中设置共享文件夹
-  安装 VMware Tools (虚拟机内操作 – 推荐Open-VM-Tools) - 启动您的Linux虚拟机。
- 现代Linux发行版 (Ubuntu, Debian, Fedora, CentOS等) 通常预装了开源的 open-vm-tools或open-vm-tools-desktop(提供图形界面拖放支持),这是首选方式。
- 检查是否已安装: dpkg -l | grep open-vm-tools # Debian/Ubuntu rpm -qa | grep open-vm-tools # RedHat/CentOS/Fedora 
- 如果未安装,使用包管理器安装: # Debian/Ubuntu sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -y # RedHat/CentOS (8+) sudo dnf install open-vm-tools open-vm-tools-desktop -y # 较旧CentOS (7) sudo yum install open-vm-tools open-vm-tools-desktop -y 
- 安装完成后,重启虚拟机:sudo reboot。
- (传统方法:VMware菜单 虚拟机->安装 VMware Tools已较少使用,因为Open-VM-Tools更易维护且与内核同步更新)。
 
-  在 VMware 管理界面启用共享文件夹 (物理机操作)  - 确保您的Linux虚拟机处于开启状态。
- 在VMware菜单栏,点击 虚拟机->设置。
- 选择 选项选项卡 ->共享文件夹。
- 选择 总是启用。
- 点击右侧的 添加...按钮。
- 浏览并选择您物理机上想要共享的文件夹(D:VMware_Share)。
- 设置一个在虚拟机内部使用的 名称(vmware_share)。
- 勾选 启用此共享。
- 根据需要勾选 只读或子文件夹映射。
- 点击 完成->确定保存设置。
 
-  在 Linux 虚拟机内访问共享文件夹 - VMware共享文件夹的标准挂载点是 /mnt/hgfs/。
- 打开终端,进入该目录查看: cd /mnt/hgfs/ ls 
- 您应该能看到以您在VMware中设置的共享名称命名的文件夹(vmware_share)。
- 路径即为:/mnt/hgfs/vmware_share/。
- 权限问题: 
    - 与VirtualBox类似,访问权限通常由挂载时的用户决定。
- 如果遇到权限问题(无法读写),可以在VMware共享设置中尝试勾选 映射为已登录用户(如果可用),或者在Linux端检查/mnt/hgfs/及其子目录的所有者和权限,必要时使用chmod或chown调整(需谨慎操作)。
 
 
- VMware共享文件夹的标准挂载点是 
三、通用技巧与故障排除
- 自动挂载 vs 手动挂载: 
  - 上述方法都设置了自动挂载,如果自动挂载失败,可以尝试手动挂载: 
    - VirtualBox: sudo mount -t vboxsf <共享文件夹名称> <虚拟机内挂载点> # sudo mount -t vboxsf vbox_share /mnt/my_vbox_share 
- VMware: sudo /usr/bin/vmhgfs-fuse .host:/<共享文件夹名称> <虚拟机内挂载点> -o subtype=vmhgfs-fuse,allow_other # sudo /usr/bin/vmhgfs-fuse .host:/vmware_share /mnt/my_vmware_share -o subtype=vmhgfs-fuse,allow_other 
 
- VirtualBox: 
 
- 上述方法都设置了自动挂载,如果自动挂载失败,可以尝试手动挂载: 
    
- 权限问题深入: 
  - 确保您的用户已加入正确的组(VirtualBox的 vboxsf)。
- 检查挂载点的权限 (ls -ld /media/sf_vbox_share /mnt/hgfs/vmware_share)。
- 考虑在物理机共享文件夹上设置适当的Everyone或特定用户权限(Windows物理机)。
- 在VMware中尝试 映射为已登录用户选项。
 
- 确保您的用户已加入正确的组(VirtualBox的 
- 共享未出现/无法访问: 
  - 确认Guest Additions / Open-VM-Tools 安装成功并已重启。 这是最常见原因!检查安装日志 (/var/log/vboxadd-install.log或journalctl相关日志)。
- 检查虚拟机设置中共享文件夹路径和名称是否正确启用。
- 确保虚拟机网络适配器处于 桥接模式或NAT模式(共享文件夹通常不依赖特定网络模式,但确保网络基本连通是好的)。
- 查看系统日志 (dmesg | tail,/var/log/syslog) 寻找挂载错误信息。
 
- 确认Guest Additions / Open-VM-Tools 安装成功并已重启。 这是最常见原因!检查安装日志 (
- 性能优化: 对于大型文件操作,NAT网络模式下的共享文件夹性能可能不如桥接模式,对于极高IO需求,考虑使用Samba/NFS网络共享(设置更复杂)。
- 安全提示: 避免共享包含敏感信息的系统目录(如整个用户目录/home或系统根目录),仅共享必要的、特定的工作目录。
掌握Linux虚拟机与物理机之间的共享文件夹设置,是提升虚拟化工作效率的关键一步,无论是使用VirtualBox还是VMware,核心步骤都离不开正确安装增强工具(Guest Additions / Open-VM-Tools)和在管理界面中配置共享路径,成功配置后,您将体验到近乎本地的文件访问速度,让开发调试、数据分析和日常操作变得无比顺畅。
遇到问题?欢迎在评论区留言,分享您的经验或困惑!

引用说明:
- 本文操作步骤基于 VirtualBox 官方文档关于 Guest Additions 和共享文件夹的说明。
- VMware 共享文件夹配置参考了 VMware Workstation/Player 用户手册及 Open-VM-Tools 项目文档。
- Linux 权限管理部分遵循标准的 UNIX/Linux 文件系统权限模型和用户组管理实践。
- 故障排查建议综合了常见技术社区(如Stack Overflow, Ask Ubuntu, VMware Communities)的经验总结。
 
  
			