如何装载VirtualBox共享文件夹?

在Linux中安装VirtualBox共享文件夹的步骤是什么?

我尝试了以下安装命令的变体,但我不断收到protocol error或其他安装错误。

 sudo mount -t vboxsf share /home/toto 

好吧,这对我来说有点困惑,但我终于意识到发生了什么事情。 所以我决定给我2分钱,希望能让别人更清楚,如果我以后忘记的话。)

我没有使用在虚拟机中创build的共享名称,而是使用共享vb_share 共享的名称是wd,所以这让我困惑了一分钟。

首先在VM Box中添加你的共享目录: 在这里输入图像描述

无论你说什么,你的共享将是在vm客户操作系统中安装时需要使用的名称。 即我将我的西方数字护照驱动器命名为“wd”

接下来在guset操作系统上build立一个目录,最好在你的主目录下安装。

 mkdir share 

接下来打开terminal,复制并粘贴以下内容或将其键入。您可以在Device-> Shared Clipboard-> Bidirectional下启用共享剪贴板

 sudo mount -t vboxsf wd ~/share/ 

您现在应该能够使用主目录中的“共享”文件夹在操作系统之间复制文件。

希望这可以帮助!

对于使用Linux guest虚拟机的VirtualBox,这些是安装共享文件夹的步骤:

  1. 使用VirtualBox主机的应用程序VirtualBox Manager来指定要共享的主机文件夹。

  2. 确保VirtualBox Guest Additions安装在VirtualBox guest中。

  3. 在Linux guest中,mount命令应该显示共享被挂载的行。 这由type vboxsf指示。 问题变成挂载点可能不在需要的地方,并且权限只是根目录。 默认安装位置在/media/sf_

  4. 您可以通过将用户或组ID为1000的组vboxsf的成员访问该共享。 这是通过更改/etc/group文件中的vboxsf行来完成的。 可能需要重启。

  5. 您可以通过使用VBoxControl命令更改文件夹的安装位置。 在安装Guest Additions时安装该命令。 可能需要重启。 例如,要将安装点从/media/sf_...更改为/home/toto/sf_...使用以下命令设置VirtualBox共享文件夹guestproperty:

sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

要确认更改,请使用get:

 sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir 

参考文献:

VirtualBox的共享文件夹信息

VirtualBox的guest属性信息

遇到时:

 mount: Protocol error 

尝试在VirtualBox中共享文件夹后,例如:

 $ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host 

这终于为我工作:

 $ sudo apt-get install virtualbox-guest-dkms 

(我的设置:Windows 7主机,客人:Ubuntu 12.04,13.10,14.04;目前运行VBox 4.3.10 r93012)

在guest虚拟机上安装虚拟机箱。 然后closures客户操作系统。 在虚拟框中打开客人设置。 然后添加一个共享文件夹并保存设置。 然后启动guest os并为ubuntu发出下面的命令。 它将当前用户添加到vboxsf组。

sudo adduser $ USER vboxsf

重新引导来宾操作系统并导航到/ media /访问共享文件夹。

在Linux或Mac OS X VirtualBox客户机中,一旦安装了VirtualBox Guest Additions,就可以使用以下命令发现可用的VirtualBox共享文件夹:

 sudo VBoxControl sharedfolder list 

如果客户机中的主文件夹包含与VirtualBox共享文件夹名称相同的文件夹,则可以使用以下shell脚本自动装入它们:

 #!/bin/sh #----------------------------------------------------------------------------- # Discover VirtualBox shared folders and mount them if it makes sense #----------------------------------------------------------------------------- if ! type VBoxControl > /dev/null; then echo 'VirtualBox Guest Additions NOT found' > /dev/stderr exit 1 fi MY_UID="$(id -u)" MY_GID="$(id -g)" ( set -x; sudo VBoxControl sharedfolder list; ) | \ grep '^ *[0-9][0-9]* *- *' | \ sed -e 's/^ *[0-9][0-9]* *- *//' | \ while read SHARED_FOLDER do MOUNT_POINT="$HOME/$SHARED_FOLDER" if [ -d "$MOUNT_POINT" ]; then MOUNTED="$(mount | grep "$MOUNT_POINT")" if [ "$MOUNTED" ]; then echo "Already mounted : $MOUNTED" else ( set -x sudo mount -t vboxsf -o "nosuid,uid=$MY_UID,gid=$MY_GID" "$SHARED_FOLDER" "$MOUNT_POINT" ) fi fi done 

