问题描述
我遵循了在VirtualBox中在Windows 7和Ubuntu之间共享文件夹的步骤。
尽管该文件夹出现X标志,并尝试打开它时会给我以下消息:
The folder content could not be displayed
当我从VirtualBox Device
菜单中选择Shared Folder
时,会显示以下警告:
On the system page, you have assigned more than 50% of your computer’s memory (2.93 GB) to the virtual machine…
如何使用VirtualBox在Windows和Ubuntu之间成功共享文件夹?
最佳解决思路
访问Virtual Box中的共享文件夹
命令行
默认情况下,Virtual Box共享文件夹是为访客创建的,具有读/写权限。这可以通过主机上的命令行完成:
VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"
通过添加选项--readonly
,我们可以限制这些用于read-only访问。如果您只希望共享出现在当前会话中但对于后续会话不持续,请使用--transient
选项。共享文件夹有一些限制(详情请参阅this question)。如果满足先决条件,我们可以通过在guest虚拟机中运行以下命令来手动挂载这些共享文件夹:
mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare
当然,我们也可以使用不同的挂载选项来挂载为只读,或者挂载到只有root权限的读取权限。
Auto-Mount通过Virtual Box Manager
如果我们启用auto-mounting从Virtual Box Manager创建共享文件夹,这些共享文件夹将自动安装在安装点为/media/sf_<name_of_folder>
的guest虚拟机中。要访问这些文件夹,访客中的用户需要成为vboxsf
组的成员。
sudo usermod -aG vboxsf userName
用户需要注销并重新登录才能看到添加的新组。
来源和进一步阅读:Virtual Box User Manual
次佳解决思路
其实有一个简单的方法来做到这一点:
-
安装VirtualBox的扩展包。
-
重新启动您的虚拟机
-
在你的客户Ubuntu中安装Guest Additions
-
您可以安装
/media
上的ISO或按Left Control
+D
-
-
重启
-
尝试访问
/media/sf_your_shared_folder_name
。如果你仍然无法访问,那就意味着你不属于vboxsf
组,就像Nilo说的那样。这个命令将解决你的问题:sudo adduser your_username vboxsf
第三种解决思路
首先,请确保您已安装Guest Additions
-
启动您的虚拟机
-
设备>插入Guest Additions CD映像…
-
安装CD:
sudo mount /dev/cdrom /media/cdrom
-
安装必要的软件包:
sudo apt-get install make gcc linux-headers-$(uname -r)
-
安装:
sudo /media/cdrom/VBoxLinuxAdditions.run
其次,将您的用户添加到组’vboxsf’:
~$ echo $USER;
ahmed
~$ sudo usermod -a -G vboxsf ahmed
Reboot
知道共享文件夹的标签是lpi
(例如):
将sf_
添加到标签。然后,您将在/media/sf_lpi
下找到您的共享文件夹
最后,你也可以创建一个链接到你的家。例如:
ln -s /media/sf_lpi /home/ahmed/lpi
🙂
第四种思路
使用vBox图形界面将共享文件夹添加到虚拟机确保选择自动安装并使其成为永久性
使用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->安装Guest Additions这将在您的/media /cdrom上安装虚拟CD。作为root用户使用Open with terminal选项打开此/media /cdrom添加的文件夹(用鼠标右键单击)。
步骤2运行程序VBoxLinuxAdditions.run。当程序完成后重新启动您的VirtualBox。
$ sudo ./VBoxLinuxAdditions.run
步骤3创建一个共享文件夹。从虚拟菜单进入设备 – >共享文件夹,然后在列表中添加一个新文件夹,该文件夹应该是您想要与Ubuntu共享的窗口中的一个(来宾操作系统)。使这个创建的文件夹auto-mount。示例 – >在桌面上制作一个名为Ubuntushare的文件夹并添加此文件夹。
第4步当您完成共享文件夹规范时,我们从Ubuntu(来宾操作系统)安装文件夹。创建一个挂载点,这是Ubuntu中的一个目录,它将与Windows共享文件夹共享文件。运行这个在Ubuntu中创建一个目录
$ sudo mkdir ~/Desktop/windowsshare
步骤5创建您的安装点后,您现在可以安装共享文件夹。运行此命令以共享该文件夹:
$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare
Ubuntushare是我们在VirtualBox Devices部分中添加的文件夹的名称,该文件夹位于Windows(主机操作系统)中。 〜/Desktop /windowsshare是Ubuntu中的目录(Guest OS)
CONGRATULATIONS->现在您可以在Windows和Ubuntu之间共享文件。尝试添加Windows中的任何文件(主机操作系统)Ubuntu共享文件夹现在检查Ubuntu(客户操作系统)windowsshare目录该文件将被反映。
我的文章
Shared folder b/w windows and ubuntu
第六种思路
-
从软件中心安装名为“程序和组”的程序
-
选择当前用户并单击管理组
-
选择vboxsf并单击’Add’
-
重启