更改virtualbox共享文件夹的挂载点

更改virtualbox共享文件夹的挂载点

我在 virtualbox 和我的 Windows 7 主机之间设置了一个共享文件夹。我有一个在 Windows 中创建的 test.txt 文件,它在我的 Ubuntu VM 中正确显示。Virtualbox 将共享文件夹安装在/media/sf_share(我在 virtualbox 设置中为共享文件夹指定的名称是share)。我想将安装点从 移动/media/sf_share到 ,/srv这样我就可以在我的 Windows 主机上编辑文件,并且它们显示在 下/srv。我该如何实现这一点?

**

我尝试过的:

**

我已将其编辑/etc/fstab如下:

share /srv vboxsf defaults 0 0

完成此操作后,我使用了命令mount -a,并重新启动了,然后再次重新启动,并将 Virtualbox 共享文件夹设置为不自动挂载。

我读到在加载 virtualbox 实用程序之前挂载文件系统存在问题,因此我将其添加vboxsf到我的文件系统中/etc/modules,然后重复上述步骤。

它们都没有在 / 中重现正确的内容srv。当我mount -a在编辑之后发出时fstab,有时我可以让它工作。我不知道每次我做的事情有什么不同,但有时在我编辑之后fstabmount -a无需重新启动,我就可以在那里看到文件。但重新启动后,文件又不见了。

答案1

您必须更改“来宾属性”来修改用于共享文件夹的挂载前缀和基目录。

https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
https://www.virtualbox.org/manual/ch04.html#guestadd-guestprops

但需要注意的是:
第一个链接中详述的两个属性在未设置或清除时都有默认值:未设置时
/VirtualBox/GuestAdd/SharedFolders/MountPrefix默认为sf_。未设置时将默认值
设置/VirtualBox/GuestAdd/SharedFolders/MountDir/media

因此,如果您不想要前缀,则必须设置MountPrefix为,因为尝试将其设置为“”实际上会清除该属性并将其恢复为默认值。/sf_

答案2

检查一下/etc/fstab?我不太清楚 VirtualBox 如何共享,所以如果更改挂载点会破坏共享,你可以将其改回来并将挂载绑定/media/sf_share/srv

有关绑定安装和 fstab 的信息:

https://serverfault.com/questions/613179/how-do-i-do-mount-bind-in-etc-fstab

如果我在 /media/3tb-vol1/Private/ 上安装了卷,并且我想将其绑定到 /srv/Private,那么我有一个像这样的 /etc/fstab。

/media/3tb-vol1/Private/ /srv/Private none bind

当然,我不知道 VirtualBox 共享的具体细节。我不确定它是如何以及何时/media/sf_share挂载的,如果它在什么时候没有准备好fstab,它可能无法及时挂载以进行绑定……?

答案3

根据 Nawak 的回答,我终于成功了。我已经尝试了很多解决方案(基于/etc/fstab/并设置了一些/etc/rc.local),但这个是有效的。

我刚刚运行了以下命令(从主机):

VBoxManage guestproperty set "Ubuntu 16" /VirtualBox/GuestAdd/SharedFolders/MountPrefix /
VBoxManage guestproperty set "Ubuntu 16" /VirtualBox/GuestAdd/SharedFolders/MountDir srv

我的虚拟机名称在哪里Ubuntu 16。为了检查这些属性是否正确应用,您可以运行:

VBoxManage guestproperty enumerate "Ubuntu 16"

相关内容