在 OSX 主机上的 Ubuntu 客户虚拟机上,使用 fstab 自动挂载不起作用

在 OSX 主机上的 Ubuntu 客户虚拟机上,使用 fstab 自动挂载不起作用

我一直在使用 VirtualBox 设置新的开发环境,这样我就可以在自己的 VM 中对我的服务等进行沙盒处理。这是一个基于 Ubuntu 的 VM,它以无头实例的形式加载,我可以通过 SSH 从主机进入。

我想要做的是将所有项目文件存储在主机上,然后与客户虚拟机共享它们。我可以使用以下命令轻松完成此操作:

sudo mount -t vboxsf <name> <target_path>

这很完美。但是,每次启动虚拟机时都必须运行该命令,这有点麻烦。这意味着我必须启动它,通过 ssh 登录,执行命令并重新启动需要访问主机上存储的数据的各种服务(postgresql、apache、mongo 等...)。

我认为使用fstab是最好的途径,因此我着手将以下条目添加到列表中:

# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
HostWWW /home/wilhelm/www vboxsf

很简单,对吧?好吧,我保存并退出,重新启动虚拟机,重新通过 SSH 登录,导航到共享文件夹的挂载点,它仍然是空的。我快速做了一下,ls -lsa什么也没得到。因此,我运行以下命令来查看它是否真的已挂载:

mount -v

我在结果挂载点列表中看到以下行:

HostWWW on /home/wilhelm/www type vboxsf (rw)

现在,如果我错了,请纠正我,但这应该告诉我它实际上已被安装为具有读/写访问权限。现在,如果我使用与上述相同的命令再次重新安装共享,一切都会正常。

不确定我在这里做错了什么;我该如何解决这个问题?

答案1

  • 在 VirtualBox Manager 中禁用Auto-mount共享文件夹。
  • 添加以下行到/etc/fstab

    HostWWW /home/wilhelm/www vboxsf defaults 0 0

它会发挥神奇的作用。

答案2

好吧,事实证明,只需将该命令添加到 即可轻松解决这个问题/etc/rc.local。仍然希望能够fstab正常工作。

相关内容