74

I have installed VirtualBox through the software centre, but when I try to start a VM, I get the following error:

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

I already updated my dkms and installed linux-headers, but this /etc/init.d/vboxdrv doesn't exist.

I have been googling but I can't find an answer.

Flyk
  • 1,480
Dr_Bunsen
  • 4,713
  • 4
  • 28
  • 40
  • 1
    like others said, reinstall "virtualbox-dkms" – Shaharil Ahmad Sep 09 '13 at 13:02
  • This happened to me after kernel update (ubuntu). For me it was just: "sudo apt-get install virtualbox". Installation process created kernel module for me. – Michael Jun 18 '15 at 10:21
  • The original post regards 12.10. If you are having this problem for 14.04, which may be more likely at the time of writing, use virtualbox.org instead of the one in Ubuntu Software Centre. The doc has long winded instructions but the following link is a shorter read. If you ignore the part about HTTPS then it is brief. https://virtualbox.org/wiki/Linux_Downloads – H2ONaCl Sep 26 '15 at 15:06
  • 1

10 Answers10

132

I also encountered this issue several times once I upgrade my linux kernel.

What I did:

sudo apt-get install linux-headers-`uname -r`

Reconfigure dkms and load module:

sudo dpkg-reconfigure virtualbox-dkms  
sudo modprobe vboxdrv

Then VirtualBox works. No computer reboot needed.

Erk
  • 145
Jason Zhu
  • 1,329
  • 1
    Just install the linux-headers as you pointed out, then sudo ./etc/init.d/vboxdrv setup will take care of updating dkms. – Garrett Fogerlie Jan 20 '13 at 06:53
  • 1
    modprobe vboxdrv Tells me: FATAL: Module vboxdrv not found. – Benjamin Crouzier Mar 07 '13 at 09:03
  • @pinouchon Did dpkg-reconfigure virtualbox-dkms output any error messages? – cmc Apr 03 '13 at 21:11
  • 3
    I have to to this every few weeks or so, it seems, as I upgrade my system. Any way to get it permanently fixed? – Will Sep 05 '13 at 08:35
  • @GarrettFogerlie Maybe in your case it worked, but the OP clearly specifies that he already installed the headers, so I assume you didn't read the question. – Nabil Kadimi Nov 21 '13 at 13:45
  • sudo dpkg-reconfigure virtualbox-dkms – Onimusha Dec 17 '13 at 15:55
  • Osm, worked like charm :D Thank you so0o much – Ravi Dhoriya ツ Mar 21 '14 at 07:39
  • sudo /etc/init.d/vboxdrv setup didn't work for me (it was what VirtualBox suggested when it failed to restart a saved VM). dpg-reconfigure followed by modprobe did. (12.04 LTS, VirtualBox 4.1.12) – armb Mar 25 '14 at 18:10
  • This got my vm starting, but with a network failure. After I do these steps I also need to sudo modprobe vboxnetflt – Stephen Jul 21 '14 at 02:47
  • your answer is perhaps the most handy answer on the entire SE network to me, I've been using these commands, at least 4 times in the last 2 weeks – Lynob Nov 20 '14 at 20:49
  • On 2015.04 I get /usr/sbin/dpkg-reconfigure: virtualbox-dkms is not installed – Nicolas Raoul Sep 07 '15 at 00:27
  • Just executing sudo apt-get install virtualbox-dkms works for me. – Searene Dec 01 '15 at 12:31
  • I had the same problem on Manjaro 17. sudo modprobe vboxdrv solves the problem. More info on https://wiki.archlinux.org/index.php/VirtualBox#Install_the_core_packages – kyb Oct 16 '17 at 20:47
12

Here's EXACTLY how to do it on 12.10:

Make sure there are no traces of dkms, (virtualbox/ virtualbox-4.2), linux generic headers (..17):

***Replace virtualbox-4.2 with the version you have already installed. If you haven't installed it yet then proceed to step 2.

  1. sudo apt-get purge virtualbox-4.2 dkms linux-headers-$(uname -r)
  2. sudo apt-get install linux-headers-$(uname -r)
  3. sudo apt-get install virtualbox-4.2

You MUST install the linux headers BEFORE virtualbox otherwise the VBox installation will error when trying to set up the vboxdrv section because the linux headers aren't installed.

