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

And*_*yKo 2 windows virtualbox shared-directory ubuntu-18.04

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

建议和我已经尝试过的内容:

1)在VM的菜单中,找到“设备”子菜单,然后单击“插入来宾添加CD映像”选项,此后状态栏中的CD图标点亮,表明已插入CD,iso的路径为C:\ Program Files \ Oracle \ VirtualBox \ VBoxGuestAdditions.iso(我检查该文件确实存在)。

2)在同一“设备” VM的设置子菜单中,打开“共享文件夹设置”,并添加名称为“ test”和路径为“ D:\ test”的共享文件夹,该共享文件夹会指向包含测试文件的D:磁盘上的文件夹。

3)我重新启动我的Ubuntu VM并进入/ media目录,期望在其中找到VmediaLinuxAdditions.run文件的/ media / cdrom目录或类似内容,该文件应根据文档运行。但是/ media目录为空,因此与它无关。我在其他目录中查找了此文件,但没有成功。

之后,我尝试按照ubuntu论坛上的建议从存储库安装Virtualbox-guest-additions:

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
Run Code Online (Sandbox Code Playgroud)

并使用以下命令检查软件包是否已安装:

lsmod | grep -io vboxguest
Run Code Online (Sandbox Code Playgroud)

但是当我重新启动并尝试使用以下方法挂载共享文件夹时:

mkdir -p /home/myusername/test
sudo mount -t vboxsf test /home/myusername/test
Run Code Online (Sandbox Code Playgroud)

我有错误:

mount: /home/myusername/test: wrong fs type, bad option, bad superblock on /home/myusername/test, missing codepage or helper program or other error.
Run Code Online (Sandbox Code Playgroud)

我看到不存在/sbin/mount.vboxsf链接,我不确定这是否是问题,我也尝试通过以下方式将用户添加到“ vboxsf”组:

sudo usermod -a -G vboxsf myusername
Run Code Online (Sandbox Code Playgroud)

但是也没有创建该组。

我想念的是什么,使它起作用的方法是什么?

And*_*yKo 6

经过一整天的尝试,我终于找到了所缺少的成分。但是,我将部分重复我的主题内容,并在此处逐步为那些像我这样努力工作的人提供指导。

我们假设已经安装了Ubuntu 18.04 VM,并且在此计算机上具有sudo权限的Linux用户“ myusername”。

因此,要将Windows主机上的文件夹D:\ test(仅作为示例)共享到Ubuntu 18.04 Virtualbox的来宾计算机(其内容应在/ home / myusername / test目录中可用),我们执行以下步骤:

1)从VirtualBox界面启动Ubuntu VM

2)在启动的Ubuntu VM窗口上方菜单的“设备”子菜单中打开“共享文件夹设置”,并将共享文件夹名称设置为“ test”,路径设置为“ / home / myusername / test”,并填写复选框“ Make”。常驻”

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

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
sudo apt-get install virtualbox-guest-utils
Run Code Online (Sandbox Code Playgroud)

4)在Ubuntu VM上创建目录/ home / myusername / test

mkdir /home/myusername/test
Run Code Online (Sandbox Code Playgroud)

5)重新启动Ubuntu VM

reboot
Run Code Online (Sandbox Code Playgroud)

6)使用命令重新启动Ubuntu VM中的安装共享文件夹后

mount -t vboxsf test /home/myusername/test
Run Code Online (Sandbox Code Playgroud)

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

ls /home/myusername/test
Run Code Online (Sandbox Code Playgroud)

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

echo "sudo mount -t vboxsf test /home/myusername/test" >> /home/myusername/.profile
Run Code Online (Sandbox Code Playgroud)

并通过打开“ sudo visudo”命令(用于更改/ etc / sudoers文件)授予用户安装密码的权限,而无需输入密码,然后添加下一行:

myusername ALL = (ALL) NOPASSWD: /bin/mount
Run Code Online (Sandbox Code Playgroud)

就这些,在完成这些步骤之后,我设法将文件从Windows主机共享到Ubuntu来宾计算机。我想提一下,共享目录本身及其中的所有文件都属于root,但具有777权限,因此使用它们没有问题,因为任何用户都可以对它们进行任何操作。

  • 伟大的!这就是我把它留在这里的原因。 (2认同)
  • 杰出的!这极大地帮助了我。需要注意的另一件事是,在尝试执行此操作之前,您需要在 VM 中创建 /home/myusername/test 目录。 (2认同)