在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,这些是安装共享文件夹的步骤:
使用VirtualBox主机的应用程序VirtualBox Manager来指定要共享的主机文件夹。
确保VirtualBox Guest Additions安装在VirtualBox guest中。
在Linux guest中,mount命令应该显示共享被挂载的行。 这由type vboxsf
指示。 问题变成挂载点可能不在需要的地方,并且权限只是根目录。 默认安装位置在/media/sf_
。
您可以通过将用户或组ID为1000
的组vboxsf
的成员访问该共享。 这是通过更改/etc/group
文件中的vboxsf
行来完成的。 可能需要重启。
您可以通过使用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
mkdir share
) 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。