Wie kann ich mit einer älteren Kernelversion booten?

55

Der neueste Kernel verursacht Probleme mit meinem Sound, was mit einer älteren Version gut funktioniert hat. Da ich nur Ubuntu installiert habe, wird Grub beim Booten nicht angezeigt. Wie kann ich meine Kernelversion beim Booten manuell auswählen?

Shahe Tajiryan
quelle

Antworten:

58

Die einfachste Möglichkeit, Ihren Grub anzuzeigen, besteht darin, die SHIFTTaste beim Booten zu drücken und zu halten .

Alternativ können Sie Grub immer anzeigen, ohne einen bestimmten Kernel zu booten:

gksudo gedit /etc/default/grub

GRUB_TIMEOUTzu -1 wechseln und auskommentierenGRUB_HIDDEN_TIMEOUT

Beenden Sie mit dem Laufen

sudo update-grub
fossfreedom
quelle
5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Ich kommentierte GRUB_HIDDEN_TIMEOUTund setzteGRUB_TIMEOUT=0
acidghost
Um genau zu sein: GRUB_HIDDEN_TIMEOUT ist eine Umgebungsvariable, die gesetzt werden muss, wenn 'update-grub' ausgeführt wird.
Jonathan Hartley
1
@JonathanHartley GRUB_HIDDEN_TIMEOUTis defined in/etc/default/grub
wjandrea
20

Wenn Sie beim Booten die Shift-Taste gedrückt halten, wird das Grub-Menü angezeigt. Sie können jetzt eine ältere Kernelversion auswählen.

Informationen zum Auswählen eines älteren Kernels als Standardkernel finden Sie in diesem Beitrag

martin
quelle
2
In meinem Fall (Ubuntu 16.04) wurde die Schicht verlassen. Die rechte Schicht hat nicht funktioniert.
Bob
1
was ist, wenn die älteren kerne nicht in grub angezeigt werden (sie wurden entfernt)? Bedeutet dies, dass auf diese Kernel nicht zugegriffen werden kann?
Kalamalka Kid
1
Ich musste Flucht (anstatt Schicht) verwenden
Jonathan King
5

Während des Bootens, wenn GRUB mit Einträgen angezeigt wird, wählen Sie den zweiten Eintrag aus, dh Erweiterte Optionen für Ubuntu. Dort sehen Sie verschiedene ältere Kernelversionen, die zuvor installiert wurden. Sie können eine davon auswählen, die für Sie gut funktioniert. Andernfalls rufen Sie die Datei grub.cfg auf und fügen die erforderliche Kernelversion über dem aktuell installierten Kerneleintrag ein . In beide Richtungen funktioniert es

Suresh
quelle
3

Wenn Sie einige Kernel in Ihrem System haben, können Sie manuell festlegen, welche Kernel-Version gestartet werden soll:

  1. Starten Sie Ihren PC mit gedrückter Umschalttaste neu, um GRUB anzuzeigen, nachdem das BIOS gestartet wurde. Sie sehen so etwas wie: GRUB-Startseite

  2. Wählen Sie "Erweiterte Optionen für Ubuntu" und speichern Sie den Index dieser Menüzeile (Zählung beginnt bei 0). Auf dem Bild ist der Index 1

Wählen Sie den konkreten Kernel

  1. Wählen Sie den konkreten Kernel zum Booten und speichern Sie den Index dieser Menüzeile (Zählung beginnt bei 0). Auf dem Bild ist der Index des gewählten Kernels 2

  2. System starten. Diese Aktion gilt für einen Start auf einem konkreten Kernel. Wenn Sie immer von konkreten Kernel starten möchten, sollten Sie die nächsten Schritte ausführen:

4.1. Öffnen und bearbeiten Sie die GRUB-Setup-Datei:

sudo nano /etc/default/grub

4.2. Suchen Sie die Zeile GRUB_DEFAULT = ... (standardmäßig GRUB_DEFAULT = 0) und setzen Sie den Menüpfad in Anführungszeichen auf den konkreten Kernel (Menüindizes aus den Schritten 2 und 3 merken). In meinem System war der erste Index 1 und der zweite 2. Ich habe GRUB_DEFAULT eingestellt

GRUB_DEFAULT="1>2"

Datei speichern.

4.3. Aktualisieren Sie die GRUB-Informationen, um Änderungen zu übernehmen:

sudo update-grub

