如何在Windows主机和Ubuntu18.04来宾计算机之间创建Virtualbox共享文件夹



我已经阅读了有关从主机到Virtualbox的来宾机共享文件夹的文档和所有问题,但仍然无法使其正常工作。在我的情况下,主机是Windows机器,访客是Ubuntu18.04服务器机器。

建议和我已经尝试过的:

1) 在虚拟机的菜单中,我找到了"设备"子菜单,并单击了"插入客户添加CD映像"选项,之后状态栏中的CD图标亮起,显示CD已插入,iso的路径为C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso(我检查了该文件是否真的存在)。

2) 在同一个"设备"虚拟机的设置子菜单中,我打开了"共享文件夹设置",并添加了名为"test"、路径为"D:\test"的共享文件夹,该文件夹指向D:磁盘上包含测试文件的文件夹。

3) 我重新启动我的Ubuntu虚拟机,并查看/media目录,希望找到/media/cdrom目录或类似的文件VBoxLinuxAdditions.run,它应该根据文档运行。但是/media目录是空的,所以我和它没有任何关系。我在其他目录中寻找这个文件,但没有成功。

在那之后,我尝试从存储库安装Virtualbox访客添加,这是在ubuntu论坛上建议的:

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms

并检查软件包是否已安装命令:

lsmod | grep -io vboxguest

但当我重新启动并尝试装载共享文件夹时:

mkdir -p /home/myusername/test
sudo mount -t vboxsf test /home/myusername/test

我有错误:

mount: /home/myusername/test: wrong fs type, bad option, bad superblock on /home/myusername/test, missing codepage or helper program or other error.

我看到没有/sbin/mount.vboxsf链接,我不确定这是否是一个问题,我还尝试用将我的用户添加到"vboxsf"组

sudo usermod -a -G vboxsf myusername

但该组也没有创建。

我错过了什么,怎样才能让它发挥作用?

经过一整天的尝试,我终于找到了缺失的成分。但我将部分重复我的主题内容,并在这里为像我这样在这项任务中挣扎的人提供循序渐进的指导。

我们假设我们已经安装了Ubuntu18.04虚拟机,并且在这台机器上拥有sudo权限的linux用户"myusername"。

因此,为了将Windows主机上的文件夹D:\test(仅作为一个示例)共享到Ubuntu 18.04 Virtualbox的客户机(其内容应在/home/myusername/test目录中提供),我们采取以下步骤:

1) 从VirtualBox界面启动Ubuntu虚拟机

2) 打开已启动的Ubuntu虚拟机窗口上部菜单的"设备"子菜单中的"共享文件夹设置",将共享文件夹名称设置为"测试",将路径设置为"/home/myusername/test",并填写复选框"使永久">

3) 使用软件包管理器将virtualbox-guest-dkms和virtualbox-gguest-utils软件包安装到UbuntuVM。

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
sudo apt-get install virtualbox-guest-utils

4) 在你的Ubuntu虚拟机上创建一个目录/home/myusername/test

mkdir /home/myusername/test

5) 重新启动Ubuntu VM

reboot

6) 使用命令重新启动Ubuntu虚拟机中的装载共享文件夹后

mount -t vboxsf test /home/myusername/test

7) 检查/home/myusername/test目录中的文件,它们应该与Windows D:\test文件夹中的文件相同

ls /home/myusername/test

8) 此外,您可以在重新启动后自动安装此共享文件夹,为此,您需要在ubuntu用户的/home/myusername/.profile文件中添加下一行:

echo "sudo mount -t vboxsf test /home/myusername/test" >> /home/myusername/.profile

并通过打开"sudo-visudo"命令(用于更改/etc/sudoers文件),允许用户在不输入密码的情况下挂载,然后添加下一行:

myusername ALL = (ALL) NOPASSWD: /bin/mount

就是这样,在这些步骤之后,我已经设法将文件从Windows主机共享到Ubuntu客户机。我想提到的是,共享目录本身和其中的所有文件都属于root,但有777权限,所以使用它们没有问题,因为任何用户都可以对它们为所欲为。

就我个人而言,以下命令帮助了我,它连接了一个磁盘,您必须填写凭据并繁荣。。。

sudo apt-get install virtualbox-guest-dkms
sudo apt-get install virtualbox-guest-utils

最新更新