在Ubuntu guest虚拟机中挂载VirtualBox共享文件夹时出错

我在Windows 7计算机上使用Ubuntu 10作为来宾操作系统。 我一直试图通过VirtualBox设置共享,但没有任何工作。 首先,我在VirtualBox中创建共享并将其指向Windows文件夹。 然后我尝试在Linux中安装驱动器,但我一直在努力

/sbin/mount.vboxsf:安装失败并显示错误:协议错误

我已经阅读了很多这方面的解决方案,但似乎都没有。 我试过了:

  • 使用mount.vboxsf语法
  • 重新安装VBox添加
  • 重新启动
  • 以root帐户启用和尝试

我在VBox共享文件夹中创建了一个名为“Test”的共享。 然后我在ubuntu中创建了一个名为“test2”的目录。 然后我尝试执行此命令:

sudo mount -t vboxsf Test / mnt / test2

还有其他想法吗?

要使用共享文件夹function,需要满足以下几个先决条件 :

  • 确保在来宾操作系统上正确安装了Guest Additions 。
  • 来宾Ubuntu中的用户必须位于组vboxsf中才能访问共享。
  • 使用Virtual Box的设置对话框在主机上定义将在虚拟机中使用的目录。

根据主机或客户操作系统,可能还需要以下内容:

  • 不要共享个人文件夹,如/home/usernameMy Documents
  • 避免在共享文件夹的路径中使用特殊字符或空格,尤其是在主机或VM是Windows计算机的情况下
  • 为share和mountpoint使用不同的名称
  • 在来宾操作系统上创建一个挂载点(最好在您的HOME目录中)。

测试共享文件夹function可以通过在主机上创建共享目录(例如C:\myshare )来完成,在Virtual Box设置中将其定义为访客系统的共享文件夹(例如share ),在guest虚拟机操作系统中创建一个挂载点(例如mkdir /home/username/host )并使用以下命令将其挂载到来宾操作系统中:

 sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host 

选项-o确保您可以访问mount(否则将由root拥有)。

有关共享文件夹的更多信息,另请参阅Virtual Box用户手册 。

通过在主机和guest虚拟机上使用Samba,也可以通过网络共享文件或目录。

我也遇到了这个麻烦。 我发现共享文件夹已经安装在/media/sf_share

我试图删除/media/sf_share ,但我不能。

所以我在主目录中删除了共享文件夹“share”。

 $ rm -r ~/share 

然后使用以下方式切换到root用户:

 $ sudo -i 

创建由root用户拥有的/ media / sf_share文件夹的软链接/快捷方式使用chown命令修改软链接的所有权。 从root用户退出到普通用户

 # ln -s /media/sf_share /home/username/share # chown username.username /home/username/share # exit logout $ chmod 777 ~/share 

您可以通过共享文件夹在Windows中查看文件。 用户名必须是组vboxsf的成员。

这对我来说没有任何问题

我想通了,实际上我的user名不在vboxsf组中。 以下两个命令将有助于获取组信息:

 grep "vboxsf" /etc/group grep "saurav" /etc/group 

所以我使用以下命令将saurav (me)添加到vboxsf组:

 sudo usermod -a -G vboxsf saurav 

然后重新启动虚拟框,然后..从我的位置跳过..:D:D一切正常,没有任何问题。

如果任何人仍然有任何问题,请评论..

我在assembly上也遇到了很多困难,并尝试了我在interwebz中提出的所有内容,但我终于找到了一个非常奇怪的解决方法来解决它! 我的客人是Ubuntu 13,我的主机是Windows 7。

切换到媒体文件夹,然后输入user@os:/media$ sudo mount -t vboxsf share /home/username/folder

是的,就是这样。 但我不明白为什么它只能从媒体文件夹中完成。 如果有人知道,请在下面解释我们。 谢谢。

编辑我的/etc/rc.local在启动时进行自动挂载对我不起作用。

尝试了所有上述内容,没有任何对我有用。 Lats我创建了一个新的瞬态文件夹“Shared”,启用了“Make Permanent”和“Auto Mount”。 然后运行命令

sudo mount -t vboxsf -o uid = 1000,gid = 1000 Shared / mnt / sharedvm

它对我有用。 这次没有错误。

在Windows 10上运行VirtualBox 5.1.20,安装了GuestAdditions 5.1.20的客户操作系统Ubuntu 16.04,我无法从命令行安装共享文件夹。 mount命令失败,提到Protocol Error和sf_read_super_aux err = -22。

最终我发现https://www.virtualbox.org/ticket/16670“mount.vboxsf符号链接已损坏”。 我按照其中一个解决方法,更正了mount.vboxsf的符号链接,这一切都奏效了。 我的方法是:

 mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
 ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

这些命令需要由root完成。 所以,因为它是Ubuntu,我在每行的开头添加了“sudo”来以root身份执行命令。 其他类型的Linux有其他方法可以做到这一点。

顺便说一下,在2014年虚拟机的Ticket#12879“无法安装带有guest虚拟机添加的共享文件夹4.3.10”中报告了一个类似的符号链接问题,这个问题已在下个月修复。

2017年4月27日

我的共享文件夹正在运行,重新启动主机后,它没有。

通过将共享文件夹的名称从Shared更改为Shared2,它可以正常工作。

 config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2" 

不知道发生了什么,为什么以及如何解决。 像Nix这样没有全局可变状态的系统确实有一点意义。

我个人遇到了相同的错误消息,问题与我做了一个与主机上的文件夹相关的错误,并且由于添加了guest虚拟机而在虚拟机中设置为共享文件夹。

所以正确的命令是:

 sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine 

这修复了错误消息。

对我来说,问题是我是一只鹅,我忘了我已经从VirtualBox(机器→设置→共享文件夹)中的共享文件夹列表中删除了该条目。

我只是把它放在这里,以防任何其他人同样误导“协议错误”。

:喇叭: 😉

确保您在主机系统中共享文件夹(例如Windows xp,7,8或8.1

确保安装了guest虚拟机添加项,没有任何错误或失败

制作以下脚本

 sharename="put the name of your shared folder here..same name also works"; sudo rm -rf /mnt/$sharename sudo mkdir /mnt/$sharename sudo chmod 777 /mnt/$sharename sudo mount -t vboxsf -o uid=1000,gid=1000 $sharename /mnt/$sharename 

sudo运行上面的脚本

享受/ mnt /目录中的共享文件夹