VirtualBox used to work, now fails to start any VM

Hi all…

I’m not quite a Linux newbie, but this one has me stumped. Can anyone help me out here…

I want to run an old copy of Windows XP in a virtual box, under openSUSE:

The crazy thing is, this used to work! But now (I think after a kernel update), whenever I try to start any VM in VirtualBox, I get this error message (from VirtualBox itself, before it even tries to start a VM):


VERR_VM_DRIVER_OPEN_ERROR (rc=-1911)
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing /sbin/vboxconfig as root.

Well, the command sudo /sbinvboxconfig wants me to stop vboxdrv.service.
So I do “systemctl stop vboxdrv.service”…

<rkruse@suse:~$ sudo systemctl stop vboxdrv.service
[sudo] password for root:
rkruse@suse:~$

I.e. nothing happens.

Yes, the module appears to be loaded:
<rkruse@suse:~$ lsmod | grep vbox
vboxdrv 679936 1

Yes, I’m a member of the vboxusers group:
<rkruse@suse:~$ groups
rkruse vboxusers

I think there’s something wrong with vboxdrv. It seems to be loaded, but the command systemctl status vboxdrv.service then shows this ominous-looking message:


<rkruse@suse:~$ sudo systemctl status vboxdrv.service
[sudo] password for root:
○ vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; disabled; preset: disabled)
Active: inactive (dead) since Wed 2023-04-19 10:10:31 CDT; 30min ago
Process: 707 ExecStart=/usr/lib/virtualbox/vboxdrv.sh start (code=killed, signal=TERM)
Tasks: 1 (limit: 4652)
CPU: 653ms
CGroup: /system.slice/vboxdrv.service
└─886 /usr/sbin/modprobe vboxdrv

Apr 19 10:08:25 suse systemd[1]: Starting VirtualBox Linux kernel module…
Apr 19 10:08:26 suse vboxdrv.sh[707]: vboxdrv.sh: Starting VirtualBox services.
Apr 19 10:08:26 suse vboxdrv.sh[707]: /usr/lib/virtualbox/vboxdrv.sh: line 203: 876 Killed
Apr 19 10:08:26 suse vboxdrv.sh[878]: Kernel modules are loaded, unload them via
Apr 19 10:08:26 suse vboxdrv.sh[878]: systemctl stop vboxdrv.service if you wish to rebuild them.
Apr 19 10:08:26 suse vboxdrv.sh[878]: Quitting …
Apr 19 10:10:31 suse systemd[1]: vboxdrv.service: Deactivated successfully.
Apr 19 10:10:31 suse systemd[1]: vboxdrv.service: Unit process 886 (modprobe) remains running after
Apr 19 10:10:31 suse systemd[1]: Stopped VirtualBox Linux kernel module.


The clue is probably in here somewhere. If I do “systemctl start vboxdrv.service”, the result is another long timeout and the same status condition.

I’m at my wit’s end! Any suggestions as to what’s wrong, and to help me fix this?

Thanks!

-Richard

Most likely are these 2 problems

  1. You are not in group vboxusers - add youself and reboot to take effect.
  2. you are running secure boot in BIOS and this version of Virtualbox is not signed - turn off secureboot in the BIOS.

@larryr … the OP shows terminal output that their user account is in the group.

But yea, good to know for folks lurking this thread. :+1:

Yes, but did he reboot after putting it in the vboxusers - only seen at startup or after a logoff then login.

1 Like

OP here…

@larryr - thanx for the response, of course! Let me respond…

  1. Yes, I have rebooted after checking my group membership; several times in fact.

  2. My PC is so old that it’s never heard of ‘secure boot’. It has plain old MBR partitioning etc. (BTW this is a dual-boot system - SUSE + W10.)

…and my apologies for the poor formatting of my original post.

-Richard

What does this look like: I cannot see why it is failing unless you don’t have the Tumbleweed Virtualbox

# sudo zypper se -si virtualbox
Loading repository data...
Reading installed packages...

S  | Name                   | Type    | Version             | Arch   | Repository
---+------------------------+---------+---------------------+--------+------------------------
i+ | virtualbox             | package | 7.0.6-6.2           | x86_64 | openSUSE-Tumbleweed-Oss
i+ | virtualbox-kmp-default | package | 7.0.6_k6.2.10_1-6.3 | x86_64 | openSUSE-Tumbleweed-Oss
i+ | virtualbox-qt          | package | 7.0.6-6.2           | x86_64 | openSUSE-Tumbleweed-Oss

