需安装virtualbox guest additions并配置共享文件夹,可通过图形界面添加后手动挂载、fstab持久挂载、自动创建sf_挂载点三种方式实现windows与ubuntu文件互通,必要时指定uid/gid解决权限问题。

如果您在VirtualBox中运行Ubuntu虚拟机,希望与Windows主机之间实现文件互通,则需正确配置共享文件夹功能。以下是多种可行的设置方法:
一、通过VirtualBox图形界面配置共享文件夹并手动挂载
该方法适用于所有Linux发行版,依赖VirtualBox Guest Additions已安装,通过图形化操作设定共享路径,并在终端执行挂载命令使共享生效。
1、启动VirtualBox,选中目标Ubuntu虚拟机,点击“设置”按钮。
2、在设置窗口中切换至“共享文件夹”选项卡,点击右侧“添加共享文件夹”图标(加号)。
3、在弹出窗口中点击“文件夹路径”右侧的“其他”,浏览并选择Windows主机上待共享的文件夹(例如D:\SharedFolder)。
4、在“文件夹名称”栏中输入一个**不带空格和特殊字符的共享名称**,如SharedFolder,该名称后续将用于挂载命令。
5、勾选“自动挂载”和“固定分配”,点击“确定”完成添加。
6、启动Ubuntu虚拟机,在终端中执行以下命令创建挂载点:
7、执行挂载命令:sudo mount -t vboxsf SharedFolder /mnt/SharedFolder。
8、验证是否成功:运行ls /mnt/SharedFolder,应能列出Windows侧该目录下的文件。
二、启用自动挂载并在系统启动时持久生效
该方法避免每次开机重复执行挂载命令,通过修改系统启动配置文件,使共享文件夹在Ubuntu启动过程中自动挂载到指定路径。
1、确保已按方法一完成共享文件夹添加,并确认共享名称为SharedFolder。
2、在Ubuntu中打开终端,使用sudo权限编辑fstab文件:sudo nano /etc/fstab。
3、在文件末尾新增一行,格式如下:
4、保存并退出编辑器,执行sudo mount -a测试配置是否语法正确且可立即挂载。
5、重启虚拟机后,共享文件夹将自动出现在/mnt/SharedFolder路径下。
三、利用VirtualBox自动创建的sf_*挂载点(免手动挂载)
当启用“自动挂载”且Guest Additions安装完整时,VirtualBox会在Ubuntu的/media目录下自动生成以sf_为前缀的挂载点,无需额外命令即可访问。
1、在VirtualBox设置中添加共享文件夹时,务必勾选“自动挂载”与“固定分配”。
2、启动Ubuntu虚拟机,打开文件管理器,查看左侧边栏或/media目录下是否出现类似sf_SharedFolder的设备图标。
3、若未显示,检查Guest Additions是否已正确安装:在Ubuntu中运行lsmod | grep vboxsf,有输出即表示模块已加载。
4、若无输出,需先安装Guest Additions(见方法四),再重启虚拟机。
5、双击该图标即可直接浏览和编辑Windows共享目录中的文件。
四、安装VirtualBox Guest Additions增强工具
所有共享文件夹功能均依赖Guest Additions内核模块vboxsf,若缺失或版本不匹配,将导致挂载失败或权限拒绝。
1、在Ubuntu虚拟机运行状态下,点击菜单栏“设备”→“安装增强功能”。
2、若弹出光盘自动运行提示,按提示完成安装;若未弹出,打开文件管理器进入/media/cdrom,找到VBoxLinuxAdditions.run文件。
3、在终端中执行:sudo sh /media/cdrom/VBoxLinuxAdditions.run。
4、安装完成后,重启Ubuntu虚拟机。
5、重启后再次运行sudo modprobe vboxsf,确认无报错即表示模块可用。
五、解决挂载后权限不足问题
即使挂载成功,Ubuntu用户可能因UID/GID不匹配而无法读写共享文件夹,需显式指定宿主用户身份参数。
1、在Ubuntu中执行命令查询当前用户的UID和GID:id -u与id -g,记录返回数值(如uid=1000, gid=1000)。
2、卸载当前挂载点:sudo umount /mnt/SharedFolder。
3、重新挂载并传入权限参数:sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=777,fmode=666 SharedFolder /mnt/SharedFolder。
4、验证写入权限:在/mnt/SharedFolder中新建文本文件并保存,随后在Windows主机中检查该文件是否存在。











