温馨提示×

Linux虚拟机如何共享文件夹

小樊
44
2025-12-31 20:53:50
栏目: 云计算

Linux虚拟机共享文件夹实操指南

一、方法总览与选择

  • 虚拟机增强工具共享文件夹:在VMwareVirtualBox中开启共享文件夹,Linux 内挂载访问,适合日常开发、频繁互传。
  • 网络共享:用Samba/CIFS(跨平台)或NFS(Linux/Unix 间)通过局域网共享,适合多机、跨系统或容器化场景。
  • SSH/SCP 与 Rsync:基于 SSH 的安全拷贝与同步,配置简单、稳定,适合脚本化与临时传输。
  • SSHFS:通过 SSH 挂载远程目录为本地文件系统,轻量、加密、易用。
    以上方式在不同网络与权限模型下各有优势,可按“是否同机、是否跨平台、是否需开机自动挂载”来选型。

二、VMware 共享文件夹步骤

  • 安装增强工具:在 Linux 客户机安装open-vm-tools(推荐)或 VMware Tools。
    • Debian/Ubuntu:sudo apt-get install -y open-vm-tools
    • RHEL/CentOS:sudo yum install -y open-vm-tools
  • 在 VMware 设置共享文件夹:选中虚拟机 → VM → Settings → Options → Shared Folders → 添加主机目录,命名共享名,勾选Always enabled(或 Enabled until next power off/suspend)。
  • 在 Linux 中挂载:
    • 传统方式:sudo mount -t vmhgfs .host:/<共享名> /mnt/hgfs
    • FUSE 方式(推荐,便于普通用户访问):sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
  • 验证:ls /mnt/hgfs 应看到共享目录。
    说明:若未安装增强工具或未启用共享,挂载会失败;FUSE 方式配合 allow_other 可避免权限受限。

三、VirtualBox 共享文件夹步骤

  • 安装增强功能:虚拟机菜单 Devices → Insert Guest Additions CD Image,在客户机中运行安装程序并重启。
  • 在 VirtualBox 设置共享文件夹:选中虚拟机 → Settings → Shared Folders → 添加主机目录,填写共享名称(如:shared),按需勾选Auto-mountMake Permanent(固定分配)。
  • 在 Linux 中挂载:
    • 手动挂载:sudo mount -t vboxsf <共享名称> /mnt/shared
    • 自动挂载:勾选 Auto-mount 后,通常会自动出现在 /media/sf_<共享名称>;若未自动挂载,可手动执行上条命令。
  • 权限与便捷访问:
    • 将当前用户加入 vboxsf 组以访问共享目录:sudo gpasswd -a $USER vboxsf,然后重新登录或 newgrp vboxsf
    • 可选:创建软链方便访问,例如:ln -s /media/sf_shared ~/shared
      提示:共享名称是“名称”而非主机路径;若提示权限拒绝,多半是未加入 vboxsf 组或未使用 sudo。

四、网络方式与 SSH 传输

  • Samba/CIFS(跨平台,Windows 主机常用)
    • 主机或虚拟机安装 Samba,配置共享目录(如:/shared),在 Linux 客户机挂载:
      • sudo mount -t cifs //<主机IP>/shared /mnt/smb -o username=<用户>,password=<密码>[,vers=3.0]
  • NFS(Linux/Unix 间高性能)
    • 服务端(主机或某台 Linux):安装 NFS 服务,编辑 /etc/exports 导出目录,启动服务;
    • 客户端(虚拟机):安装 NFS 客户端后挂载:sudo mount <服务器IP>:/shared /mnt/nfs
  • SSH/SCP 与 Rsync(最简便、加密)
    • 在 Linux 客户机启用 SSH 服务:sudo apt-get install -y openssh-server && sudo systemctl start ssh
    • 拷贝与同步:
      • SCP:scp /local/file user@<vm_ip>:/remote/
      • Rsync:rsync -avz /local/dir/ user@<vm_ip>:/remote/dir/
        以上方式不依赖虚拟化增强工具,适合网络可达的任意主机与客户机组合。

五、常见问题与排查

  • 挂载失败或目录为空
    • 确认已安装VMware Tools/open-vm-toolsVirtualBox Guest Additions
    • 检查共享名、挂载点路径是否正确;VMware 用 .host:/<共享名>,VirtualBox 用 vboxsf <共享名称>;必要时创建挂载点(如 /mnt/hgfs/mnt/shared)。
  • 权限被拒绝
    • VirtualBox:将用户加入 vboxsf 组并重新登录;必要时用 sudo 挂载;
    • VMware FUSE:挂载时加 -o allow_other;检查宿主机共享目录的读写权限。
  • 自动挂载不生效
    • VirtualBox 勾选Auto-mountMake Permanent;VMware 选择Always enabled;也可在 /etc/fstab 添加条目实现开机挂载(注意使用正确的文件系统类型与挂载选项)。
  • 网络方式不通
    • 确认虚拟机与主机网络可达(桥接/NAT 均可),关闭或放行相关防火墙端口(如 NFS 2049 等);Samba/CIFS 可按需指定 vers=2.0/3.0 以兼容旧主机。

0