Oracle VirtualBox is my go to solution to efficiently and quickly test different Linux and Unix operating systems. It is one of the easiest and simplest virtualization software. Today, I upgraded to Oracle VirtualBox 6.1.16 in my Ubuntu desktop. When starting a VM, I encountered with this error -
Failed to load ring-0 module VBoxEhciR0.r0 for device usb-ehci (VERR_SYMBOL_VALUE_TOO_BIG).
Here is the full error meesage:
Failed to load R0 module /usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/linux.amd64/VBoxEhciR0.r0: RTLdrGetBits failed (VERR_SYMBOL_VALUE_TOO_BIG). Failed to load ring-0 module 'VBoxEhciR0.r0' for device 'usb-ehci' (VERR_SYMBOL_VALUE_TOO_BIG).
I won't say VirtualBox works just fine all the time. I had a few issues now and then. But they are easily solvable. The above error message is new to me. It seems like Virtualbox is unable to load a ring-0 module named
VBoxEhciR0.r0 for the USB interface.
The root cause of "Failed to load R0 module" error could be the mismatch in the virtualbox version and extension pack version. Let us see how to troubleshoot this problem in Linux.
How To Fix "Failed to load ring-0 module VBoxEhciR0.r0 for device usb-ehci" Error in VirtualBox
To solve the error "Failed to load ring-0 module VBoxEhciR0.r0 for device usb-ehci", first make sure the version of extension pack matches with Virtualbox's version. Please note that the version need not to be exactly same. The extension pack version should be the latest available (either same as or greater than the virtualbox) version.
To check Virtualbox version from commandline, run:
$ VBoxManage --version
Or use lowercase letters:
$ vboxmanage --version 6.1.16_Ubuntur140961
Let us check extension pack version:
$ vboxmanage list extpacks
Extension Packs: 2 Pack no. 0: VNC Version: 6.1.16 Revision: 140961 Edition: Description: VNC plugin module VRDE Module: VBoxVNC Usable: true Why unusable: Pack no. 1: Oracle VM VirtualBox Extension Pack Version: 6.1.6 Revision: 137129 Edition: Description: Oracle Cloud Infrastructure integration, USB 2.0 and USB 3.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption, NVMe. VRDE Module: VBoxVRDP Usable: true Why unusable:
There it is! The extension pack version is different from the Virtualbox version. In my case, Virtuabox version is 6.1.16 and the extension pack version is 6.1.6, which is bit older version.
As I already mentioned, you need to update Extension pack version to latest available version in-order to solve the "Failed to load R0 module" error in Virtualbox.
Download the latest Extension pack version from the Virtualbox downloads page. Go to the download location and run the following command to install virtualbox extension pack in Linux:
$ sudo vboxmanage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-6.1.18.vbox-extpack
The above command will install the new Extension pack even if an older version already exists.
Once the installation is completed, check the Virtualbox and Extension pack version to see if they matches.
Well, they are almost same. Restart Oracle Virtualbox manager (if it is already open). You can now able to start virtual machines without any issues.
If the aforementioned steps still doesn't fix this issue, open the Virtual machine's Settings window. Go to USB section and downgrade the USB controller to USB 1.1 (OHCI).
Virtual machines should probably start now.
- How To Fix “Kernel driver not installed (rc=-1908)” VirtualBox Error In Ubuntu
- Solve “Result Code: NS_ERROR_FAILURE (0x80004005)” VirtualBox Error In Arch Linux
- VirtualBox Error – Cannot register the DVD image because UUID already exists
- Fix “hard disk with UUID already exists” Issue In VirtualBox
- Solve “Cannot change group vboxusers for device /dev/vboxdrv” Virtualbox Error
- Virtualbox Guru Meditation Critical Error In Linux