我按照步骤在VirtualBox中在Windows 7和Ubuntu之间共享文件夹。
尽管该文件夹显示为X符号,但尝试打开该文件夹时会显示以下消息:
文件夹内容无法显示
当我Shared Folder
从VirtualBox Device
菜单中选择时,将显示以下警告:
在系统页面上,您已将超过50%的计算机内存(2.93 GB)分配给虚拟机...
如何使用VirtualBox在Windows和Ubuntu之间成功共享文件夹?
我按照步骤在VirtualBox中在Windows 7和Ubuntu之间共享文件夹。
尽管该文件夹显示为X符号,但尝试打开该文件夹时会显示以下消息:
文件夹内容无法显示
当我Shared Folder
从VirtualBox Device
菜单中选择时,将显示以下警告:
在系统页面上,您已将超过50%的计算机内存(2.93 GB)分配给虚拟机...
如何使用VirtualBox在Windows和Ubuntu之间成功共享文件夹?
Answers:
默认情况下,VirtualBox共享文件夹的创建具有来宾的读/写权限。可以从主机上的命令行使用以下命令完成此操作:
VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"
通过添加选项,--readonly
我们可以将其限制为只读访问。--transient
如果您只希望共享出现在当前会话中,而不希望在以后的会话中持续存在,请使用该选项。共享文件夹有一些限制(有关详细信息,请参阅此问题)。如果满足先决条件,我们可以通过在guest虚拟机中运行以下命令来手动安装这些共享文件夹:
mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare
当然,我们还可以使用不同的安装选项将其安装为只读/只读或仅对根用户具有读权限。
如果从Virtual Box Manager创建共享文件夹时启用了自动挂载,则这些共享文件夹将自动通过挂载点挂载到来宾中/media/sf_<name_of_folder>
。要访问这些文件夹,访客中的用户必须是该组的成员vboxsf
。
sudo usermod -aG vboxsf userName
来宾将需要重新启动以添加新组。
出处及进一步阅读:Virtual Box用户手册
/media
但还是一无所获
/media/
sudo adduser your_username vboxsf
users-admin
。该命令已由其他用户编辑。
sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare
,我没有看到提及,sharename
当使用创建共享文件夹时会使用VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"
。如果有多个共享文件夹.. VirtualBox如何知道sharename
与该文件夹关联的文件夹vboxshare
?还是说那sharename
应该和vboxshare
?
实际上,有一个简单的方法可以做到这一点:
在来宾Ubuntu中安装来宾添加
/media
或按Left Control+D重启
尝试访问/media/sf_your_shared_folder_name
。如果您仍然没有访问权限,则意味着您不属于该vboxsf
组,如Nilo所说。此命令将解决您的问题:
sudo adduser your_username vboxsf
注销并再次登录以应用对的更改adduser
。请参阅下面的kol和atcold评论。
adduser
。
启动您的虚拟机
挂载CD:
sudo mount /dev/cdrom /media/cdrom
安装必要的软件包:
sudo apt-get install make gcc linux-headers-$(uname -r)
安装:
sudo /media/cdrom/VBoxLinuxAdditions.run
~$ echo $USER;
ahmed
~$ sudo usermod -a -G vboxsf ahmed
知道您的共享文件夹的标签是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的菜单安装install guest Guest Additions,然后转到Devices-> Install Guest Additions,这会将虚拟CD挂载到/ media / cdrom上。以root用户身份使用“使用终端打开”选项(使用鼠标右键单击)打开/ media / cdrom添加的文件夹。
步骤2 运行程序VBoxLinuxAdditions.run。程序完成后,重新启动VirtualBox。
$ sudo ./VBoxLinuxAdditions.run
步骤3 创建一个共享文件夹。从“虚拟”菜单转到“设备”->“共享文件夹”,然后在列表中添加一个新文件夹,该文件夹应该是您要与Ubuntu(Guest OS)共享的Windows中的文件夹。使此创建的文件夹自动挂载。示例->在桌面上创建一个名为Ubuntushare的文件夹,然后添加此文件夹。
步骤4 完成共享文件夹规范后,我们将从Ubuntu(Guest OS)挂载文件夹。在Ubuntu中创建一个安装点,该安装点将与Windows中的共享文件夹共享文件。运行此命令以在Ubuntu中创建目录
$ sudo mkdir ~/Desktop/windowsshare
步骤5 创建挂载点后,您现在可以挂载共享文件夹。运行以下命令共享文件夹:
$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare
Ubuntushare是我们在“ VirtualBox设备”部分添加的文件夹的名称,该文件夹位于Windows(主机OS)中。〜/ Desktop / windowsshare是Ubuntu(来宾OS)中的目录
祝贺您->现在,您可以在Windows和Ubuntu之间共享文件了。尝试在Windows(主机OS)Ubuntu共享文件夹中添加任何文件,现在检查Ubuntu(来宾OS)Windowsshare目录将反映该文件。
我的文章
在要挂载此目录的地方创建一个目录,例如 mkdir docs
将Guest Additions安装到来宾Ubuntu计算机中。
关闭Ubuntu guest虚拟机,然后对其进行配置。
在“存储”中,设置共享文件夹,并记下在第二个字段中设置的名称。例如“疯狂”。选中自动安装框。
引导Ubuntu来宾。
就像您说的那样,它实际上是不可访问的。(这是您问题的关键部分。)相反,您会发现它出现在/media/sf_crazy
,其中'crazy'是您提供的名称。并且,它也将出现在您的主目录中~/crazy
。
现在,您需要采取进一步的步骤来实际安装它:
sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs
截至目前(VirtualBox 6.0.10版本),共享文件夹有make permanent
和auto-mount
选项,以及virtualbox的GUI中的mount point
(At
)。对我来说,以下工作:
sudo apt-get install virtualbox-guest-utils
GUI中指定的安装点上的文件夹是自动创建的,并ls
显示位于主机Windows PC上的文件。