GRUB_DEFAULT = _ funktioniert nicht richtig

GRUB_DEFAULT = _ funktioniert nicht richtig

Ich habe dieses Setup aufgrund eines Kernel-Upgrade-Fehlers durchgeführt:

GRUB_DEFAULT = 4

In/etc/default/grub

Als ich ausgeführt habe

sudo setup-grub

Es hat jedoch nicht geklappt. Meine gewünschte Version ist 4.2.0-16-generic, da 4.2.0-18 und 4.2.0-17 (die eigentlich nicht aufgeführt ist) nicht funktionieren. In der Liste ist 4.2.0-16 die 4.

Als es nicht funktionierte, habe ich Folgendes versucht:

GRUB_DEFAULT = "Advanced options for Ubuntu>Ubuntu, with Linux 4.2.0-16-generic"

Und

sudo setup-grub

es funktionierte jedoch immer noch nicht und öffnete eine nicht funktionierende Version des Kernels. Derzeit kann ich nur manuell über die erweiterten Optionen für Ubuntu auf 4.2.0-16 zugreifen, aber ich möchte, dass es automatisch geladen wird. Welche Lösung würden Sie mir empfehlen?

Die dpkg --list | grep linux-imageAusgaben:

ii  linux-image-extra-4.2.0-16-generic                          4.2.0-16.19                                amd64        Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-extra-4.2.0-17-generic                          4.2.0-17.21                                amd64        Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-extra-4.2.0-18-generic                          4.2.0-18.22                                amd64        Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-generic                                         4.2.0.18.20                                amd64        Generic Linux kernel image

als letzte 4 Ausgaben (nur welche für Ubuntu 15.10, das Kernel 4.2.0 enthält).

Antwort1

Sie müssen die IDs der entsprechenden submenuund menuentryZeilen verwenden.

Notiz "Erweiterte Optionen für Ubuntu" ist ein submenu, Sie müssen seine ID verwenden.

Laufengrep -E "^\\s*(menuentry|submenu) " /boot/grub/grub.cfg

Wenn die Ausgabe beispielsweise folgendermaßen lautet:

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-140-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-140-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-init-upstart-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-140-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-recovery-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-101-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-101-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-init-upstart-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
        menuentry 'Ubuntu, with Linux 4.4.0-101-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-recovery-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {

Die richtige Einstellung wäre:

GRUB_DEFAULT="gnulinux-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76>gnulinux-4.4.0-101-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76"

Beachten Sie, dass Sie auch eine 0-basierte Nummerierung verwenden können. Berücksichtigen Sie dabei jedoch die Untermenüeinträge:

GRUB_DEFAULT="1>3"

Vergiss nicht, update-grubam Ende zu laufen.

Antwort2

  1. Erstellen Sie eine Sicherungskopie Ihrer aktuellen Grub-Version.

    sudo cp /etc/default/grub /etc/default/grub.bak

  2. Öffnen Sie jetzt die Datei.

    sudo gedit /etc/default/grub

  3. Öffnen Sie ein weiteres Terminal und geben Sie ein:

    cat /boot/grub/grub.cfg | grep 4.2.0-16

    Sie werden eine Zeile wie diese sehen:

    Menüeintrag „Ubuntu, mit Linux 4.2.0-16-generic“ – Klasse Ubuntu – Klasse Gnu-Linux – Klasse Gnu – Klasse OS $Menüeintrag_ID_Option „gnulinux-4.2.0-18-generic-advanced-esx5367c-b4ug-19sd-v6j8-ty2hj01ui3kj“ {..........

  4. Kopieren Sie diese Zeile und fügen Sie sie ein:

BEARBEITET VON:

GRUB_DEFAULT = "gnulinux-4.2.0-16-generic-advanced-2e2221b2-b6c7-4553-815f-67afdc924a98"

BEARBEITET AUF:

GRUB_DEFAULT ="gnulinux-advanced-2e2221b2-b6c7-4553-815f-67afdc924a98>gnulinux-4.2.0-16-generic-advanced-2e2221b2-b6c7-4553-815f-67afdc924a98"

  1. Speicher die Datei.

  2. Geben Sie nun den folgenden Befehl ein:

    sudo update-grub

Antwort3

OK! Ich habe die Lösung gefunden. Ich musste ein PPA mit Grub-Customizer verknüpfen.

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

Dann habe ich:

sudo apt-get update

Der nächste Schritt ist

sudo apt-get install grub-customizer

Danach öffne ich den Grub-Customizer über Unity Dash, wähle dort den gewünschten Kernel aus und tada!:)

Antwort4

Kleine Bash-Funktion zum Auflisten aller Ubuntu-Kernel, die zum Einfügen in geeignet GRUB_DEFAULTsind/etc/default/grub

 MENUID=$( grep -E "^\\s*(submenu) " /boot/grub/grub.cfg  | grep -oP "gnuli.*(?=')"    )
grep '(?<=menuentry_id_option ).gnuli\S+' /boot/grub/grub.cfg  -Po | \
    sed "s@'@@g" |grep -vE 'recovery|simple|gnulinux-advanced' | sed "s@^@GRUB_DEFAULT=\"${MENUID}>@; s@\$@\"@"

Ausgabe:

GRUB_DEFAULT="gnulinux-advanced-20dfee37-ad84-49b2-8c69-a54699da855d>gnulinux-6.6.10-usb2-advanced-20dfee37-ad84-49b2-8c69-a54699da855d"
GRUB_DEFAULT="gnulinux-advanced-20dfee37-ad84-49b2-8c69-a54699da855d>gnulinux-5.15.0-35-generic-advanced-20dfee37-ad84-49b2-8c69-a54699da855d"

Wählen Sie dann einfach eines aus, fügen Sie es ein /etc/default/grubund führen Sie es aus update-grubund starten Sie neu.

verwandte Informationen