这是我第一次使用 virtualbox 和 ubuntu (14.04),我在主机 Windows 7 操作系统上。
我正在尝试安装一个共享文件夹,其中包含我需要在虚拟机和 Windows 操作系统中访问的文件。我已使用安装vboxsf
中的成功安装它们Guest Additions
。
要安装我使用了命令sudo mount -t vboxsf <dir name in vbox> <directory in linux
例如我使用了sudo mount -t vboxsf Test /home/user/Test
我找到了几种在启动时自动挂载目录的方法,例如使用方法/etc/rc.local
(这里),在其中修改该文件并将命令附加到其中(不带sudo
)。或者使用fstab
方法(这里)我rc.local
个人比较喜欢这个方法。
一旦挂载,它就有权限,dr-xr-xr-x
但是一旦挂载,目录就有root
所有权,并且chown user /home/user/Test
无效。这意味着我无法以普通用户身份创建或更改其中的文件。
在 VirtualBox 中,要共享的目录未设置为只读。
有没有办法自动挂载共享文件夹并将所有权分配给我的非root
用户?
答案1
如果您安装了客户机附加组件,请使用 VirtualBox 菜单:
设备 > 共享文件夹...
添加路径、名称并启用“自动安装”和“永久安装”选项。
最后使用以下命令将您的用户添加到组中:
sudo usermod -G vboxsf -a myusername
注销并重新登录或重新启动机器以完成该过程(感谢@Fo)。
组存储/etc/group
在usermod 手册页。
答案2
啊,写出问题然后立即找到答案的诅咒。
我没有使用建议的完整命令此链接
sudo mount -t vboxsf -o uid=$UID,gid=$GID share ~/host
因此,要在 Ubuntu 中添加所有权并通过在 virtualbox 中自动挂载,请在文件行前vboxsf
添加以下命令:/etc/rc.local
exit 0
mount -t vboxsf -o uid=1000,gid=1000 <folder name given in VirtualBox> /home/<user>/where/ever/you/want
答案3
另一种方法是首先在模式下配置共享驱动器,Auto-mount
就像@Katu 的答案的第一部分一样。这将允许通过运行获取共享驱动器的挂载配置mount
。您将得到类似以下内容:
$ mount
...
vbox-shared-dir on /media/sf_vbox-shared-dir type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=998,dmode=0770,fmode=0770,tag=VBoxAutomounter)...
然后可以使用此信息/etc/fstab/
通过附加行进行更新,相应地替换UID
和GID
删除标签选项:
vbox-shared-dir /media/sf_vbox-shared-dir vboxsf rw,nodev,relatime,iocharset=utf8,uid=<UID>,gid=<GID>,dmode=0770,fmode=0770 0 0
此后,您应该能够运行以下命令自动挂载卷:
# mount vbox-shared-dir
然后您只需删除 Auto-mount
虚拟盒配置中的选项,因为该卷会在启动期间自动安装。