Primary Problem

I am unable to run any virtualization software. Namely Vmware or Virtualbox. Since both of them asks me to install (or produces some error which pints to ) installing build essentials and latest linux headers.

So my problem starts with the following problem

When I try to update using

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

What I get is

Reading package lists... Done Building dependency tree
Reading state information... Done Package linux-headers-3.13.0-45-generic is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source

E: Package 'linux-headers-3.13.0-45-generic' has no installation candidate

Header mismatch

When I try to determine what I have by running

apt-cache search linux-headers-

I get

Avalibale headers

I have tried most of the things that I could find in Google and nothing quite helped. Hence hoped to find some solution here.

  • 1
    You have tried apt-get update ?
    – squareborg
    Commented Feb 23, 2015 at 21:59
  • Yes. I did.Along with apt-get upgrade Commented Feb 23, 2015 at 23:50
  • Try apt-get dist-upgrade. Looks like you are stuck with an old kernel to me. Commented Feb 24, 2015 at 7:20
  • 1
    Did that. Didn't work. So apparently this problem starts when you upgrade from 14.04 to 14.10 using the upgrade tool. It works fine in 14.04 Commented Feb 26, 2015 at 0:16
  • What's the output of dpkg-query -l linux-generic\* linux-image\* and apt-cache policy linux-generic? It would be better to copy the output text instead of using screenshots. Commented Feb 26, 2015 at 18:02

4 Answers 4


13.13 seems to be an old kernel from trusty? Whereas 3.16 is the kernel shipped with utopic.

If you ran do-release-upgrade lately, and you still use the old kernel be advised that all your old repositories ( where the old kernel headers reside) are disabled/cleaned from /etc/apt.

Usually doing a release upgrade bumps the kernel minor by at least 2 versions ( from 3.13 to 3.16, and with vivi to 3.18).

You have 2 options at this point. Either go with the new kernel, and install the headers for that, and then rebuild missing drivers, or readd the repository list to apt from the old ubuntu distro, and install the missing headers.


I had a similar problem - could not run virtualbox VMs, and my installed kernel version seemed OLDER than my installed kernel header files. (but with different precise version numbers than in the question.) (I got in this state after upgrading from Ubuntu 14.04 to 14.10 and then to 15.04)

I discovered that in my GRUB menu on boot, under 'Additional options for Ubuntu', I can choose a newer kernel that matches my installed headers.

Choosing that menu entry, then booting, allowed me to follow the virtualbox documented process to recompile virtualbox kernel modules and then start my virtualbox VMs.

Next I tweaked my GRUB settings to make that kernel choice the default, as described here: http://statusq.org/archives/2012/10/24/4584/


Try to use sudo apt --fix-broken install



user283885 is offering good solutions.

I try other (previous) kernel. You may try a newer or previous kernel (from the ones available in the apt-cache list 3.16*).

Here is the test i made:

My actual kernel: 3.13.0-45-generic uname -a Linux pc-01 3.13.0-45-generic #74~precise1-Ubuntu SMP Thu Jan 15 20:21:55 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Reboot and select 3.13.0-44-generic (a previously installed kernel)

Then i install linux-headers-3.13.0-44-generic, virtualbox-4.3 and DKMS

After that i run the command to enable the driver /etc/init.d/vboxdrv setup

All works fine for me! (Thak you David Foerster. I try to make my post more easy to understand now).

  • 1
    -1 This won't help, because OP's system doesn't know any packages of the 3.13 kernel series (a part from the currently installed binary package). Commented Feb 26, 2015 at 17:46
  • If it's only for those drivers, and if anything else doesn't keep you from running the newer kernel, then I suggest fully go with the upgrade, because they have improved support for the virtualization subsytem (better bios/uefi detection, better IOMMU compatibility and so on). Running said command will build virtualbox drivers for the new kernel as well, if you boot into it.
    – user283885
    Commented Mar 6, 2015 at 16:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .