/etc/grub.d/09_lowlatency和/etc/grub.d/10_linux双列表内核

在一个新的ubuntu-studio 14.04安装sudo apt-get install linux-generic。

然后grub-mkconfig将为您提供一个菜单

 Ubuntu(低端)
 Ubuntu的
 Ubuntu的高级选项

快速查看“e”键将显示Ubuntu(lowlatency)和Ubuntu都指向

 linux /boot/vmlinuz-3.13.0-24-lowlatency

解决方法是,您可以在“Ubuntu的高级选项”菜单中选择所需的内核。

我们如何修复/etc/grub.d/09_lowlatency和/etc/grub.d/10_linux以便它们不会选择相同的默认内核?

来自/etc/grub.d/09_lowlatency /boot/grub/grub.cfg相关菜单选项

 menuentry 'Ubuntu (lowlatency)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0f6e1051-cf9f-4299-b691-76d0d8c532d1' { 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 0f6e1051-cf9f-4299-b691-76d0d8c532d1 else search --no-floppy --fs-uuid --set=root 0f6e1051-cf9f-4299-b691-76d0d8c532d1 fi linux /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.13.0-24-lowlatency } 

来自/etc/grub.d/10_linux /boot/grub/grub.cfg的菜单项

 menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0f6e1051-cf9f-4299-b691-76d0d8c532d1' { 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 0f6e1051-cf9f-4299-b691-76d0d8c532d1 else search --no-floppy --fs-uuid --set=root 0f6e1051-cf9f-4299-b691-76d0d8c532d1 fi linux /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.13.0-24-lowlatency } 

是的我向你保证我安装了正常的内核:

 $ ls -l /vmlinuz* lrwxrwxrwx 1 root root 30 May 5 20:37 /vmlinuz -> boot/vmlinuz-3.13.0-24-generic lrwxrwxrwx 1 root root 33 May 2 20:25 /vmlinuz.old -> boot/vmlinuz-3.13.0-24-lowlatency 

  1. 打开/etc/grub.d/10_linux进行编辑

  2. 寻找内核列表循环:

     machine=`uname -m` case "x$machine" in xi?86 | xx86_64) list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi done` ;; *) list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi done` ;; esac 
  3. 添加if子句以跳过lowlatency内核

     machine=`uname -m` case "x$machine" in xi?86 | xx86_64) list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do if [ -z "${i##*lowlatency}" ] ; then continue ; fi if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi done` ;; *) list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do if [ -z "${i##*lowlatency}" ] ; then continue ; fi if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi done` ;; esac 
  4. 更新Grub列表

     sudo update-grub2 

在“/etc/grub.d/10_linux”的条目中,有这些行。

  linux /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.13.0-24-lowlatency 

我相信如果您将这些行中读取的“lowlatency”实例更改为“generic”,您可以解决问题。 如果可以,请报告结果。 我之前没见过这样的案子。