当出现以下错误时:/sbin/mount.vboxsf:安装失败,出现错误:协议错误

不幸的是,这意味着您使用默认共享名称或主机的共享目录名称与挂载的guest虚拟机共享名称相同。 在这种情况下,它是“分享”。 只需创build另一个共享文件夹,即“vb_share”,然后执行:

mount -t vboxsf vb_share / home / <user> / host

  • 安装Vbox Additions(ISO文件或下载)
  • 用两个系统中的任何名称创build一个dir(例如, mkdir share
  • 连接到“VBox共享文件夹”共享文件夹在原始sys
  • 使用命令来连接你的文件夹:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

设置:VirtualBox 4.3.26,Win 7 SP1主机,Debian jessie 8.0(stable)guest。

在VirtualBox Manager中,select设备下拉菜单中的共享文件夹设置…。

在popup的窗口中,select文件 夹列表中的机器文件 ,然后单击“添加新的共享文件夹定义”button(文件夹列表右侧带有绿色“+”号图标的蓝色文件 )。

在生成的“ 添加共享”popup窗体中,单击“ 文件夹path”字段中的向下箭头button,然后select“ 其他”浏览文件夹popup窗口将出现。

(在我的情况下,我刚刚添加了另一个硬盘驱动器到我的工作站用于专用共享,已经格式化为NTFS,卷名称为“共享”,并挂载为“G:”所以我点击箭头在计算机旁边,select驱动器G :,然后单击确定button。)

(在你的情况下,你应该select你想要共享的文件夹或驱动器,然后点击确定button。)

当您做出select并单击确定button时,VirtualBox Manager将填写添加共享表单的文件夹path文件夹名称字段。 离开文件夹path字段,但你可以改变文件夹名称如果你喜欢 – 只是一定要记住它以后。

通过选中“ 使永久”checkbox来完成“ 添加共享”表单,但请确保清除了“ 自动安装”checkbox – 我们将在稍后安装。 (当然,如果你想让文件夹或驱动器为只读文件,那么请继续阅读只读框。)然后点击确定button。

现在,新configuration的共享应显示为“ 文件夹列表”中“ 机器文件夹”下的条目。 点击确定button。

为了在启动时启动这个共享(启动),我们需要在我们的Debian jessie guest安装中添加一个安装定义行到/ etc / fstab。 这个编辑需要以root或sudo方式完成,例如:

 sudo nano /etc/fstab 

(我个人使用vi,但是因为nano是Debian jessie的默认编辑器,所以我在上面的例子中指定了它。)

要将这个共享挂载到我的主目录中,将其所有权和组设置为我的个人UID和GID,我将以下定义添加到/ etc / fstab中:

 share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0 

(请注意“=”,“。”或“,”字符周围没有空格。)

/ etc / fstab定义在表单中

 <Device> <Mount Point> <Type> <Options> <Dump> <Pass> 

(请注意,在定义的字段之间应该有空格 – 空格和/或制表符),但字段中不能有空格。)

“设备”字段应设置为我们通过VirtualBox Manager 添加共享指定的文件夹名称 。 我已经将默认的“G_DRIVE”更改为“共享”。

“挂载点”是一个目录path规范,必须已经存在,但应该是空的。 (也就是说,那个目录中已经存在的任何东西都会被你所挂载的东西隐藏起来)。我在我的主目录下创build了一个名为“share”的新的空子目录。

“types”是“vboxsf”。

“选项”(注意= systemd.automount,uid = conib,gid = conib,noauto)是棘手的一点,并且花了一些麻烦来为这个设置工作。

设置“转储”为0,除非你知道你想把它设置为别的东西。

而且由于我们不想fsck检查这个共享,所以设置“Pass”为0。

当您将定义行添加到/ etc / fstab时,请重新启动您的Debian guest并确认您可以看到共享的文件和子文件夹。

HTH。