Linux虚拟机文件共享如何设置
导读:Linux 虚拟机文件共享设置指南 一 方法总览与选择 虚拟机共享文件夹:在 VMware 或 VirtualBox 中开启共享文件夹,安装增强工具后在 Linux 内挂载,适合与本机高速互通。 SSH/SFTP/SCP:通过 SSH 协...
Linux 虚拟机文件共享设置指南
一 方法总览与选择
- 虚拟机共享文件夹:在 VMware 或 VirtualBox 中开启共享文件夹,安装增强工具后在 Linux 内挂载,适合与本机高速互通。
- SSH/SFTP/SCP:通过 SSH 协议在主机与虚拟机间加密传输,命令简单、跨平台,适合日常拷贝与自动化。
- Samba/CIFS:在 Linux 上搭建 Samba 共享,Windows 资源管理器可直接访问,适合跨系统、局域网共享。
- NFS:在 Linux 间以 NFS 挂载目录,适合同网段、类 Unix 环境的稳定共享。
- SSHFS:基于 SSH 的用户态文件系统,轻量挂载远程目录,适合临时或按需挂载。
二 VirtualBox 设置共享文件夹
- 安装增强功能:启动虚拟机 → 菜单 设备 → 插入 Guest Additions CD 映像 → 挂载并运行安装脚本(常见为 VBoxLinuxAdditions.run)→ 重启。
- 添加共享文件夹:选中虚拟机 → 设置 → 共享文件夹 → 添加共享 → 指定主机路径与共享名称(如 shared),勾选 自动挂载 与 固定分配。
- 手动挂载与权限:
- 创建挂载点:
sudo mkdir -p /mnt/shared - 挂载:
sudo mount -t vboxsf < 共享名称> /mnt/shared - 普通用户访问:将用户加入 vboxsf 组并重新登录:
sudo usermod -aG vboxsf $USER - 常见自动挂载路径:部分发行版会自动挂载到 /media/sf_< 共享名称> 。
- 创建挂载点:
- 开机自动挂载:编辑 /etc/fstab,添加一行(共享名称为你在 VirtualBox 中设置的名称):
< 共享名称> /mnt/shared vboxsf defaults 0 0
- 故障排查要点:确认 Guest Additions 安装成功、共享名称无误、挂载点存在;若提示无权限,检查用户是否在 vboxsf 组并已重新登录。
三 VMware 设置共享文件夹
- 安装工具:推荐安装 open-vm-tools(或 open-vm-tools-desktop 获取剪贴板/拖放等增强):
- Debian/Ubuntu:
sudo apt-get install open-vm-tools open-vm-tools-desktop - RHEL/CentOS:
sudo yum install -y open-vm-tools - 安装后建议重启。
- Debian/Ubuntu:
- 添加共享文件夹:选中虚拟机 → VM → Settings → Options → Shared Folders → 添加共享 → 选择主机目录并启用 Always enabled。
- 挂载共享文件夹:
- 查看可用共享:
vmware-hgfsclient - 挂载到 /mnt/hgfs:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other - 指定单个共享:
sudo vmhgfs-fuse .host:/< 共享名称> /mnt/hgfs/< 挂载点> -o allow_other
- 查看可用共享:
- 开机自动挂载:编辑 /etc/fstab,添加:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
- 提示:若 /mnt/hgfs 为空或不可访问,优先检查 open-vm-tools 是否安装、共享是否启用、以及是否使用了 fuse 挂载选项。
四 网络方式共享(SSH、Samba、NFS、SSHFS)
- SSH/SFTP/SCP(最简便、加密安全)
- 在虚拟机启用 SSH 服务:
sudo apt-get install openssh-server或sudo yum install openssh-server - 拷贝示例:
- 主机→虚拟机:
scp /path/file user@< VM_IP> :/path/ - 虚拟机→主机:
scp user@< VM_IP> :/path/file /path/ - 同步:
rsync -avz /src/ user@< VM_IP> :/dst/
- 主机→虚拟机:
- 在虚拟机启用 SSH 服务:
- Samba(Linux 与 Windows 互通)
- 安装:
sudo apt-get install samba或sudo yum install samba - 配置 /etc/samba/smb.conf(示例):
[shared] path = /path/to/dir read only = no browsable = yes
- 设置 Samba 用户:
sudo smbpasswd -a < 用户名> - 启动服务:
sudo systemctl restart smbd - Windows 访问:
\\< VM_IP> \shared
- 安装:
- NFS(Linux 与 Linux)
- 服务端(假设为主机):
sudo apt-get install nfs-kernel-server或sudo yum install nfs-utils - 编辑 /etc/exports:
/path/to/dir < 客户端IP> (rw,sync,no_subtree_check) - 启动:
sudo systemctl restart nfs-kernel-server - 客户端(虚拟机)挂载:
sudo mount < 主机IP> :/path/to/dir /mnt/nfs
- 服务端(假设为主机):
- SSHFS(基于 SSH 的 FUSE 挂载)
- 安装:
sudo apt-get install sshfs或sudo yum install sshfs - 挂载:
sshfs user@< 主机或VM_IP> :/remote/dir /mnt/sshfs - 卸载:
fusermount -u /mnt/sshfs
- 安装:
五 常见问题与快速排查
- 权限不足或被拒绝
- VirtualBox:将用户加入 vboxsf 组并重新登录:
sudo usermod -aG vboxsf $USER - VMware:挂载时使用 allow_other,确保当前用户对挂载点有访问权限。
- VirtualBox:将用户加入 vboxsf 组并重新登录:
- 挂载失败或找不到设备
- 确认增强工具已正确安装(Guest Additions/open-vm-tools)。
- 检查共享名称与挂载点路径是否一致;必要时手动挂载并观察报错信息。
- VirtualBox 若提示 No such device,尝试加载模块:
sudo modprobe vboxsf(常见于 CentOS/RHEL)。
- 图形文件管理器无法访问 /mnt/hgfs
- 在终端以管理员权限启动文件管理器(如
sudo nautilus),或改用命令行验证挂载是否成功。
- 在终端以管理员权限启动文件管理器(如
- 性能优化
- 为虚拟机分配足够的 CPU/内存,并优化宿主机与虚拟机的资源与网络设置;大文件传输建议使用 SCP/rsync 或 NFS。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux虚拟机文件共享如何设置
本文地址: https://pptw.com/jishu/774832.html
