Ubuntu 22.04安装系统补丁后VirtualBox无法运行,重装、卸载及升级至7.0均失败的问题求助
Ubuntu 22.04安装系统补丁后VirtualBox无法运行,重装、卸载及升级至7.0均失败的问题求助
大家好,我最近碰到了一个棘手的问题,想请各位大佬帮忙支支招:
我给我的Ubuntu 22.04安装了最新的系统更新后,VirtualBox突然没法启动虚拟机了,弹出的提示说:
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please reinstall virtualbox-dkms package and load the kernel module by executing
我按照提示尝试重装virtualbox-dkms,结果直接报错;甚至想彻底卸载VirtualBox,也没办法正常清理这个包。
下面是我找到的崩溃报告详情:
root@Spike:~# cat /var/crash/virtualbox-dkms.0.crash ProblemType: Package DKMSBuildLog: DKMS make.log for virtualbox-6.1.38 for kernel 6.5.0-14-generic (x86_64) zo 14 jan 2024 18:03:08 CET make: Entering directory '/usr/src/linux-headers-6.5.0-14-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/linux/SUPDrv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvGip.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvSem.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPLibAll.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/initterm-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/alloc-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/memobj-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/mpnotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/powernotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o: warning: objtool: SUPR0TracerFireProbe+0x7: indirect jump found in RETPOLINE build /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub+0x0: 'naked' return found in RETHUNK build CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/process-r0drv-linux.o /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1228:18: error: too many arguments to function ‘get_user_pages’ 1228 | rc = get_user_pages(R3Ptr, /* Where from. */ | ^~~~~~~~~~~~~~ In file included from /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/the-linux-kernel.h:102, from /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:31: ./include/linux/mm.h:2430:6: note: declared here 2430 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1261:33: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types] 1261 | papVMAs /* vmas */ | ^~~~~~~ | | | struct vm_area_struct ** ./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’ 2400 | int *locked); | ~~~~~^~~~~~ /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1245:18: error: too many arguments to function ‘get_user_pages_remote’ 1245 | rc = get_user_pages_remote( | ^~~~~~~~~~~~~~~~~~~~~ ./include/linux/mm.h:2397:6: note: declared here 2397 | long get_user_pages_remote(struct mm_struct *mm, | ^~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1304:39: error: assignment of read-only member ‘vm_flags’ 1304 | papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED; | ^~ CC [M] /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeMapUser’: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1774:35: error: assignment of read-only member ‘vm_flags’ 1774 | vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; | ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:251: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1 make[3]: *** Waiting for unfinished jobs.... /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyTo+0x13: redundant CLD /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyFrom+0x13: redundant CLD make[2]: *** [scripts/Makefile.build:488: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv] Error 2 make[1]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /var/lib/dkms/virtualbox/6.1.38/build] Error 2 make: *** [Makefile:234: __sub-make] Error 2 make: Leaving directory '/usr/src/linux-headers-6.5.0-14-generic' DKMSKernelVersion: 6.5.0-14-generic Date: Sun Jan 14 18:03:14 2024 DuplicateSignature: dkms:virtualbox-dkms:6.1.38-dfsg-3~ubuntu1.22.04.1:/var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1228:18: error: too many arguments to function ‘get_user_pages’ Package: virtualbox-dkms 6.1.38-dfsg-3~ubuntu1.22.04.1 PackageVersion: 6.1.38-dfsg-3~ubuntu1.22.04.1 SourcePackage: virtualbox Title: virtualbox-dkms 6.1.38-dfsg-3~ubuntu1.22.04.1: virtualbox kernel module failed to build
之后我试着升级到VirtualBox 7.0版本,结果还是失败了,具体报错信息如下:
julio@Spike:~/Downloads$ sudo apt-get install virtualbox-7.0 Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: kbuild libgsoap-2.8.117 liblzf1 module-assistant virtualbox-source Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: virtualbox-7.0 0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded. 3 not fully installed or removed. Need to get 92,7 MB of archives. After this operation, 222 MB of additional disk space will be used. Get:1 https://download.virtualbox.org/virtualbox/debian jammy/contrib amd64 virtualbox-7.0 amd64 7.0.12-159484~Ubuntu~jammy [92,7 MB] Fetched 92,7 MB in 2s (41,2 MB/s) Preconfiguring packages ... (Reading database ... 276471 files and directories currently installed.) Preparing to unpack .../virtualbox-7.0_7.0.12-159484~Ubuntu~jammy_amd64.deb ... Unpacking virtualbox-7.0 (7.0.12-159484~Ubuntu~jammy) ... Setting up libqt5x11extras5:amd64 (5.15.3-1) ... Setting up virtualbox-7.0 (7.0.12-159484~Ubuntu~jammy) ... addgroup: The group `vboxusers' already exists as a system group. Exiting. Setting up libsdl-ttf2.0-0:amd64 (2.0.11-6) ... Setting up virtualbox-dkms (6.1.38-dfsg-3~ubuntu1.22.04.1) ... Removing old virtualbox-6.1.38 DKMS files... Deleting module virtualbox-6.1.38 completely from the DKMS tree. Loading new virtualbox-6.1.38 DKMS files... Building for 6.5.0-14-generic Building initial module for 6.5.0-14-generic ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash' Error! Bad return status for module build on kernel: 6.5.0-14-generic (x86_64) Consult /var/lib/dkms/virtualbox/6.1.38/build/make.log for more information. dpkg: error processing package virtualbox-dkms (--configure): installed virtualbox-dkms package post-installation script subprocess returned error exit status 10 Processing triggers for desktop-file-utils (0.26-1ubuntu3) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for gnome-menus (3.36.0-1ubuntu3) ... Processing triggers for libc-bin (2.35-0ubuntu3.6) ... Processing triggers for shared-mime-info (2.1-2) ... Processing triggers for mailcap (3.70+nmu1ubuntu1) ... Errors were encountered while processing: virtualbox-dkms E: Sub-process /usr/bin/dpkg returned an error code (1)
现在我实在没辙了,有没有朋友能给我一些解决思路或者具体的方案呀?
备注:内容来源于stack exchange,提问作者julio
相关产品推荐
相关产品推荐

