How to Switch to a Generic Kernel in Headless Ubuntu Server 12.04

grub2kernelvirtualbox

I just got a dedicated server with Ubuntu 12.04 installed with a custom compiled kernel. Since I would like to install VirtualBox and this custom kernel doesn't support dynamic module loading (for security) I need to change the kernel.

I'm running some Ubuntu servers for years but never played with grub and a headless computer.

When the command update-grub is run it shows the different kernel it finds.
Here is what I see

Generating grub.cfg ...
Found linux image: /boot/bzImage-3.2.13-xxxx-grs-ipv6-64
Found linux image: /boot/vmlinuz-3.2.0-34-generic
Found initrd image: /boot/initrd.img-3.2.0-34-generic
  No volume groups found
done

The first one is the active one as seen with uname -r. To me it looks like the second kernel is the one I should use. But I don't know how to configure grub2 to use it.

The computer is also configured with a software RAID using mdadm I guess. Never used that before. I don't know if playing with the grub of changing kernel could brake this.

What must I do to set the generic kernel as the default one so that I can get VirtualBox running.

Best Answer

To change the default menu entry from a terminal:

  1. Obtain the existing menuentry choice number (starting from 0) run the following from the terminal: grep menuentry /boot/grub/grub.cfg
  2. Now open /etc/default/grub as root then update GRUB_DEFAULT to the corresponding menuentry number.
  3. Run sudo update-grub
  4. Reboot !