我shared
在 Windows 中创建了文件夹,并通过 VM 设置-共享文件夹-添加的路径名将其链接到 Ubuntu。
shared
现在,当我启动 ubuntu 操作系统时,无法访问此文件夹。我将我的用户名添加到vboxsf
组并重新启动客户操作系统,尝试注销并重新登录,但问题仍然存在。
如何解决这个问题?我在 Ubuntu 上被拒绝访问。
答案1
我将共享文件夹挂载在 /etc/fstab 中,如下所示:
sharedsfname /files vboxsf rw,noexec,auto,nouser,uid=1000,gid=1000 0 0
这uid/gid=用户 ID对我来说,选项是关键...如果没有它,我就会遇到与您遇到的相同的问题。
虽然我在 Linux 上安装了 Linux,但我不确定其在 Windows 主机上的效果。
在我的例子中
我正在创建共享文件夹并选中“使永久生效”(始终单击“确定”以接受更改)
我正在我的客人上创建自己的文件夹,名为/文件.... 由我的用户拥有和读写。
使用共享文件夹名称(不是由 virtualbox 创建的自动名称挂载点?:sf_XXXXXXXX),这是您在主机上的 VirtualBox GUI 中指定的名称(它也会自动创建,但它是共享文件夹编辑)...您也可以从
sudo VBoxControl sharedfolder list
客人那里获得这个名字。我的名字叫共享名称。在 /etc/fstab 中添加一行(上面),指定共享共享文件系统名称,挂载点/文件以及文件系统类型響箱,以及一些选择……最重要的是uid=1000和gid=1000。这些是我的用户的 ID。
之后,您应该能够通过键入来安装驱动器
sudo mount -a
。或者通过重新启动...汽车选项确保在启动时安装。
Virtualbox 希望您能够在其 GUI 中有效地执行相同的操作,并且在大多数情况下您可以做到。在共享文件夹编辑器中,我可以指定(主机的)共享名称,还可以为要用作客户机挂载点的目录的挂载点提供路径,例如 /home/wu-tang/data... 如果 /home/wu-tang/data 存在,它将挂载您的共享.... 或者它将创建 /home/wu-tang/data 并挂载您的共享... 在我的系统上,它将挂载点所有权授予 root 和 vboxsf 组 (root:vboxsf)。在这种情况下,您需要将您的用户添加到 vboxsf 组并拥有访问权限。(这就是为什么我更喜欢前面提到的方法,因为您只是将所有权交给您的用户,而无需进行任何其他更改)。但是,一旦退出编辑器,挂载似乎就会在客户机上发生。我看不到任何使用 VBoxmanage 在命令行上创建具有特定权限/所有权的共享的选项,以避免与额外权限相关的步骤。
这里有一点无聊的咆哮…… 我刚刚发现的另一件我不喜欢的事情是,如果这些文件夹不存在,它会创建这些文件夹,不管你告诉它们在哪里。请注意,用户正在运行 virtualbox 管理器,并且能够在来宾的根分区上创建目录。我在来宾 / 上创建了第二个 varlog 目录,它不允许 virtualbox 主机将其指定为挂载点,因此“似乎”内置了一些安全性。虽然主机的用户在技术上会破坏用户的 VM,但如果出现问题,因此从逻辑上讲,这并不那么令人担忧。
答案2
情况:https://i.stack.imgur.com/pHFKy.jpg无法访问 VirtualBox 上的 Windows 主机和客户机 Ubuntu 之间的共享文件夹
故障排除:问题出在 VirtualBox Guest Additions 中。
解决方案:我遵循以下步骤:
- 全新安装 VirtualBox Guest Additions。
vboxsf
当 Ubuntu 重新启动时,我通过检查条目来检查我的用户名是否在该组中cat /etc/group
(它已经存在)- 我
vboxshare
在 Windows 主机上创建了一个新文件夹。 - 在 VirtualBox 设置 -> 共享文件夹中,我在“添加共享”窗口中添加了路径
vboxshare
,并选中了“自动挂载” - 我启动了 Ubuntu 客户机。现在我可以访问
sf_vboxshare
下面的文件夹/media/
,并且 Windows 主机和 Ubuntu 客户机上的 vboxshare 文件夹现在已同步!