插件窝 干货文章 Virtualbox主机和虚拟机之间实现文件夹共享及双向拷贝

Virtualbox主机和虚拟机之间实现文件夹共享及双向拷贝

共享 虚拟 文件夹 挂载 119    来源:    2025-04-01

VirtualBox 主机与虚拟机文件夹共享及双向拷贝方案

一、共享文件夹设置

1. 安装VirtualBox Guest Additions

前提条件:在虚拟机中安装Guest Additions增强工具 - 启动虚拟机 - 菜单选择"设备" > "安装增强功能" - 在虚拟机内运行安装程序(Windows)或挂载ISO执行脚本(Linux)

2. 配置共享文件夹

方法一:通过VirtualBox界面设置

  1. 关闭虚拟机
  2. 右键虚拟机 > 设置 > "共享文件夹"
  3. 点击右侧"+"图标添加共享
    • 文件夹路径:选择主机上的目录
    • 文件夹名称:自定义名称(如shared_folder)
    • 勾选"自动挂载"(Auto-mount)和"固定分配"(Make Permanent)

方法二:使用VBoxManage命令

VBoxManage sharedfolder add "VM名称" --name shared_folder --hostpath "主机路径" --automount

二、不同系统下的访问方式

Windows虚拟机

  1. 共享文件夹会自动映射为网络驱动器
  2. 或通过\\vboxsvr\shared_folder访问

Linux虚拟机

  1. 共享文件夹通常挂载在/media/sf_shared_folder
  2. 需要将用户加入vboxsf组才能访问: bash sudo usermod -aG vboxsf $USER 然后重启虚拟机生效

macOS虚拟机

  1. 类似Linux系统,挂载在/media/sf_shared_folder
  2. 同样需要用户加入vboxsf组

三、双向拷贝的其他方法

1. 拖放功能

  1. 确保启用了双向拖放:
    • 虚拟机设置 > 常规 > 高级 > 拖放:选择"双向"
  2. 安装Guest Additions后可直接拖放文件

2. 剪贴板共享

  1. 虚拟机设置 > 常规 > 高级 > 剪贴板共享:选择"双向"
  2. 支持文本和文件的复制粘贴

3. 网络共享

  1. 在主机和虚拟机间配置Samba/NFS共享
  2. 适用于需要更复杂权限控制的场景

4. SSH/SFTP传输

  1. 在虚拟机中启用SSH服务
  2. 使用FileZilla等工具通过SFTP传输文件

四、常见问题解决

  1. 共享文件夹不可见

    • 确认Guest Additions已安装
    • 检查用户是否在vboxsf组中
    • 尝试手动挂载:sudo mount -t vboxsf shared_folder /mnt/share
  2. 权限问题

    • 使用-o uid=1000,gid=1000指定挂载参数(数字为用户/组ID)
    • 或修改共享文件夹权限:chmod -R 777 /media/sf_shared_folder
  3. 性能优化

    • 对于大量小文件,考虑使用网络共享而非VirtualBox共享文件夹
    • 禁用杀毒软件实时扫描共享文件夹
  4. Windows主机路径问题

    • 使用反斜杠\或双反斜杠\\指定路径
    • 避免使用包含空格或特殊字符的路径

五、高级配置

1. 自动挂载配置(Linux)

编辑/etc/fstab添加:

shared_folder /mnt/share vboxsf defaults,uid=1000,gid=1000 0 0

2. 符号链接处理

在共享文件夹配置中启用"符号链接支持"选项

3. 只读共享

在添加共享时选择"只读"选项,防止虚拟机修改主机文件

通过以上方法,您可以灵活地在VirtualBox主机和虚拟机之间实现文件共享和双向传输。