AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 30396
Accepted
skaz
skaz
Asked: 2011-03-15 15:18:24 +0800 CST2011-03-15 15:18:24 +0800 CST 2011-03-15 15:18:24 +0800 CST

在 Ubuntu 来宾中安装 VirtualBox 共享文件夹的“协议错误”

  • 772

我有 Ubuntu 10 作为 Windows 7 机器上的来宾操作系统。我一直在尝试通过 VirtualBox 设置共享,但没有任何效果。首先,我在 VirtualBox 中创建共享并将其指向 Windows 文件夹。然后我尝试在 Linux 中安装驱动器,但我不断收到

/sbin/mount.vboxsf: mounting failed with the error: Protocol error

我已经阅读了很多解决方案,但似乎没有一个有效。我努力了:

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

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

sudo mount -t vboxsf Test /mnt/test2

还有其他想法吗?

mount
  • 11 11 个回答
  • 234714 Views

11 个回答

  • Voted
  1. Best Answer
    Takkat
    2011-03-16T00:13:21+08:002011-03-16T00:13:21+08:00

    为了使用共享文件夹功能,需要满足几个先决条件:

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

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

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

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

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

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

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

    文件或目录也可以通过在主机和来宾上使用 Samba 在网络上共享。

    • 95
  2. Old Urologist
    2011-09-18T23:03:35+08:002011-09-18T23:03:35+08:00

    我也遇到了这个麻烦。我发现共享文件夹已经安装在/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 的成员。

    • 17
  3. Saurav Kumar
    2016-04-07T23:00:05+08:002016-04-07T23:00:05+08:00

    这对我有用,没有任何问题

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

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

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

    sudo usermod -a -G vboxsf saurav 
    

    然后重新启动virtualbox,然后..从我放置的地方跳出来.. :D :D 一切正常,没有任何问题。

    如果还有人有任何问题,请发表评论..

    • 12
  4. BringBackCommodore64
    2014-01-04T06:18:47+08:002014-01-04T06:18:47+08:00

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

    切换到媒体文件夹并从那里输入user@os:/media$ sudo mount -t vboxsf share /home/username/folder

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

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

    • 2
  5. Pankaj
    2016-07-07T06:23:05+08:002016-07-07T06:23:05+08:00

    尝试了上述所有方法,但对我没有任何作用。最后,我创建了一个新的临时文件夹“Shared”,启用了“Make Permanent”和“Auto Mount”。然后我运行命令

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

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

    • 1
  6. J Cumming
    2017-04-28T10:26:50+08:002017-04-28T10:26:50+08:00

    VirtualBox 5.1.20 在 Windows 10 上运行,Ubuntu 16.04 作为安装了 GuestAdditions 5.1.20 的来宾操作系统,我无法从命令行挂载共享文件夹。挂载命令失败,提及协议错误和 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 年 virtualbox 的 Ticket #12879 “Can't mount shared folder with guest added 4.3.10”中报告了类似的符号链接问题,该问题在下个月得到修复。

    2017-04-27

    • 1
  7. Michael Scheper
    2018-08-08T08:17:13+08:002018-08-08T08:17:13+08:00

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

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

    :honk: ?

    • 1
  8. yannick1976
    2020-06-11T06:18:33+08:002020-06-11T06:18:33+08:00

    我尝试了几个答案,然后看到void 的评论说他重新启动了 Linux 客户操作系统并重新安装。

    为我工作。:)

    • 1
  9. nicolas
    2017-02-16T03:30:00+08:002017-02-16T03:30:00+08:00

    我的共享文件夹工作正常,重新启动主机后,它没有工作。

    通过将共享文件夹的名称从 Shared 更改为 Shared2 它起作用了。

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

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

    • 0
  10. Billal Begueradj
    2018-04-24T06:49:26+08:002018-04-24T06:49:26+08:00

    就我个人而言,我遇到了同样的错误消息,问题与我做了与位于主机上的文件夹相关的错字有关,并且由于来宾添加,我将其设置为虚拟机内的共享文件夹。

    所以正确的命令是:

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

    这修复了错误消息。

    • 0

相关问题

  • 如何挂载 ISO?

  • 将 USB 磁盘挂载到永久位置

  • 修复 USB 驱动器自动通知

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • 当另一个文件系统安装在路径上时是否可以删除文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve