Jak mogę uruchomić ze starszej wersji jądra?


55

Najnowsze jądro powoduje problemy z moim dźwiękiem, który działał dobrze ze starszą wersją. Ponieważ mam tylko zainstalowany Ubuntu, Grub nie wyświetla się podczas uruchamiania. Jak mogę ręcznie wybrać wersję jądra podczas uruchamiania?

Odpowiedzi:


58

Najprostszym sposobem wyświetlenia Grub jest naciśnięcie i przytrzymanie SHIFTprzycisku podczas uruchamiania.

Alternatywnie, zawsze możesz wyświetlić Grub bez uruchamiania konkretnego jądra:

gksudo gedit /etc/default/grub

zmień GRUB_TIMEOUTna -1 i skomentujGRUB_HIDDEN_TIMEOUT

zakończ biegiem

sudo update-grub

5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Skomentowałem GRUB_HIDDEN_TIMEOUTi ustawiłemGRUB_TIMEOUT=0
acidghost

Mówiąc wprost: GRUB_HIDDEN_TIMEOUT to zmienna środowiskowa, którą należy ustawić podczas uruchamiania programu „update-grub”?
Jonathan Hartley

1
@JonathanHartley GRUB_HIDDEN_TIMEOUTjest zdefiniowany w/etc/default/grub
wjandrea

20

Przytrzymanie klawisza Shift podczas uruchamiania spowoduje wyświetlenie menu Grub. Możesz teraz wybrać starszą wersję jądra.

Aby wybrać starsze jądro jako domyślne, zobacz ten post


2
W moim przypadku (Ubuntu 16.04) pozostało przesunięcie. Prawa zmiana nie działała.
Bob

1
co jeśli starsze jądra nie są wyświetlane w grub (zostały usunięte)? Czy to oznacza, że ​​te jądra nie są dostępne?
Kalamalka Kid

1
Musiałem użyć ucieczki (zamiast zmiany)
Jonathan King

5

Podczas uruchamiania, gdy pojawia się GRUB z wpisami, wybierz drugi wpis, tj. Zaawansowane opcje dla Ubuntu tam możesz zobaczyć różne starsze wersje jądra, które zostały wcześniej zainstalowane, możesz wybrać jedną z nich, która działa dobrze dla ciebie. W przeciwnym razie przejdź do grub.cfg i wklej wymaganą wersję jądra na aktualnie zainstalowaną pozycję jądra. Oba sposoby działają


3

Jeśli masz kilka jąder w swoim systemie, możesz ręcznie ustawić, która wersja jądra się uruchomi:

  1. Uruchom ponownie komputer, naciskając przycisk Shift, aby wyświetlić GRUB po uruchomieniu BIOS-u. Zobaczysz coś w rodzaju: Strona startowa GRUB

  2. Wybierz „Zaawansowane opcje dla Ubuntu” i zapamiętaj indeks tej linii menu (liczba zaczyna się od 0) Na indeksie obrazu jest 1

Wybierz konkretne jądro

  1. Wybierz konkretne jądro do rozruchu, a także zapamiętaj indeks tego wiersza menu (liczba zaczyna się od 0) Na obrazku indeks wybranego jądra to 2

  2. Uruchom system. Ta akcja dotyczy jednego rozruchu na konkretnym jądrze. Jeśli chcesz zacząć od konkretnego jądra przez cały czas, powinieneś zrobić następujące kroki:

4.1 Otwórz i edytuj plik instalacyjny GRUB:

sudo nano /etc/default/grub

4.2 Znajdź linię GRUB_DEFAULT = ... (domyślnie GRUB_DEFAULT = 0) i ustawia w cudzysłowie ścieżkę menu do konkretnego jądra (Pamiętaj indeksy menu z kroków 2 i 3). W moim systemie pierwszy indeks wynosił 1, a drugi 2. Ustawiłam na GRUB_DEFAULT

GRUB_DEFAULT="1>2"

Zapisz plik.

4.3 Zaktualizuj informacje GRUB, aby zastosować zmiany:

sudo update-grub

4.4 Po ponownym uruchomieniu automatycznie uruchamiasz się na jądrze zgodnie z wybraną ścieżką menu. Przykład na mojej maszynie 1 -> 2

4.5 Sprawdź wersję jądra po ponownym uruchomieniu:

uname -r


2

Przez https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

To ustawienie określa, jak długo będzie wyświetlany ekran bez menu GRUB 2. Gdy ekran jest pusty, użytkownik może nacisnąć dowolny klawisz, aby wyświetlić menu.

Domyślnym zachowaniem jest ukrycie menu, jeśli obecny jest tylko jeden system operacyjny. Jeśli użytkownik posiadający tylko Ubuntu chce wyświetlić menu, umieść symbol # na początku tego wiersza, aby wyłączyć funkcję ukrytego menu.

Zredukuj jądro: Jak obniżyć jądro do wersji 11.10

Aktualizacja jądra: Jak mogę zaktualizować jądro do wersji 3.1?


1

Zainstaluj poprzednie jądro za pomocą następującego polecenia:

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

Następnie uruchom ponownie. Zostaniesz poproszony o wybranie jądra.


1
  1. Natychmiast po ekranie powitalnym BIOS / UEFI podczas uruchamiania systemu, szybko naciśnij i przytrzymaj Shiftklawisz, co spowoduje wyświetlenie menu GNU GRUB. (Jeśli zobaczysz logo Ubuntu, przegapiłeś punkt, w którym możesz wejść do menu GRUB.) Przy UEFI naciśnij (być może kilka razy) Escklawisz, aby przejść do menu GRUB. Czasami ekran powitalny producenta jest częścią programu ładującego system Windows, więc po włączeniu komputera przechodzi on bezpośrednio do ekranu GRUB, a następnie naciskanie nie Shiftjest konieczne.

  2. Na ekranie GRUB wybierz Zaawansowane opcje dla Ubuntu i naciśnij Enter.

    wprowadź opis zdjęcia tutaj

  3. Pojawi się nowy fioletowy ekran z listą jąder. Użyj klawiszy ↑ i ↓, aby wybrać, który wpis jest podświetlony. Naciśnij Enter, aby uruchomić wybrane jądro, „e”, aby edytować polecenia przed uruchomieniem, lub „c” dla wiersza poleceń. Naciśnij klawisz Esc, aby wrócić do poprzedniego menu.

    wprowadź opis zdjęcia tutaj


1
Chociaż jest taka sama jak ta o wiele krótsza odpowiedź: askubuntu.com/a/584738/307523 Twoja odpowiedź idzie o wiele dalej dzięki zrzutom ekranu i Shiftkluczowi do wywołania gruba.
WinEunuuchs2Unix

0

Odpowiedź Jackkobec opisuje metodę przeglądania grub.cfgi przewijania kodu źródłowego w celu znalezienia numeru menu. Łatwiej jest z tym skryptem :

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                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



Uwaga: W tym przykładzie grub-menu.sh shortużyto do wywołania skryptu. Ten shortparametr pomija następujące linie:

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

Klawisze sterujące

Po przewinięciu wpisów (możesz użyć kółka myszy lub klawiszy strzałek) naciśnij, Escapeaby powrócić do wiersza poleceń.

Jeśli naciśniesz Enterskojarzone polecenia grub dla wpisu, zostaną wyświetlone:

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

Aktualizacja gruba, aby uruchomić poprzednie jądro

Dla każdej pozycji menu istnieje zestaw komend grub. Skompilowane wpisy są przechowywane w /boot/grub/grub.cfgpliku.

W tym przykładzie chcemy, aby menu o numerze `1> 9> było ustawione jako domyślne, dlatego używamy:

sudo -H gedit /etc/default/grub

i znajdź tę linię:

GRUB_DEFAULT=0

i zmień to na:

GRUB_DEFAULT="1>9"

Następnie zapisz plik i uruchom

sudo update-grub
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.