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

Tom*_*s.R 5 virtualbox shared-folders

我相信我已经完成了有关如何从我的访客 - 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.
Run Code Online (Sandbox Code Playgroud)

从 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
Run Code Online (Sandbox Code Playgroud)

有人知道缺少什么吗?

Tom*_*s.R 7

在伟大的@FedonKadifeli 的帮助下,我能够解决这个问题。

首先也是最重要的 - 来宾操作系统是 Ubuntu 20.04 LTS Server

从正在运行的来宾操作系统窗口安装来宾添加。转至:设备 -> 插入来宾添加 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
Run Code Online (Sandbox Code Playgroud)

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

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

"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"
Run Code Online (Sandbox Code Playgroud)

所以,首先我必须安装额外的软件包。以及可能需要的任何额外内容:

sudo apt install gcc 
sudo apt install make
sudo apt install perl
Run Code Online (Sandbox Code Playgroud)

重新启动来宾:

reboot
Run Code Online (Sandbox Code Playgroud)

然后从来宾操作系统窗口转到:

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

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

安装点:/home/tomas/bar - 关闭此窗口后将创建一个目录

自动挂载(检查)

设为永久(勾选)

按确定关闭窗口。

接下来,如果您尝试 cd 进入 bar,您将收到权限被拒绝的消息:

cd bar/
-bash: cd: bar/: Permission denied
Run Code Online (Sandbox Code Playgroud)

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

sudo usermod -aG vboxsf tomas
logout
Run Code Online (Sandbox Code Playgroud)

就是这样。现在一切都应该可以了。再次感谢@FedonKadifeli,很棒的人。