14.10: VirtualBox "No suitable module for running kernel found", Cannot Find Kernel Source

After the 14.10 update to VirtualBox, I can no longer run my boxes. Of note, running sudo service virtualbox status returns VirtualBox kernel module is not loaded and running sudo service virtualbox restart shows:

 * Stopping VirtualBox kernel modules                                    [ OK ] 
 * Starting VirtualBox kernel modules                                            
 * No suitable module for running kernel found
                                                                         [fail]

The VirtualBox GUI, when I try to run a box, pops up a dialog saying that I should run sudo /etc/init.d/vboxdrv setup, but there is no /etc/init.d/vboxdrv on my 14.10 installation.

This is reminiscent of this question. Per some of the answers, I tried uninstalling (with purge) and reinstalling VirtualBox. This did not help. However, I was unable to install:

linux-headers-`uname -r`

because there is no package named linux-headers-3.13.0-30-generic. I do have linux-headers-generic and linux-source installed, as well as dkms, but the reinstall still fails:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  vde2
The following NEW packages will be installed:
  virtualbox virtualbox-dkms virtualbox-qt
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.1 MB of archives.
After this operation, 87.6 MB of additional disk space will be used.
Selecting previously unselected package virtualbox.
(Reading database ... 253183 files and directories currently installed.)
Preparing to unpack .../virtualbox_4.3.18-dfsg-2ubuntu1_amd64.deb ...
Unpacking virtualbox (4.3.18-dfsg-2ubuntu1) ...
Selecting previously unselected package virtualbox-dkms.
Preparing to unpack .../virtualbox-dkms_4.3.18-dfsg-2ubuntu1_all.deb ...
Unpacking virtualbox-dkms (4.3.18-dfsg-2ubuntu1) ...
Selecting previously unselected package virtualbox-qt.
Preparing to unpack .../virtualbox-qt_4.3.18-dfsg-2ubuntu1_amd64.deb ...
Unpacking virtualbox-qt (4.3.18-dfsg-2ubuntu1) ...
Processing triggers for man-db (2.7.0.2-2) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.1+14.10.20140925-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
Processing triggers for mime-support (3.55ubuntu1.1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Setting up virtualbox (4.3.18-dfsg-2ubuntu1) ...
 * Stopping VirtualBox kernel modules                                    [ OK ] 
 * Starting VirtualBox kernel modules                                            
 * No suitable module for running kernel found
                                                                         [fail]
invoke-rc.d: initscript virtualbox, action "restart" failed.
Processing triggers for ureadahead (0.100.0-16) ...
Setting up virtualbox-dkms (4.3.18-dfsg-2ubuntu1) ...
Loading new virtualbox-4.3.18 DKMS files...
First Installation: checking all kernels...
Building only for 3.13.0-30-generic
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
 * Stopping VirtualBox kernel modules                                    [ OK ] 
 * Starting VirtualBox kernel modules                                            
 * No suitable module for running kernel found
                                                                         [fail]
invoke-rc.d: initscript virtualbox, action "restart" failed.
Setting up virtualbox-qt (4.3.18-dfsg-2ubuntu1) ...
Processing triggers for menu (2.1.47ubuntu1) ...

So... how do I get "kernel source for this kernel" (3.13.0-30-generic) or otherwise get VirtualBox to install properly?


Solution 1:

It seems like your upgrade from Ubuntu 14.04 to 14.10 broke something. You should have kernel version 3.16.0-30

Make sure that your /etc/apt/sources.list only contains entries with 'utopic' and not 'trusty'. Then make sure that following packages are installed, or install them if necessary:

apt-get install linux-generic linux-image-generic linux-headers-generic linux-signed-generic

After that you should be able to remove and re-install virtualbox and rebuild the kernel module.

Solution 2:

For those who might have same problem:

My system is Linux Mint 17.1 (which uses Ubuntu 14.04 Trusty repos).

I've tried to install VirtualBox with:

sudo apt-get install virtualbox

And eccountered same error.

Solution:

Uninstall bad version of VirtualBox with:

sudo apt-get purge virtualbox

Then get installer from https://www.virtualbox.org/wiki/Linux_Downloads and install deb package. Is says same version is in your repositories... but that way it works.