我正在运行 Virtualbox 5.1.34 - 我有许多虚拟机,挂载共享文件夹不是问题。我的主机是一台运行 Centos 7 的高性能戴尔工作站。
我从 ubuntu-18.04.3-desktop-amd64.iso 创建了一个虚拟机,安装顺利,我安装了正确的 GuestAdditions ISO 并安装了它,似乎成功了。
我已经在 Virtualbox 控制面板中创建了共享文件夹,并在 VM 上创建了相应的挂载点文件夹,两者都名为“v-host”(我已经这样做了很多次)我关闭并重新启动了 VM。
我之前在跑步:
sudo mount -t vboxsf v-host ~/v-host/
并返回:
/sbin/mount.vboxsf:安装失败,错误:没有这样的设备或地址
我有三个 Ubuntu 18.04 服务器虚拟机(无 GUI),没有这个问题 - 我安装了 GuestAdditions,重新启动了它们,并且挂载共享文件夹工作正常。
我还有一个 Ubuntu 16.04 桌面,共享文件夹挂载也可以正常工作。但我无法让 18.04 工作。
有什么线索吗?
答案1
Virtualbox 5.1 对于现代 Linux 发行版来说太旧了。它仅支持内核 4.17。Ubuntu 18.04.3 Desktop 有 5.0 内核。
https://www.virtualbox.org/wiki/Changelog-5.1
但是您可以从内置存储库在任何 Ubuntu 18.04 中安装 4.15 内核。或者安装 Ubuntu 18.04.1 桌面版并更新它(默认情况下内核不会升级到较新版本)。
答案2
VirtualBox 客户机虚拟机中的 Ubuntu
安装客户机附加组件
dkms
安装之前必须在 Ubuntu 客户机操作系统中安装Guest Additions 。
sudo apt-get update
sudo apt-get install dkms
# then install VirtualBox Guest Additions
答案3
我怀疑内核版本 5 的 Linux 发行版无法与 Virtualbox 版本 5.1.34 很好地兼容。也许它们可以与 Virtualbox 6 兼容,但我无权在相关系统上升级 Virtualbox。
Ubuntu 16.04 桌面版的内核版本为 4.15,安装客户机添加程序没有问题。Ubuntu 18.04 和 Mint 19.3 均采用内核版本 5,在 /var/log/vboxadd-install.log 中报告相同的错误
看起来宏的参数列表已经改变。
- 摘录如下:
gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.memuserkernel-r0drv-linux.od . . . . . -c -o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c
/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c: 在函数“VBoxGuest_RTR0MemUserIsValidAddr”中:/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c:69:55: 错误:宏“access_ok”传递了 3 个参数,但只接受 2 个 bool fRc = access_ok(VERIFY_READ, (void *)R3Ptr, 1); ^ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c:69:16: 错误:'access_ok' 未声明(在此函数中首次使用)bool fRc = access_ok(VERIFY_READ, (void *)R3Ptr, 1); ^~~~~~~~~ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c:69:16: 注意:每个未声明的标识符仅在出现在 scripts/Makefile.build:284 中的每个函数中报告一次:目标“/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o”的配方失败
使[2]:* [/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o] 错误 1 Makefile:1614: 目标配方'模块/tmp/vbox.0' 失败 make[1]: *[模块/tmp/vbox.0] 错误 2 /tmp/vbox.0/Makefile.include.footer:85: 目标“vboxguest”的配方失败:*** [vboxguest] 错误 2