Bagaimana saya bisa boot dengan versi kernel yang lebih lama?

56

Kernel terbaru menyebabkan masalah dengan suara saya, yang bekerja dengan baik dengan versi yang lebih lama. Karena saya hanya menginstal Ubuntu, Grub tidak ditampilkan saat booting. Bagaimana saya bisa secara manual memilih versi kernel saya saat boot?

Shahe Tajiryan
sumber

Jawaban:

59

Cara paling sederhana untuk menampilkan Grub Anda adalah dengan menekan dan menahan SHIFTtombol saat boot.

Sebagai alternatif, Anda selalu dapat menampilkan Grub tanpa mem-boot kernel tertentu:

gksudo gedit /etc/default/grub

ubah GRUB_TIMEOUTke -1 dan beri komentarGRUB_HIDDEN_TIMEOUT

selesaikan dengan berlari

sudo update-grub
kebebasan fosil
sumber
5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Saya berkomentar GRUB_HIDDEN_TIMEOUTdan mengaturGRUB_TIMEOUT=0
acidghost
Sekadar eksplisit: GRUB_HIDDEN_TIMEOUT adalah variabel lingkungan yang perlu diatur saat menjalankan 'update-grub'?
Jonathan Hartley
1
@JonathanHartley GRUB_HIDDEN_TIMEOUTdidefinisikan dalam/etc/default/grub
wjandrea
20

Menekan tombol shift saat boot, akan menampilkan menu Grub. Anda sekarang dapat memilih versi kernel yang lebih lama.

Untuk memilih kernel lama sebagai kernel default, silakan lihat posting ini

martin
sumber
2
Dalam kasus saya (Ubuntu 16.04), itu bergeser. Pergeseran kanan tidak berhasil.
Bob
1
bagaimana jika kernel yang lebih lama tidak ditampilkan di grub (sudah dihapus)? Apakah ini berarti kernel ini tidak dapat diakses?
Kalamalka Kid
1
Saya harus menggunakan pelarian (alih-alih shift)
Jonathan King
6

Saat mem-boot ketika GRUB muncul dengan entri pilih entri kedua yaitu, Opsi lanjutan untuk Ubuntu di sana Anda dapat melihat versi kernel lama yang berbeda yang telah diinstal sebelumnya, Anda dapat memilih salah satu di antaranya yang berfungsi baik untuk Anda. Kalau tidak, Anda pergi ke grub.cfg dan rekatkan versi kernel yang diperlukan di atas entri kernel yang saat ini diinstal. Dalam kedua cara itu berhasil

Suresh
sumber
4

Jika Anda memiliki beberapa kernel di sistem Anda, Anda dapat mengatur secara manual versi kernel apa yang akan dimulai:

  1. Reboot PC Anda dengan menekan tombol Shift untuk menampilkan GRUB setelah BIOS akan mulai. Anda akan melihat sesuatu seperti: halaman mulai GRUB

  2. Pilih "Opsi lanjutan untuk Ubuntu" dan hafalkan indeks dari baris menu ini (hitungan dimulai dari 0) Pada indeks gambar adalah 1

Pilih Kernel beton

  1. Pilih kernel beton untuk boot dan juga hafal indeks dari baris menu ini (hitungan dimulai dari 0) Pada indeks gambar Kernel yang dipilih adalah 2

  2. Mulai sistem. Tindakan ini untuk satu boot pada kernel beton. Jika Anda ingin memulai dari Kernel beton sepanjang waktu, Anda harus melakukan langkah-langkah selanjutnya:

4.1. Buka dan edit file pengaturan GRUB:

sudo nano /etc/default/grub

4.2. Temukan baris GRUB_DEFAULT = ... (secara default GRUB_DEFAULT = 0) dan setel dalam lintasan menu kutip ke Kernel konkret (Ingat indeks menu dari langkah 2 dan 3). Dalam sistem saya, indeks pertama adalah 1 dan kedua adalah 2. Saya menetapkan ke GRUB_DEFAULT

GRUB_DEFAULT="1>2"

Menyimpan file.

4.3. Perbarui informasi GRUB untuk menerapkan perubahan:

sudo update-grub

4.4. Setelah reboot Anda secara otomatis boot pada Kernel dengan jalur menu yang dipilih. Contoh di mesin saya 1 -> 2

4.5. Periksa versi Kernel setelah reboot:

uname -r

Jackkobec
sumber
3

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

GRUB_HIDDEN_TIMEOUT = 0

Pengaturan ini menentukan berapa lama layar tanpa menu GRUB 2 akan ditampilkan. Ketika layar kosong, pengguna dapat menekan tombol apa saja untuk menampilkan menu.

Perilaku default adalah menyembunyikan menu jika hanya ada satu sistem operasi. Jika pengguna dengan hanya Ubuntu ingin menampilkan menu, letakkan simbol # di awal baris ini untuk menonaktifkan fitur menu tersembunyi.

Kernel Downgrade: Cara menurunkan Kernel pada 11.10

Tingkatkan kernel: Bagaimana saya bisa meningkatkan kernel ke 3.1?

pengguna26687
sumber
2

Silakan instal kernel sebelumnya dengan perintah berikut:

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

Kemudian reboot. Anda akan diminta untuk memilih kernel Anda.

Paulo Arruda
sumber
2
  1. Segera setelah layar splash BIOS / UEFI selama boot, dengan BIOS, tekan dan tahan Shifttombol dengan cepat, yang akan memunculkan menu GNU GRUB. (Jika Anda melihat logo Ubuntu, Anda melewatkan titik di mana Anda dapat masuk ke menu GRUB.) Dengan UEFI tekan (mungkin beberapa kali) Esckunci untuk menuju ke menu GRUB. Kadang-kadang layar splash pabrikan adalah bagian dari bootloader Windows, jadi ketika Anda menghidupkan mesin, langsung ke layar GRUB, dan kemudian menekan Shifttidak perlu.

  2. Dari layar GRUB pilih Opsi lanjutan untuk Ubuntu dan tekan Enter.

    masukkan deskripsi gambar di sini

  3. Layar ungu baru akan muncul menampilkan daftar kernel. Gunakan tombol ↑ dan ↓ untuk memilih entri mana yang disorot. Tekan Enter untuk mem-boot kernel yang dipilih, 'e' untuk mengedit perintah sebelum mem-boot atau 'c' untuk baris perintah. Tekan Esc untuk kembali ke menu sebelumnya.

    masukkan deskripsi gambar di sini

karel
sumber
1
Meskipun sama dengan jawaban yang jauh lebih singkat ini: askubuntu.com/a/584738/307523 Jawaban Anda lebih jauh dengan screenshot dan Shiftkunci untuk memunculkan grub di tempat pertama.
WinEunuuchs2Unix
1

Jawaban Jackkobec menjelaskan metode melihat grub.cfgdan menggulirkan kode sumber untuk menemukan nomor menu. Cara yang lebih mudah adalah dengan skrip ini :

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



Catatan: Dalam contoh grub-menu.sh shortini digunakan untuk memanggil skrip. The shortparameter menekan baris ini:

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

Kunci kontrol

Setelah menggulir entri (Anda dapat menggunakan roda gulir mouse atau tombol panah) tekan Escapeuntuk kembali ke baris perintah.

Jika Anda menekan Enterperintah grub associate untuk entri ditampilkan:

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

Memperbarui grub untuk mem-boot kernel sebelumnya

Satu set perintah grub ada untuk setiap entri menu. Semua entri yang dikompilasi semua disimpan dalam /boot/grub/grub.cfgfile.

Dalam contoh ini kami ingin nomor menu `1> 9> ditetapkan sebagai default sehingga kami menggunakan:

sudo -H gedit /etc/default/grub

dan temukan baris ini:

GRUB_DEFAULT=0

dan ubah ke ini:

GRUB_DEFAULT="1>9"

Kemudian simpan file dan jalankan

sudo update-grub
WinEunuuchs2Unix
sumber