GNU/Linux >> Belajar Linux >  >> Linux

Linux – Tetapkan Kernel Default Di Grub?

Bagaimana saya bisa memilih kernel GRUB2 mana yang harus dimuat secara default? Saya baru-baru ini menginstal kernel realtime linux dan sekarang dimuat secara default. Saya ingin memuat yang biasa secara default.

Sejauh ini saya hanya berhasil memilih OS default.. dan untuk beberapa alasan /boot/grub.cfg sudah berasumsi bahwa saya ingin memuat rt-kernel dan memasukkannya ke dalam entri menu linux generik (dalam kasus saya Arch Linux).

Jawaban yang Diterima:

Saya pikir sebagian besar distribusi telah memindahkan kernel tambahan ke dalam sub menu opsi lanjutan pada saat ini, seperti yang ditemukan TomTom dengan
Arch-nya.

Saya tidak ingin mengubah struktur menu tingkat atas saya untuk memilih kernel sebelumnya sebagai default. Saya menemukan jawabannya di sini:

http://www.humans-enabled.com/2014/08/how-to-set-default-grub-kernel-boot.html

Untuk meringkas:

1) Temukan $menuentry_id_option untuk submenu:

$ grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

2) Temukan $menuentry_id_option untuk entri menu kernel yang ingin Anda gunakan:

$ grep gnulinux /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

3) Komentari grub default Anda saat ini di /etc/default/grub dan ganti dengan submenu $menuentry_id_option dari langkah pertama, dan $menuentry_id_option kernel yang dipilih dari langkah kedua dipisahkan oleh > .

Dalam kasus saya, GRUB_DEFAULT . yang dimodifikasi adalah:

#GRUB_DEFAULT=0

GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

4) Perbarui grub untuk membuat perubahan. Untuk Debian ini dilakukan seperti ini:

$ sudo update-grub

Selesai. Sekarang ketika Anda boot, menu lanjutan harus memiliki tanda bintang dan Anda harus boot ke kernel yang dipilih. Anda dapat mengonfirmasi ini dengan uname .

$ uname -a
Linux NAME 4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.0-0 (2018-09-13) x86_64 GNU/Linux

Mengubah ini kembali ke kernel terbaru semudah mengomentari baris baru dan menghapus komentar #GRUB_DEFAULT=0 :

GRUB_DEFAULT=0

#GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

lalu jalankan kembali update-grub .


Linux
  1. Siklus hidup pengujian kernel Linux

  2. Bagaimana cara mengatur nick default untuk koneksi irssi baru?

  3. Apakah kernel Linux 3.x menggunakan penjadwal proses CFS?

  1. Memahami systemd saat startup di Linux

  2. Cara mengatur pembaruan kernel tanpa boot otomatis di server Linux

  3. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  1. Linux – Kernel:Dukungan Namespaces?

  2. Linux – Penerusan Ip Kernel?

  3. Linux – Kernel Tercemar Di Linux?