这主机是 Ubuntu 20.10 桌面版,VirtualBox 版本为 6.1.16。客机也是带有最新 (6.1.16) VB Guest Additions 的 Ubuntu 20.10 Desktop。我能够从来宾计算机中的“普通”Ubuntu 用户使用共享文件夹(从主机共享到来宾),因为该用户也在该组中,vboxsf
并且共享文件夹已在具有权限的来宾计算机中安装drwxrwx--- root vboxsf
。
现在,在我升级(使用do-release-upgrade
)之后客机到 21.04,我无法再从客户机中的普通用户访问共享文件夹,因为共享文件夹是drwxr-x--- root root
在客户机中使用权限挂载的。
我尝试重新安装 GA,但没有任何变化。
一切都没有改变主持人机器和同一个旧机器的“克隆”(20.10)客人drwxrwx--- root vboxsf
按预期工作(共享文件夹以正常权限安装)。
注意:顺便说一下,我需要提一下,对于升级到 21.04 的客户,剪贴板共享也停止了工作。
答案1
文件中有一个错误/var/log/vboxadd-setup.log.1
,如下所示:
[...]
In file included from /tmp/vbox.0/combined-os-specific.c:33:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjLinuxVMap’:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:560:34: error: implicit declaration of function ‘alloc_vm_area’ [-Werror=implicit-function-declaration]
560 | pMemLnx->pArea = alloc_vm_area(pMemLnx->Core.cb, papPtes); /* Note! pArea->nr_pages is not set. */
| ^~~~~~~~~~~~~
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:560:32: warning: assignment to ‘struct vm_struct *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
560 | pMemLnx->pArea = alloc_vm_area(pMemLnx->Core.cb, papPtes); /* Note! pArea->nr_pages is not set. */
| ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:287: /tmp/vbox.0/combined-os-specific.o] Error 1
make[1]: *** [Makefile:1837: /tmp/vbox.0] Error 2
make: *** [/tmp/vbox.0/Makefile-footer.gmk:117: vboxguest] Error 2
进一步调查显示 即 “子程序(alloc_vm_area)已从linux 5.10中删除。”
因此,我VBoxGuestAdditions_6.1.22.iso
从
https://download.virtualbox.org/virtualbox/6.1.22/并在客户机上重新安装它。虽然我的 VirtualBox 管理器主持人机器是 6.1.16 版本,问题出在客人现已解决。