这里讲下GRUB_DEFAULT的配置,GRUB_DEFAULT表示了开机的时候的默认选项(包括二级菜单选项)。这边先盗个图说下内核顺序: 下面是一张GRUB的启动菜单 在配合一段grub的配置说明,如下: 意思就是一级菜单比如Ubuntu,with Linux 3.2.0-24-generic-pae、Ubunut,with Linux 3.2.0-24-generic-pae(recovery mode)、Previous Linux versions、Memory test(memtest86+)等等,一级菜单按照从0开始编号,如Ubuntu,with Linux 3.2.0-24-generic-pae对应0,Ubunut,with Linux 3.2.0-24-generic-pae(recovery mode)对应1,Previous Linux versions对应2,以此类推。对于二级菜单也是一样的道理,每个菜单项下的子菜单都是从0开始编号。 那么这里如果我要配置Previous Linux versions下的Ubuntu, with Linux 3.2.0-18-generic-pae,我们的内核顺序就应该是2>0,这里注意在填写GRUB_DEFAULT的时候一定要加上有引号,如:
1
GRUB_DEFAULT="2>0"
除了填写数字形式的内核顺序,还可以有其他的写法
1 2 3
GRUB_DEFAULT="Previous Linux versions>Ubuntu, with Linux 3.2.0-18-generic-pae" GRUB_DEFAULT="Previous Linux versions>0" GRUB_DEFAULT="2>Ubuntu, with Linux 3.2.0-18-generic-pae"
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5723676a-712c-4518-a288-feea52c251b0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 5723676a-712c-4518-a288-feea52c251b0 else search --no-floppy --fs-uuid --set=root 5723676a-712c-4518-a288-feea52c251b0 fi linux /boot/vmlinuz-3.19.0-25-generic root=UUID=5723676a-712c-4518-a288-feea52c251b0 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.19.0-25-generic } submenu 'Advanced options for Ubuntu'$menuentry_id_option 'gnulinux-advanced-5723676a-712c-4518-a288-feea52c251b0' { menuentry 'Ubuntu, with Linux 3.19.0-25-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-25-generic-advanced-5723676a-712c-4518-a288-feea52c251b0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 5723676a-712c-4518-a288-feea52c251b0 else search --no-floppy --fs-uuid --set=root 5723676a-712c-4518-a288-feea52c251b0 fi echo 'Loading Linux 3.19.0-25-generic ...' linux /boot/vmlinuz-3.19.0-25-generic root=UUID=5723676a-712c-4518-a288-feea52c251b0 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.19.0-25-generic } menuentry 'Ubuntu, with Linux 3.19.0-25-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-25-generic-recovery-5723676a-712c-4518-a288-feea52c251b0' { recordfail load_video insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 5723676a-712c-4518-a288-feea52c251b0 else search --no-floppy --fs-uuid --set=root 5723676a-712c-4518-a288-feea52c251b0 fi echo 'Loading Linux 3.19.0-25-generic ...' linux /boot/vmlinuz-3.19.0-25-generic root=UUID=5723676a-712c-4518-a288-feea52c251b0 ro recovery nomodeset echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.19.0-25-generic } menuentry 'Ubuntu, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-5723676a-712c-4518-a288-feea52c251b0' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 5723676a-712c-4518-a288-feea52c251b0 else search --no-floppy --fs-uuid --set=root 5723676a-712c-4518-a288-feea52c251b0 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=5723676a-712c-4518-a288-feea52c251b0 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic } menuentry 'Ubuntu, with Linux 3.13.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-recovery-5723676a-712c-4518-a288-feea52c251b0' { recordfail load_video insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 5723676a-712c-4518-a288-feea52c251b0 else search --no-floppy --fs-uuid --set=root 5723676a-712c-4518-a288-feea52c251b0 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=5723676a-712c-4518-a288-feea52c251b0 ro recovery nomodeset echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic } }
根据我这段从grub.cfg中摘取出来的菜单项,那么我的对应的菜单项为
1 2 3 4 5 6
|-----Ubuntu |-----Advanced options for Ubuntu |-----Ubuntu, with Linux 3.19.0-25-generic |-----Ubuntu, with Linux 3.19.0-25-generic (recovery mode) |-----Ubuntu, with Linux 3.13.0-24-generic |-----Ubuntu, with Linux 3.13.0-24-generic (recovery mode)