My install was
sudo zypper in virtualbox virtualbox-qt virtualbox-kmp-default

no other parts are needed on the host - if you install the extension pack from Oracle - that is ok
you do not want the guest parts on the host.

The correct command is
sudo /usr/sbin/vboxconfig

also I have the following:

lsmod | grep vbox
vboxnetadp 28672 0
vboxnetflt 40960 0
vboxdrv 679936 12 vboxnetadp,vboxnetfltsudo /usr/sbin/vboxconfig

Larryr:

Here it is:

<
rkruse@suse:~$ sudo zypper se -si virtualbox
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
—±-----------------------±--------±--------------------±-------±---------------------
i | python3-virtualbox | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox-devel | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox-guest-tools | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox-kmp-default | package | 7.0.6_k6.2.9_1-6.2 | x86_64 | (System Packages)
i+ | virtualbox-kmp-default | package | 7.0.6_k6.2.10_1-6.3 | x86_64 | Main Repository (OSS)
i | virtualbox-qt | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)

I’ll try removing the guest-tools, also the older kmp-default.

-Richard

No such luck. I’m down to:

<
rkruse@suse:~$ sudo zypper se -si virtualbox
[sudo] password for root:
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
—±-----------------------±--------±--------------------±-------±---------------------
i | python3-virtualbox | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox-devel | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)
i+ | virtualbox-kmp-default | package | 7.0.6_k6.2.10_1-6.3 | x86_64 | Main Repository (OSS)
i | virtualbox-qt | package | 7.0.6-6.2 | x86_64 | Main Repository (OSS)

…and just in case this gives you a clue:
<
rkruse@suse:~$ inxi -b
System:
Host: suse Kernel: 6.2.10-1-default arch: x86_64 bits: 64
Desktop: KDE Plasma v: 5.27.4 Distro: openSUSE Tumbleweed 20230418
Machine:
Type: Desktop Mobo: Gigabyte model: G41M-ES2L v: x.x
serial: BIOS: Award v: F9 date: 06/21/2010
CPU:
Info: dual core Intel Core2 Duo E7500 [MCP] speed (MHz): avg: 1600
min/max: 1600/2933
Graphics:
Device-1: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nvidia v: 525.105.17
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1 driver: X:
loaded: nvidia unloaded: fbdev,modesetting,vesa gpu: nvidia,nvidia-nvswitch
resolution: 1920x1080~60Hz
API: OpenGL v: 4.6.0 NVIDIA 525.105.17 renderer: NVIDIA GeForce GTX 750
Ti/PCIe/SSE2
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
driver: r8169
Drives:
Local Storage: total: 1.38 TiB used: 92.71 GiB (6.6%)
Info:
Processes: 174 Uptime: 0h 6m Memory: 3.82 GiB used: 1.82 GiB (47.7%)
Shell: Bash inxi: 3.3.23

