温馨提示×

VirtualBox Linux虚拟机如何共享文件夹

小樊
53
2025-10-18 01:53:52
栏目: 云计算

一、安装VirtualBox Guest Additions(增强功能)
共享文件夹功能依赖VirtualBox Guest Additions,需先在Linux虚拟机中安装。步骤如下:

  1. 启动Linux虚拟机,在VirtualBox顶部菜单栏选择「设备」→「安装增强功能」,虚拟机会自动挂载增强功能光盘镜像(通常位于/dev/cdrom)。
  2. 打开终端,创建挂载点并挂载光盘:
    sudo mkdir /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom 
  3. 进入光盘目录,运行安装脚本(不同Linux发行版路径可能略有差异):
    • CentOS/RHEL:cd /mnt/cdrom && sudo ./VBoxLinuxAdditions.run
    • Ubuntu/Debian:cd /media/[用户名]/VBox_GAs_[版本号] && sudo ./VBoxLinuxAdditions.run
  4. 安装完成后重启虚拟机:sudo reboot

二、配置VirtualBox共享文件夹

  1. 关闭虚拟机,回到VirtualBox主界面,选中目标虚拟机,点击「设置」。
  2. 进入「共享文件夹」选项卡,点击右侧「添加共享文件夹」按钮(+图标)。
  3. 在弹出窗口中:
    • 文件夹路径:选择主机上需要共享的文件夹(如/home/user/Documents/shared);
    • 共享名称:设置虚拟机内访问的文件夹名(如shared_vm,建议用英文);
    • 勾选「固定分配」(虚拟机重启后仍保留共享);
    • 可选:勾选「自动挂载」(虚拟机启动时自动挂载,需配合「固定分配」使用)。
  4. 点击「确定」保存设置。

三、挂载共享文件夹到Linux虚拟机

  1. 启动虚拟机,打开终端,创建本地挂载点(如/mnt/shared):
    sudo mkdir -p /mnt/shared 
  2. 手动挂载共享文件夹(若未勾选「自动挂载」):
    sudo mount -t vboxsf [共享名称] [挂载点] 示例:sudo mount -t vboxsf shared_vm /mnt/shared 
  3. 验证挂载结果:
    df -h | grep vboxsf # 查看是否显示共享文件夹 ls /mnt/shared # 查看主机共享文件 
    若能看到主机共享文件夹的内容,说明挂载成功。

四、设置开机自动挂载(可选)
若需每次启动虚拟机都自动挂载,需编辑/etc/fstab文件:

  1. 打开终端,输入sudo nano /etc/fstab,在文件末尾添加一行:
    [共享名称] [挂载点] vboxsf rw,uid=[你的用户ID],gid=[你的组ID],auto 0 0 示例:shared_vm /mnt/shared vboxsf rw,uid=1000,gid=1000,auto 0 0 
    • uid/gid:替换为你的用户ID和组ID(可通过id -uid -g命令查看);
    • rw:赋予读写权限(如需只读可改为ro)。
  2. 保存文件(Ctrl+O→回车→Ctrl+X),然后测试配置是否正确:
    sudo mount -a # 无报错则表示配置正确 

五、常见问题排查

  1. 共享文件夹未显示
    • 确认Guest Additions已正确安装(终端输入lsmod | grep vboxsf,若输出vboxsf则表示已加载);
    • 检查VirtualBox「共享文件夹」设置是否正确,重启虚拟机。
  2. 权限不足(无法写入)
    • 将当前用户加入vboxsf组(sudo usermod -aG vboxsf [你的用户名]),然后注销并重新登录;
    • 或修改挂载点权限(sudo chmod 777 /mnt/shared,注意:此操作会开放所有权限,仅建议测试时使用)。
  3. 无法挂载
    • 确认主机共享文件夹路径存在且可访问;
    • 检查虚拟机网络模式(建议使用「NAT」或「桥接」模式,确保主机与虚拟机互通)。

0