4.4. Nach dem Neustart booten Sie automatisch über den gewählten Menüpfad auf dem Kernel. Ein Beispiel auf meiner Maschine 1 -> 2

4.5. Überprüfen Sie die Kernel-Version nach dem Neustart:

uname -r

Jackkobec
quelle
2

Über die https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

Diese Einstellung legt fest, wie lange ein Bildschirm ohne das GRUB 2-Menü angezeigt wird. Während der Bildschirm leer ist, kann der Benutzer eine beliebige Taste drücken, um das Menü anzuzeigen.

Standardmäßig wird das Menü ausgeblendet, wenn nur ein Betriebssystem vorhanden ist. Wenn ein Benutzer mit nur Ubuntu das Menü anzeigen möchte, platzieren Sie ein # -Symbol am Anfang dieser Zeile, um die verborgene Menüfunktion zu deaktivieren.

Kernel downgraden : So führen Sie ein Downgrade des Kernels am 11.10 durch

Upgrade des Kernels: Wie kann ich den Kernel auf 3.1 upgraden?

user26687
quelle
1

Bitte installieren Sie den vorherigen Kernel mit dem folgenden Befehl:

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

Starten Sie dann neu. Sie werden aufgefordert, Ihren Kernel auszuwählen.

Paulo Arruda
quelle
1
  1. Drücken und halten Sie unmittelbar nach dem BIOS / UEFI-Begrüßungsbildschirm während des Startvorgangs im BIOS schnell die ShiftTaste, um das GNU GRUB-Menü aufzurufen. (Wenn Sie das Ubuntu-Logo sehen, haben Sie den Punkt verpasst, an dem Sie das GRUB-Menü aufrufen können.) Drücken Sie mit UEFI (möglicherweise mehrmals) die EscTaste, um zum GRUB-Menü zu gelangen. Manchmal ist der Begrüßungsbildschirm des Herstellers Teil des Windows-Bootloaders. Wenn Sie den Computer also einschalten, wird direkt der GRUB-Bildschirm angezeigt, und das Drücken von Shiftist nicht erforderlich .

  2. Wählen Sie im GRUB-Bildschirm Erweiterte Optionen für Ubuntu und drücken Sie Enter.

    Bildbeschreibung hier eingeben

  3. Ein neuer violetter Bildschirm mit einer Liste der Kernel wird angezeigt. Verwenden Sie die Tasten ↑ und ↓, um auszuwählen, welcher Eintrag markiert ist. Drücken Sie die Eingabetaste, um den ausgewählten Kernel zu booten, "e", um Befehle vor dem Booten zu bearbeiten, oder "c" für eine Befehlszeile. Drücken Sie Esc, um zum vorherigen Menü zurückzukehren.

    Bildbeschreibung hier eingeben

karel
quelle
1
Das Gleiche gilt für diese viel kürzere Antwort: askubuntu.com/a/584738/307523 Ihre Antwort geht noch viel weiter mit Screenshots und ShiftSchlüsseln, um Grub überhaupt aufzurufen .
WinEunuuchs2Unix
0

Jackkobecs Antwort beschreibt eine Methode zum Anzeigen grub.cfgund Scrollen durch den Quellcode, um eine Menünummer zu finden. Ein einfacher Weg ist mit diesem Skript :

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



Hinweis: In diesem Beispiel grub-menu.sh shortwurde das Skript aufgerufen. Der shortParameter unterdrückt diese Zeilen:

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

Bedientasten

Nachdem Sie durch die Einträge geblättert haben (Sie können das Mausrad oder die Pfeiltasten verwenden), drücken Sie Escape, um zur Befehlszeile zurückzukehren.

Wenn Sie Enterdie Associate Grub-Befehle für den Eintrag drücken, werden angezeigt:

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

Grub wird aktualisiert, um den vorherigen Kernel zu booten

Für jeden Menüeintrag gibt es eine Reihe von Grub-Befehlen. Die kompilierten Einträge werden alle in einer /boot/grub/grub.cfgDatei gespeichert .

In diesem Beispiel soll die Menünummer "1> 9>" als Standard festgelegt werden. Daher verwenden wir:

sudo -H gedit /etc/default/grub

und finde diese Zeile:

GRUB_DEFAULT=0

und ändere es so:

GRUB_DEFAULT="1>9"

Speichern Sie dann die Datei und führen Sie sie aus

sudo update-grub
WinEunuuchs2Unix
quelle