拒绝访问:使用 VM 的 Win 主机和 ubuntu 客户机之间的共享文件夹

拒绝访问:使用 VM 的 Win 主机和 ubuntu 客户机之间的共享文件夹

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=1000gid=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 中。

解决方案:我遵循以下步骤:

  1. 全新安装 VirtualBox Guest Additions。
  2. vboxsf当 Ubuntu 重新启动时,我通过检查条目来检查我的用户名是否在该组中cat /etc/group(它已经存在)
  3. vboxshare在 Windows 主机上创建了一个新文件夹。
  4. 在 VirtualBox 设置 -> 共享文件夹中,我在“添加共享”窗口中添加了路径vboxshare,并选中了“自动挂载”
  5. 我启动了 Ubuntu 客户机。现在我可以访问sf_vboxshare下面的文件夹/media/,并且 Windows 主机和 Ubuntu 客户机上的 vboxshare 文件夹现在已同步!

结果:https://i.stack.imgur.com/pKBed.jpg

相关内容