When I tried to start a new session of my virtual machine, I got an error saying: Failed to open a session for the virtual machine miniWin7.
And another message saying: The VirtualBox Linux kernel driver is either not loaded or not setup correctly. Please reinstall virtualbox-dkms package and load the kernel module by executing: 'modprobe vboxdrv' as root.
I tried sudo modprobe vboxdrv
but the command fails. Then I removed the package virtualbox-dkms
and reinstalled it. At the end of the re-installation process, the following message appears in the Synaptic Package Manager
: E: virtualbox-dkms: installed virtualbox-dkms package post-installation script subprocess returned error exit status 10
.
I also tried the solution offered in this link: Ubuntu 16.04: VirtualBox Error: Kernel driver not installed (rc=-1908)
After I entered the command sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms
, it fails with message E: Internal Error, No file name for virtualbox-dkms:amd64
.
How can I fix this issue and get the virtual machines working again?
UPDATE 01:
The answer Virtualbox 6 stopped working After kernel upgrade in Ubuntu 22.04 in the link pointed to by @Terrance
in the comments helps fix the virtual machines run again. The only extra command I had to run is sudo systemctl stop virtualbox.service
before running sudo apt-get install virtualbox-7.0
. The installation process ran with an error status of 1 which was due to the error in configuration of the virtualbox-dkms
package.
e0[0:0] $
e0[0:0] $ 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 to upgrade, 1 to newly install, 0 to remove and 4 not to upgrade.
6 not fully installed or removed.
Need to get 0 B/92.7 MB of archives.
After this operation, 222 MB of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 298289 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 libqt5sql5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5xml5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
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
Setting up libqt5sql5-sqlite:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5help5: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.
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 man-db (2.10.2-1) ...
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)
e100[0:45] $
UPDATE 02:
The answer Virtualbox 6 stopped working After kernel upgrade in Ubuntu 22.04 fixed the virtual machines not starting, but the configuration of virtualbox-dkms
package still fails every time I update the computer. The last update log:
e0[0:0] $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
gjs libgjs0g
0 to upgrade, 0 to newly install, 0 to remove and 2 not to upgrade.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
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! 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
Errors were encountered while processing:
virtualbox-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
e100[0:21] $
The contents of /var/lib/dkms/virtualbox/6.1.38/build/make.log
:
DKMS make.log for virtualbox-6.1.38 for kernel 6.5.0-14-generic (x86_64)
Monday 15 January 2024 05:00:54 PM +0545
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/alloc-r0drv.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/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;
| ^~
/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'
How to fix this 'virtualbox-dkms
failing to configure' problem?
virtualbox-dkms
,dkms
were required to be able to start virtual machines accross reboots AFAIK. Perhaps those had something to do with building of VirtualBox Linux Kernel driver? However, it now seems that these packages are no longer necessary to be able to use virtual machines across reboots. I can still run them aftersudo apt-get purge virtualbox-dkms dkms
. – rusty Jan 15 '24 at 12:01