我在 Win10 上托管的 virtualbox v6.1.18 中运行 Linux vbubuntu 5.11.0-46-generic #51~20.04.1-Ubuntu
Ubuntu 软件更新后,与主机共享的挂载点不再可访问,共享上的文件在 Linux 中不再可见。它们仍然存在于主机上。注意到权限从
:/mnt$ ll
total 8,0K
4,0K drwxr-xr-x 6 root root 4,0K mrt 2 2021 ./
4,0K drwxr-xr-x 20 root root 4,0K mrt 2 2021 ../
0 drwxrwx--- 1 root vboxsf 0 feb 16 14:38 gdrive/
到
:/mnt$ ll
total 8,0K
4,0K drwxr-xr-x 6 root root 4,0K mrt 2 2021 ./
4,0K drwxr-xr-x 20 root root 4,0K mrt 2 2021 ../
0 drwxr-x--- 1 root root 0 feb 16 14:38 gdrive/
手动将权限和所有权改回更新前的状态,但共享文件夹挂载的目录中仍未显示任何文件。进一步调查后发现,该问题是由内核从 5.11.0-46-generic 更新到 5.13.0-30-generic 引起的。
vboxadd-setup.log 中显示的错误消息是
Building the main Guest Additions 6.1.18 module for kernel 5.13.0-30-generic.
Building the shared folder support module.
Error building the module. Build output follows.
make V=1 CONFIG_MODULE_SIG= CONFIG_MODULE_SIG_ALL= -C /lib/modules/5.13.0-30-generic/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j4 modules
make[1]: warning: -j4 forced in submake: resetting jobserver mode.
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
make -f ./scripts/Makefile.build obj=/tmp/vbox.0 \
single-build= \
need-builtin=1 need-modorder=1
配置文件确实存在/lib/modules/5.13.0-30-generic/build/include/generated/autoconf.h
,据我所知,我没有注意到文件中有错误。旧的 autoconf.h 和新的 autoconf.h 文件都定义了 virtualbox 文件系统
#define CONFIG_VBOXSF_FS_MODULE 1
我没有从源代码运行/创建操作系统或内核,因此错误消息中建议的解决方案对我来说不适用。
我确实希望有人能帮助我
答案1
在主机上将 virtualbox 更新到最新版本 6.1.32,并更新扩展包。然后在更新 linux 内核之前成功启动 ubuntu VM 并更新了客户机添加项。
最新的 vboxadd-setup.log 的内容
Building the main Guest Additions 6.1.32 module for kernel 5.13.0-30-generic.
Building the shared folder support module.
Building the graphics driver module.
这为我解决了这个问题