我相信我已按照从我的客户机 - ubuntu 20.04 访问主机 - Windows 10 上的文件夹的描述进行了所有操作。但是我没有得到任何结果。
共享文件夹的设置:
但是,当我进入文件夹并列出文件时,那里什么也没有。而我确实在主机上保存了一个文件,因此应该可以看到:
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
重启