访问 Virtualbox 6.1 上的共享文件夹 - Windows 10 主机 - Ubuntu 20.04 SERVER 客户机

访问 Virtualbox 6.1 上的共享文件夹 - Windows 10 主机 - Ubuntu 20.04 SERVER 客户机

我相信我已按照从我的客户机 - ubuntu 20.04 访问主机 - Windows 10 上的文件夹的描述进行了所有操作。但是我没有得到任何结果。

我的虚拟机上安装了来宾添加程序: 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

共享文件夹的设置:

在此处输入图片描述

安装了最新的 Guest Additions CD 在此处输入图片描述

但是,当我进入文件夹并列出文件时,那里什么也没有。而我确实在主机上保存了一个文件,因此应该可以看到:

tomas@ubuntu20:~/share$ ls -l
total 0
tomas@ubuntu20:~/share$ df -t vboxsf
df : no file systems processed 
tomas@ubuntu20:~/share$ usermod -aG vboxsf tomas
usermod : group 'vboxsf' does not exist
tomas@ubuntu20:~/share$ chmod 755 .
tomas@ubuntu20:~/share$ ps -ef | grep -i vbox
root         385       2  0 10:19 ?        00:00:00 [iprt-VBoxWQueue]
tomas       1112    1098  0 10:24 pts/0    00:00:00 grep --color=auto -i vbox
tomas@ubuntu20:~/share$ service --status-all | grep -i virtual # no output
tomas@ubuntu20:~/share$ sudo mount -t vboxsf -o uid=1000,gid=1000 ubuntush /home/tomas/share
mount: /home/tomas/share: wrong fs type, bad option, bad superblock on ubuntush, missing codepage or helper program, or other error.

从 Windows 10(主机)命令提示符:

C:\Users\as_to>VBoxManage sharedfolder add "ubuntu20" --name "ubuntush" --hostpath "C:\Users\as_to\Desktop\ubuntush"
VBoxManage.exe: error: Shared folder named 'ubuntush' already exists
VBoxManage.exe: error: Details: code VBOX_E_OBJECT_IN_USE (0x80bb000c), component SessionMachine, interface IMachine, callee IUnknown
VBoxManage.exe: error: Context: "CreateSharedFolder(Bstr(pszName).raw(), Bstr(szAbsHostPath).raw(), fWritable, fAutoMount, Bstr(pszAutoMountPoint).raw())" at line 1194 of file VBoxManageMisc.cpp

有人知道缺少了什么吗?

答案1

在@FedonKadifeli 的帮助下,我解决了这个问题。

首先,客户操作系统是 Ubuntu 20.04 LTS服务器

从正在运行的客户操作系统窗口安装 Guest Additions。转到:设备 - > 插入 Guest Additions CD 映像

然后到客户操作系统命令行:

sudo apt update
sudo apt upgrade

sudo mount /dev/sr0 /cdrom
mount: /cdrom: WARNING: device write-protected, mounted read-only. # This is OK

cd /cdrom 
sudo bash ./VBoxLinuxAdditions.run

最后一个命令的输出应该是这样的: 在此处输入图片描述

然而,我得到的输出的最后三行是这样的:

"This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
VirtualBox Guest Additions: Running kernel modules will not be replaced until
the system is restarted"

因此,首先我必须安装其他软件包。以及可能需要的其他东西:

sudo apt install gcc 
sudo apt install make
sudo apt install perl

重启客户端:

reboot

然后从客户操作系统窗口转到:

设备 - 共享文件夹 - 共享文件夹设置 - 添加新的共享文件夹:

文件夹路径:C:\Users\as_to\Desktop\foo
文件夹名称:foo

挂载点:/home/tomas/bar - 关闭此窗口后,这将创建一个目录

自动挂载(查看)

使永久生效(查看)

按“确定”关闭窗口。

接下来,如果你尝试通过 cd 进入 bar,你将得到权限被拒绝的信息:

cd bar/
-bash: cd: bar/: Permission denied

将用户添加到组“vboxsf”并再次注销/登录以应用更改:

sudo usermod -aG vboxsf tomas
logout

就是这样。现在一切都应该正常工作了。再次感谢@FedonKadifeli,你太棒了。

答案2

感谢您的帖子。我的版本与您相同:ubuntu 20.04、windows 10(主机)、virtualbox v6.1,但完成上述所有步骤后,我在 ubuntu 中仍然有一个空的共享目录。

重启后查看挂载,我发现这个条目看起来不正确:

$mount | grep shared
 /home/damo/shared on /home/damo/shared type vboxsf (rw,....)

似乎是试图将文件夹安装到自身而不是从 Windows 安装……?虚拟机共享文件夹设置如下

Folder path: C:\Users\damo\VirtualBox VMs\shared
Mount point: /home/damo/shared

勾选自动挂载并永久生效。我需要在主机端执行某些操作来启用文件夹共享吗?

答案3

对我有用的说明来自:无法在机器沙盒上安装 CD/DVD 映像如何在 Ubuntu 上安装和使用 VirtualBox Guest Additions

安装一些软件包以便能够构建内核:

sudo apt install build-essential dkms linux-headers-generic

从 Ubuntu 存储库安装 VirtualBoxGuestAdditions:

sudo apt install virtualbox-guest-additions-iso
sudo mkdir /media/GuestAdditionsISO
sudo mount -o loop /usr/share/virtualbox/VBoxGuestAdditions.iso /media/GuestAdditionsISO

安装 Guest Additions:

cd /media/GuestAdditionsISO
sudo ./VBoxLinuxAdditions.run

重启

相关内容