(told you it’s an old system :wink:

-Richard

I would do a full removal of all virtualbox parts as the one that said (systems packages) is not compatible with the correct repo ones.

sudo zypper rm virtualbox*

after you do that all vbox modules should be gone - see below for what should be gone

reboot

just reinstall this

sudo zypper in virtualbox virtualbox-qt virtualbox-kmp-default

reboot

and see if virtualbox starts

=====================================================================================
Items that should have been removed in tumbleweed after zypper rm and should be there after the zypper in
(you may not have all the kernel versions if it is a new install)

sudo find /usr/lib -name vbox*
/usr/lib/modules/6.2.10-1-default/kernel/drivers/virt/vboxguest
/usr/lib/modules/6.2.10-1-default/kernel/drivers/virt/vboxguest/vboxguest.ko.zst
/usr/lib/modules/6.2.10-1-default/kernel/drivers/gpu/drm/vboxvideo
/usr/lib/modules/6.2.10-1-default/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko.zst
/usr/lib/modules/6.2.10-1-default/kernel/fs/vboxsf
/usr/lib/modules/6.2.10-1-default/kernel/fs/vboxsf/vboxsf.ko.zst
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxnetflt.ko
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxsf.ko
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxnetadp.ko
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxvideo.ko
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxguest.ko
/usr/lib/modules/6.2.10-1-default/weak-updates/extra/vboxdrv.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxnetflt.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxsf.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxnetadp.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxvideo.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxguest.ko
/usr/lib/modules/6.2.10-1-default/extra/vboxdrv.ko
/usr/lib/modules/6.2.9-1-default/kernel/drivers/virt/vboxguest
/usr/lib/modules/6.2.9-1-default/kernel/drivers/virt/vboxguest/vboxguest.ko.zst
/usr/lib/modules/6.2.9-1-default/kernel/drivers/gpu/drm/vboxvideo
/usr/lib/modules/6.2.9-1-default/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko.zst
/usr/lib/modules/6.2.9-1-default/kernel/fs/vboxsf
/usr/lib/modules/6.2.9-1-default/kernel/fs/vboxsf/vboxsf.ko.zst
/usr/lib/modules/6.2.9-1-default/extra/vboxnetflt.ko
/usr/lib/modules/6.2.9-1-default/extra/vboxsf.ko
/usr/lib/modules/6.2.9-1-default/extra/vboxnetadp.ko
/usr/lib/modules/6.2.9-1-default/extra/vboxvideo.ko
/usr/lib/modules/6.2.9-1-default/extra/vboxguest.ko
/usr/lib/modules/6.2.9-1-default/extra/vboxdrv.ko
/usr/lib/virtualbox/vboxdrv.sh
/usr/lib/virtualbox/vboxshell.py
/usr/lib/virtualbox/vboxautostart-service.sh
/usr/lib/virtualbox/vboximg-mount
/usr/lib/systemd/system/vboxdrv.service
/usr/lib/systemd/system/multi-user.target.wants/vboxdrv.service
/usr/lib/systemd/system/multi-user.target.wants/vboxautostart-service.service
/usr/lib/systemd/system/multi-user.target.wants/vboxweb-service.service
/usr/lib/systemd/system/vboxautostart-service.service

@oldksguy I don’t think that cpu has virtualization support, you need to check the BIOS to see if it’s an option. AFAIK if no option, then the newer versions (7.x) won’t work…

1 Like

Hmmm.

That Intel CPU’s release date was first quarter of 2009 (yes - 2009).

The Gigabyte motherboard, though I don’t see a release date at their site … except I do see a last BIOS update on 06/2010 … and shows that it’s certified for Windows 7 :frowning_with_open_mouth:

However, OP states VM used to work.

@myswtest, yes for earlier versions 6.x series Tumbleweed is using 7.x

1 Like

OP here… No joy.

I removed everything virtualbox, rebooted, reinstalled the 3 items that you mentioned, Larryr, and rebooted again.

Same error - “VERR_VM_DRIVER_OPEN_ERROR (rc=-1911)” when trying to start a VM. I can’t install a NEW VM to see if somehow it’s at fault, cuz Vbox won’t let me.

…and to repeat, my Wndows XP VM used to work, so my old CPU / MOBO apparently do support virtualization.

I think they stopped working after one of the SUSE kernel updates. (Can’t be sure, since I don’t use the VM every day.) inxi and neofetch both report “kernel 6.2.10-1-default”

Maybe another clue - note that I’m running an old Nvidia graphics board, and Nvidia drivers.

The solution may be simple, but in spite of reading everything I can find on this problem, I’m afraid I’m about to give up and move SUSE to the sidelines. I’ve already tried an install (on another drive) of Debian, and all VMs work fine there.

Anyway thanks to all who tried to help! All of your input is appreciated!

-Richard

@oldksguy use what works :wink: What version of vBox is in use on the other Distribution. Have an old nvidia gpu should not make a difference as your using a virtualized graphics driver.

Your prob lem shows in the dmesg output:
Apr 19 10:08:26 suse vboxdrv.sh[707]: /usr/lib/virtualbox/vboxdrv.sh: line 203: 876 Killed

That kills the systemd startup process before the VirtualBox processes are fully running. My problem is that line 203 of that script points to the opening brace of the start_drv() routine, and I have no idea how that could fail.

Sorry to see you go. Unfortunately, I just became aware of this issue. Some years ago, I was banished from this forum for insulting the intelligence os a poster, thus I do not read these items. You should have filed an issue at bugzille.opensuse.org. I do take care of those.

I asked the guru at Oracle about this - this is his response:

Hi Larry,

Probably vbox host modules were not loaded. When /usr/lib/virtualbox/vboxdrv.sh gets killed, first thing I would suspect is some SE Linux policy in place. Check “journalctl -b0”, it should mention it in this case.

To double-check if modules were not loaded, look at “lsmod | grep vbox” and “dmesg”.