挂载到非空目录

挂载到非空目录

这可能是错误的主题,因为我正在使用 VirtualBox 在 Windows 7 上工作,而我的 VM 是 Ubuntu 17。

我正在尝试在我的 Windows 和 Ubuntu 之间共享一个目录。

按照以下步骤操作即可:

  • 在 VirtualBox > 设备 > 共享文件夹中:我添加了一个共享
    • 文件夹路径:我的 Windows 目录(即:C:\dev\windows-shared)
    • 文件夹名称:vbox_shared
    • 我选中“自动安装”和“使永久安装”
  • 现在,在 Ubuntu 的终端中,我运行:

    sudo mount -t vboxsf vbox_shared /home/osboxes/ubuntu-shared

并且它可以工作:我可以在 Windows 中添加一个文件并在 Ubuntu 中看到它,反之亦然。

问题是如果我的“ubuntu-shared”目录已经包含文件:mount执行命令后,目录为“空”(现在目录位于 root:root 下)。

如果我umount,目录中的文件就会回来(当然)。

因此:1)有没有办法挂载在现有的(不是空的) 目录而不会“丢失”其内容?或者 2) 较少的 ubuntu 相关:有没有更好的方法在 VirtualBox 上共享文件夹?

谢谢 !


编辑-已解决

正如在在 Ubuntu 客户机中安装 VirtualBox 共享文件夹时出错,在终端中运行的正确命令应该是:

sudo mount -t vboxsf -o uid=1000,gid=1000 vbox_shared /home/osboxes/ubuntu-shared

其中选项 -o 确保您有权访问挂载(否则将由 root 拥有)。”

答案1

您不会丢失内容,只是将其隐藏在系统视图中,mount 将覆盖挂载路径的系统视图。您正在向系统发出信号,表示该路径现在由 VirtualBox 主机上的共享目录提供,而忽略挂载点下方的任何内容。

不可以,您不能将系统中的常规文件系统内容与共享挂载系统合并。您应该自动挂载共享文件系统,这样每次写入/读取都会始终在同一位置执行,无论是对于您的客户机还是主机。

相关内容