/etc/grub.d/09_lowlatency und /etc/grub.d/10_linux doppelte Liste des Kernels

/etc/grub.d/09_lowlatency und /etc/grub.d/10_linux doppelte Liste des Kernels

Installieren Sie in einem neuen Ubuntu-Studio 14.04 sudo apt-get install linux-generic.

Dann gibt Ihnen grub-mkconfig ein Menü wie folgt

Ubuntu (geringe Latenz)
Ubuntu
Erweiterte Optionen für Ubuntu

Ein kurzer Blick mit der Taste 'e' zeigt, dass sowohl Ubuntu (lowlatency) als auch Ubuntu auf

linux /boot/vmlinuz-3.13.0-24-lowlatency

Sie können das Problem umgehen, indem Sie den gewünschten Kernel im Menü „Erweiterte Optionen für Ubuntu“ auswählen.

Wie können wir /etc/grub.d/09_lowlatency und /etc/grub.d/10_linux reparieren, damit sie nicht denselben Standardkernel auswählen?

Relevanter Menüeintrag in /boot/grub/grub.cfgvon/etc/grub.d/09_lowlatency

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
}

Und der Menüeintrag in /boot/grub/grub.cfgvon/etc/grub.d/10_linux

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
}

Ja, ich versichere Ihnen, dass ich einen normalen Kernel installiert habe:

$ 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

Antwort1

  1. /etc/grub.d/10_linuxZur Bearbeitung geöffnet

  2. Suchen Sie nach einer Kernel-Listenschleife:

    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. ifKlausel zum Überspringen lowlatencyvon Kerneln hinzufügen

    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-Liste aktualisieren

    sudo update-grub2
    

Antwort2

Im Eintrag von „/etc/grub.d/10_linux“ gibt es diese Zeilen.

 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

Ich glaube, wenn Sie beide Instanzen von „lowlatency“, wie in diesen Zeilen zu lesen, in „generic“ ändern, können Sie das Problem lösen. Wenn Sie können, melden Sie sich mit den Ergebnissen zurück. Einen solchen Fall habe ich noch nie erlebt.

verwandte Informationen