Here are the simples patches i apply during the post install of my
Debian preseeded installations to prioritize VServer-Beng, Proxmox and
OpenVZ kernels (you just have to modify the egrep regex if you want to
match other kernels) to be put before the other ones when "grub-update"
is ran on the system and thus put at first on "/boot/grub/grub.cfg".
No need to mess anymore with the "GRUB_DEFAULT" on /etc/debian/grub-pc
nor to remove the Debian kernels if you dont want to have problems in
case you would use older VServer/Proxmox/OpenVZ kernels than the ones
from Debian.
As the kernel version comparison is made using "dpkg
--compare-versions", the trick is to simply add an epoch of "1:" before
the kernel version on the comparison variable on
"/usr/share/grub/grub-mkconfig_lib" (which is used by "update-grub).
The kernels with the epoch as a prefix will have an absolute priority
over the ones without it but the order between "prioritized ones" will
still be the same (newer VServer ones will be kept before older VServers
and before the newest non-VServer ones).
-- "grub-pc_vz-pmx_priority.diff" is for both Squeeze and Wheezy and "grub-pc_vz-pmx_priority.jessie.diff" is for Jessie, it might also work on Ubuntu but i havent tried it. How to apply : patch -d /usr/share/grub/ -p0 < grub-pc_vz-pmx_priority.diff update-grub Before : # update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.2.0-0.bpo.1-amd64 Found initrd image: /boot/initrd.img-4.2.0-0.bpo.1-amd64 Found linux image: /boot/vmlinuz-3.18.21-vs2.3.7.4-beng Found initrd image: /boot/initrd.img-3.18.21-vs2.3.7.4-beng Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 No volume groups found done _ _After : # update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.18.21-vs2.3.7.4-beng Found initrd image: /boot/initrd.img-3.18.21-vs2.3.7.4-beng Found linux image: /boot/vmlinuz-4.2.0-0.bpo.1-amd64 Found initrd image: /boot/initrd.img-4.2.0-0.bpo.1-amd64 Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 No volume groups found done