如何访问VirtualBox中的共享文件夹?

我按照VirtualBox中Windows 7和Ubuntu之间共享文件夹的步骤进行操作。

尽管该文件夹显示带有X标志,并在尝试打开时给我以下消息:

无法显示文件夹内容

当我从VirtualBox Device菜单中选择Shared Folder ,会显示以下警告:

在系统页面上,您已将超过50%的计算机内存(2.93 GB)分配给虚拟机…

如何使用VirtualBox在Windows和Ubuntu之间成功共享文件夹?

访问Virtual Box中的共享文件夹

命令行

默认情况下,VirtualBox共享文件夹是使用guest虚拟机的读/写权限创建的。 这可以通过主机上的命令行完成:

 VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test" 

通过添加选项--readonly我们可以将这些选项限制为只读访问权限。 如果您只希望共享出现在当前会话中但对后续会话不持久,请使用--transient选项。 共享文件夹有一些限制(有关详细信息,请参阅此问题 )。 如果满足先决条件,我们可以通过在guest虚拟机中运行以下命令来手动挂载这些共享文件夹:

 mkdir /home//vboxshare sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home//vboxshare 

当然,我们也可以使用不同的挂载选项作为read / only挂载,或者只对root用户进行读访问。

通过Virtual Box Manager自动挂载

如果我们在从Virtual Box Manager创建共享文件夹时启用了自动挂载,则这些共享文件夹将自动挂载到具有挂载点/media/sf_的guest虚拟机中。 要访问这些文件夹,guest vboxsf用户需要是vboxsf组的成员

 sudo usermod -aG vboxsf userName 

用户需要注销并重新登录才能看到他们添加的新组。

来源和进一步阅读: Virtual Box用户手册

实际上有一种简单的方法可以做到这一点:

  1. 安装VirtualBox的扩展包。
  2. 重新启动虚拟机
  3. 在您的访客Ubuntu中安装Guest Additions

    • 您可以安装/media上的ISO或按左控制 + D
  4. 重启

  5. 尝试访问/media/sf_your_shared_folder_name 。 如果您仍然没有访问权限,那意味着您不属于vboxsf组,正如Nilo所说。 此命令将解决您的问题:

     sudo adduser your_username vboxsf 
  6. 注销并再次登录以应用adduser更改。 请参阅下面的kol和atcold的评论。

  7. 如果仍然看不到共享文件夹,则必须安装它。 您可以在VirtualBox Manager的选项中激活共享文件夹的自动挂载。
  8. 再次重启。

首先,请确保您已安装Guest Additions

  1. 启动您的VM

  2. 设备>插入访客添加CD图像… 插入访客添加CD图像...

  3. 安装CD:

     sudo mount /dev/cdrom /media/cdrom 
  4. 安装必要的包:

     sudo apt-get install make gcc linux-headers-$(uname -r) 
  5. 安装:

     sudo /media/cdrom/VBoxLinuxAdditions.run 

其次,将您的用户添加到“vboxsf”组:

 ~$ echo $USER; ahmed ~$ sudo usermod -a -G vboxsf ahmed 

重启

知道共享文件夹的标签是lpi (例如):

编辑共享文件夹

sf_到标签上。 然后,您将在/media/sf_lpi下找到您的共享文件夹

最后,您还可以创建一个指向您家的链接。 例如:

 ln -s /media/sf_lpi /home/ahmed/lpi 

🙂

使用vBox图形界面共享文件夹添加到虚拟机确保选择automount使其永久化

使用root帐户登录虚拟机

检查vboxsf组是否存在

 ~$ grep vboxsf /etc/group vboxsf:x:125: 

检查用户是否已在vboxsf组中

 ~$ id nilo uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare) 

将用户nilo添加到vboxsf组

 ~$ sudo usermod -a -G vboxsf nilo 

再次检查用户组

 ~$ id nilo uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf) 

重新启动并以nilo身份登录

共享文件夹现在可在/media/sf_dropbox (dropbox是我给共享的名称)

在主机操作系统 – > Windows和客户操作系统 – > Ubuntu(虚拟框)之间共享文件夹

步骤1从VirtualBox菜单安装安装Guest Additions转至Devices-> Install Guest Additions这将在/ media / cdrom上安装虚拟CD。 以root用户身份使用打开终端选项打开此/ media / cdrom添加的文件夹(用鼠标右键单击)。

步骤2运行程序VBoxLinuxAdditions.run。 程序完成后重新启动VirtualBox。

 $ sudo ./VBoxLinuxAdditions.run 

步骤3创建共享文件夹。 从虚拟菜单转到设备 – >共享文件夹,然后在列表中添加一个新文件夹,此文件夹应该是您要与Ubuntu(访客操作系统)共享的窗口中的文件夹。 使此创建的文件夹自动安装。 示例 – >在桌面上创建名为Ubuntushare的文件夹并添加此文件夹。

步骤4完成共享文件夹规范后,我们从Ubuntu(Guest OS)安装文件夹。 创建一个挂载点,这是Ubuntu中的一个目录,它将与Windows共享文件夹共享文件。 运行此命令以在Ubuntu中创建目录

 $ sudo mkdir ~/Desktop/windowsshare 

步骤5创建mountpoint后,您现在可以挂载共享文件夹。 运行此命令以共享文件夹:

 $ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare 

Ubuntushare是我们在VirtualBox Devices部分中添加的文件夹的名称,该文件夹位于Windows(Host OS)中。 〜/ Desktop / windowsshare是Ubuntu(Guest OS)中的目录

祝贺 – >现在您可以在Windows和Ubuntu之间共享文件。 尝试在Windows中添加任何文件(Host OS)Ubuntu共享文件夹现在检查Ubuntu(Guest OS)windowsshare目录下的文件是否会被反映出来。

我的文章

共享文件夹黑白windows和ubuntu

  1. 从软件中心安装名为“程序和组”的程序
  2. 选择当前用户,然后单击“管理组”
  3. 选择vboxsf并点击“添加”
  4. 重启
  1. 创建一个dir,你要安装它,就像mkdir docs

  2. 将Guest Additions安装到guest虚拟机Ubuntu计算机中。

  3. 关闭Ubuntu guest虚拟机,然后配置它。

  4. 在“存储”中,设置共享文件夹,并在第二个字段中记下您设置的名称。 例如“疯狂”。 选中自动安装框。

  5. 启动Ubuntu来宾。

  6. 就像你说的那样,它实际上是不可访问的。 (这是你问题的关键部分。)你会发现它存在于/media/sf_crazy ,其中’crazy’是你给它的名字。 而且,它也将出现在你的家庭目录~/crazy

  7. 您现在需要再采取一步来实际安装它:

     sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs 

安装Guest Additions后执行这些步骤。 对于Windows 10主机环境,在Windows机器上我必须共享文件夹。

  1. 右键单击要共享的文件夹
  2. 选择“分享”
  3. 选择“特定人”
  4. 选择每个人,读/写选项
  5. 在客户端Ubunto机器上运行命令:sudo adduser xxxxxxx vboxsf

其中xxxxxx是您的用户帐户名称。 注销并重新登录Ubuntu。