在Linux中安装VirtualBox共享文件夹的过程是什么?
我尝试了以下安装命令的变体,但仍然protocol error
出现错误或其他安装错误。
sudo mount -t vboxsf share /home/toto
在Linux中安装VirtualBox共享文件夹的过程是什么?
我尝试了以下安装命令的变体,但仍然protocol error
出现错误或其他安装错误。
sudo mount -t vboxsf share /home/toto
Answers:
好的,这让我有些困惑,但我终于意识到发生了什么。因此,我决定给我2美分,以期对其他人和以后忘记的时候会更加清楚:)。
我没有使用我在VM中创建的共享的名称,而是当共享的名称为wd时使用了share或vb_share,因此一分钟让我感到困惑。
首先将您的共享目录添加到VM Box中:
无论您在此处命名什么共享,都将是在vm guest虚拟机OS中挂载时需要使用的名称。例如,我将西方数字护照驱动器命名为“ wd”。
接下来,在guset OS上,最好在主目录中创建一个要用于安装的目录。
mkdir share
接下来打开终端,复制并粘贴以下内容或输入内容。您可以在“ 设备”->“共享剪贴板”->“双向”下启用共享剪贴板
sudo mount -t vboxsf wd ~/share/
现在,您应该可以使用主目录中的“共享”文件夹在操作系统之间复制文件。
希望这可以帮助!
sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
对于具有Linux guest虚拟机的VirtualBox,这些是安装共享文件夹的步骤:
使用VirtualBox主机的应用程序VirtualBox Manager来指定要共享的主机文件夹。
确保在VirtualBox guest虚拟机中安装了VirtualBox Guest Additions。
在Linux guest虚拟机中,mount命令应显示已挂载共享的行。用表示type vboxsf
。问题是挂载点可能不在所需的位置,并且权限仅是root用户。默认的安装位置在中/media/sf_
。
您可以通过使用户或group的group ID成为group 1000
的成员来访问共享vboxsf
。这是通过更改文件中的vboxsf
行来完成的/etc/group
。可能需要重启。
您可以使用VBoxControl命令更改文件夹的安装位置。当安装来宾添加时,将安装该命令。可能需要重启。例如,要将安装点从更改/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
参考文献:
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
type vboxsf
,运行mount
命令时也看不到!请大家帮忙
遇到时:
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)
在来宾操作系统上安装虚拟盒附加组件。然后关闭来宾操作系统。在虚拟框中打开guestos设置。然后添加一个共享文件夹并保存设置。然后启动来宾操作系统,对于ubuntu,请发出以下命令。它将当前用户添加到vboxsf组。
须藤adduser $ USER vboxsf
重新启动来宾操作系统,并导航到/ media /以访问共享文件夹。
在Linux或Mac OS X VirtualBox guest虚拟机中,一旦安装了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
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(稳定)来宾。
在VirtualBox Manager中,在“ 设备”下拉菜单中选择“ 共享文件夹设置... ” 。
在出现的弹出窗口中,在“ 文件夹列表 ”中选择“ 计算机文件夹”,然后单击“添加新的共享文件夹定义”按钮(文件夹列表右侧的带有绿色“ +”号图标的蓝色文件夹)。
在出现的“ 添加共享”弹出式窗体中,单击“ 文件夹路径”字段中的向下箭头按钮,然后选择“ 其他”。一个浏览文件夹会出现弹出窗口。
(就我而言,我刚刚在工作站上添加了另一个硬盘驱动器以用于专用共享,该共享已针对NTFS进行了格式化,其卷名为“ share”,并挂载为“ G:”。因此,我单击了箭头在“ 计算机”旁边,选择驱动器G :,然后单击“ 确定”按钮。)
(在您的情况下,应选择要共享的任何文件夹或驱动器,然后单击“ 确定”按钮。)
做出选择并单击“ 确定”按钮后,VirtualBox Manager将填写“ 添加共享”表单的“ 文件夹路径”和“ 文件夹名称”字段。保留“ 文件夹路径”字段,但是如果您愿意,可以更改文件夹名称 -只需记住它以备后用。
选中“ 设为永久”复选框,以完成“ 添加共享”表单,但请确保清除“ 自动安装”复选框-我们将在以后进行安装。(当然,如果要将文件夹或驱动器设为只读,请继续并选中“ 只读”框。)然后单击“ 确定”按钮。
现在,新配置的共享应显示为“ 文件夹列表”中“ 计算机文件夹”下的条目。单击确定按钮。
为了在启动(启动)期间安装此共享,我们需要在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”更改为“ share”。
“挂载点”是目录路径规范,必须已存在但应为空。(也就是说,该目录中已经存在的所有内容都将被其顶部的内容所隐藏。)我在主目录中创建了一个名为“ share”的新的空子目录。
“类型”是“ vboxsf”。
“选项”(comment = systemd.automount,uid = conib,gid = conib,noauto)比较棘手,为该设置工作有点麻烦。
除非您知道要将其设置为其他值,否则将“ Dump”设置为0。
并且由于我们不希望fsck检查此共享,因此也将“ Pass”设置为0。
将定义行添加到/ etc / fstab后,重新启动Debian guest虚拟机,并确认您可以看到Share的文件和子文件夹。
HTH。