HankHendrix
  • 151
  • 1
  • 4
  • Thanks but when I download virtualbox directly from the site, I don't have to do anything but 'sudo dpkg -i virtualbox.deb'. Less work. – Dr_Bunsen Jan 08 '13 at 15:32
  • then you are lucky! if you should need to mess about with linux headers at all then it's important to install them before virtualbox – HankHendrix Jan 08 '13 at 20:43
  • Worked for me, afters hours of frustration. I am running ubuntu 12.04. – Benjamin Crouzier Mar 07 '13 at 09:17
  • This method worked for me. Downloading directly from the site did not. Basically, the headers is what's missing it seems. After installing the headers, as described above, I just installed vbox normally through the software centre. – Andre Apr 15 '13 at 12:02
  • Nice one Andre! – HankHendrix Apr 15 '13 at 17:09
  • I used "sudo apt-get install virtualbox" and it worked great. thanks – biomed Oct 03 '13 at 15:19
9

Reinstall "virtualbox-dkms"

sudo apt-get install --reinstall virtualbox-dkms

It worked for me.

VedVals
  • 3,471
6

Should peruse /var/log/vbox-install.log file to determine the issue. If the problem persists, you may want to download and install the latest v4.2.2 version directly from https://www.virtualbox.org/wiki/Downloads (for kernel 3.6.* and below). Good luck.

3

I had the same problem and I solved with the installation of the kernel headers.

sudo apt-get install linux-headers-`uname -r`

After the installation of the headers, DKMS was set-up properly and Virtualbox just worked after a reboot.

Still, there is no vboxdrv in /etc/init.d.

Note: the package I initially installed was virtualbox (non ose):

sudo apt-get install virtualbox
Vincenzo Pii
  • 1,839
  • Thanks, tried this before posting my question, but it didnt work. The answer I selected as "The answer" is selected because the install from the site worked, and I would not have thought of it, since I thought it were the same files. – Dr_Bunsen Oct 27 '12 at 20:49
  • 1
    @Dr_Bunsen No problem :)! Installing the headers and rebooting worked for me, but maybe I had some other packages installed that made the difference (even if I installed vbox as one of the first packages after a clean installation of 12.10). – Vincenzo Pii Oct 28 '12 at 08:40
1

I'm on Ubuntu 12.04 64-bit and encountered exactly this problem. I did all the recommended stuff listed here (uninstall, re-install headers, dkms, etc) and still couldn't get it to work.

What finally worked was going to the virtualbox website (https://www.virtualbox.org/wiki/Linux_Downloads), downloading the package and installing it via:

sudo dpkg -i virtualbox-4.2_4.2.10-84104~Ubuntu~precise_amd64.deb

Then I ran:

sudo /etc/init.d/vboxdrv setup

And it worked like a charm.

andy u
  • 118
  • top most answer says the exact same thing. Thanks anyway – Dr_Bunsen Apr 11 '13 at 18:06
  • 1
    Just re-read the first post and you're right. But i had like 3 or 4 tabs open researching for the answer so I was skimming through posts and trying things out and I think I was mildly frustrated so I missed the second part of his answer. Anyway, I also posted this as a more thorough instruction for the beginner (like me) who can't remember simple stuff like how do I install a .deb package. Cheers :) – andy u Apr 12 '13 at 22:24
1

With Ubuntu 12.04 I was not able to solve it via standard repositories. I had to download Virtualbox from its website and use version 4.3

0

VirtualBox Installation

Open the terminal and issue these commands for Ubuntu 12.10/Linux Mint:

echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

sudo apt-get update

sudo apt-get install dkms virtualbox-4.2

Web: http://www.upubuntu.com/2012/10/virtualbox-424-released-ppa.html

jafan
  • 247
0

what i found instead is that if you run

# modprobe vboxdrv

before running virtualbox, you will not have that sign

so I just add

 vboxdrv 

in /

 /etc/modules

which is equivalent to run

  'modprobe vboxdrv' 

after system start

  • Bad advice.. This is handeled by the /etc/init.d/virtualbox script. Adding it here makes it redundant and harder to maintain and manage. – Evan Carroll Apr 19 '15 at 06:07
0

1) If you have not yet installed DKMS run this command

sudo apt-get install virtualbox-dkms

If is already installed resintallation should fix the problem

sudo apt-get install --reinstall virtualbox-dkms

2) After the (re)installation process you should see something similar to this


vboxnetflt.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.5.0-61-generic/updates/dkms/

vboxpci.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.5.0-61-generic/updates/dkms/

depmod.........

DKMS: install completed. * Stopping VirtualBox kernel modules [ OK ] * Starting VirtualBox kernel modules [ OK ] Setting up virtualbox-qt (4.1.12-dfsg-2ubuntu0.10) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place


3) Close VirtualBox and wait for at least 10 seconds for the daemon to shutdown.

4) Open VirtualBox again and Start the machine, it should be fixed