启动时在Ubuntu VM中挂载VirtualBox SharedFolder


15

我有一个在VirtualBox中运行的Ubuntu VM。
我设置了共享文件夹,因为myshare 我在主目录(~/jamesw)中创建了一个文件夹host。使用sudo mount -t vboxsf myshare host终端中主目录中的行正确安装驱动器,但是如果重新启动,则不会再次安装驱动器。

这是我用于运行简单Web服务器的VM,我希望每次引导时都安装此共享。有什么办法吗?特别是考虑到它需要sudo?

Answers:


22

使用Virtual Box Manager自动挂载共享文件夹

从Virtual Box> 4.0,我们能够在虚拟机中自动挂载共享文件夹。为此,我们为Ubuntu

  • 需要在来宾操作系统中安装来宾添加
  • 确保用户在组中 vboxsf
  • 从Virtual Box Manager定义共享文件夹

右键单击您的虚拟机,然后选择设置->共享文件夹。这将列出现有的共享,或者让您通过单击右上角带有绿色+-sign 的蓝色文件夹图标来定义新的共享文件夹:

在此处输入图片说明

从下拉菜单“ 文件夹路径 ”中选择您的文件夹,或者为列出主机文件系统的文件选择器选择“ 定义其他 ”。选择共享的名称(例如myshares)。勾选自动挂载,此文件夹将始终挂载在Ubuntu来宾目录中/media/sf_myshares(前缀sf_将自动添加)。


或者,要在运行的来宾操作系统中定义共享文件夹,我们可以从Virtual Box Manager的窗口菜单中选择“ 设备”->“共享文件夹 ”:

在此处输入图片说明

通过勾选永久设置,这些共享文件夹也将在下次启动时可用,并且在另外勾选自动挂载时将被挂载。


这将使来宾 OS自动挂载主机共享,我相信OP会要求相反:在其主机 OS中挂载来宾共享。如果我错了,那么我会完全误解了这个问题,应该忽略我的答案
MestreLion 2011年

1
@MestreLion:你错了,对不起!我认为我的问题是我无法在Ubuntu VM上找到共享驱动器,因为我不知道它是否已安装到/ media。我已经意识到这个问题甚至是没有必要的。
James P. Wright

@詹姆斯:哦,对不起。在来宾操作系统中挂载主机共享很容易,并且您有多种选择。除了此处给出的(出色的,顺便说一句)答案外,您是否知道可以像普通计算机一样在局域网中看到访客操作系统?只需将网络从默认更改为NAT即可Bridged。现在,您可以使用Nautilus,Samba等将来宾中的份额“交换”给来宾(反之亦然)...
MestreLion 2011年

@MestreLion:说实话-我主要通过网络上的Samba共享我的主机(和来宾)文件;)
塔卡特2011年

@Takkat:我也是!(这使我们的答案都过时了!:P)
MestreLion 2011年


2

这还不是一个完整的答案,但是更像是关于以下两种方法的准则:

1-您可以/etc/fstab在此编辑并添加此安装。您需要将mount参数转换为fstab语法。一个疯狂的猜测大概是这样的/home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0。您将需要sudo编辑fstab,但是一旦完成,它将在启动时自动挂载。由于此操作是在您甚至登录之前完成的,因此您需要安装点的绝对路径(因此/ home / jamesw / host),因此不能使用$HOME~。提示:“主机”文件夹不需要存在。如果它在fstab中,则mount将为您创建它。

2-您可以使用fusermount而不是安装。语法相似(但不完全相同,因此您仍然需要转换安装参数)。Fusermount要求您的挂载点在$ HOME内,但是最大的优点是您不需要sudo。而且该安装座将在Nautilus中可用(就像它是CD或USB密钥一样)。获得正确的参数并对其进行测试后,可以将其添加到~/.profile,每次登录时都会运行。

编辑:我假设Virtualbox不需要实际运行它的机器来共享文件夹,或者在登录之前已启动并运行


使用/ etc / fstab无效,请参见KennethGulbrandsøy的答案。
Reinier Post 2015年

0

普通用户可以访问Ubuntu 16.04来宾和共享文件夹自动挂载

为了以普通用户身份自动挂载和访问这些文件夹,需要执行特定步骤。

  1. 不要使用官方来宾添加。而是安装virtualbox-guest-dkms

    sudo apt-get install -y virtualbox-guest-dkms
    sudo usermod -aG vboxsf $(whoami)
    sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
  2. 使用Auto-mount和添加一些共享文件夹并Permanent选中。

  3. 重新启动虚拟机。
  4. 检查是否安装了任何vb文件夹:

    mount | grep vboxsf

  5. 如果是这样,请将所有权更改为~/vbshare您自己。

    sudo chown $(whoami):$(whoami) ~/vbshare

添加新的共享文件夹而无需重新启动VM

  1. 添加共享文件夹。
  2. 检查是否可以找到此命令列出的内容:

    sudo VBoxControl sharedfolder list

  3. 如果是这样,请创建目录并挂载

    mkdir ~/vbshare/newfolder
    sudo mount -t vboxsf newfolder ~/vbshare/newfolder
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.