Bagaimana saya bisa memilih kernel GRUB2 mana yang harus dimuat secara default? Saya baru-baru ini menginstal kernel linux realtime dan sekarang memuat secara default. Saya ingin memuat yang biasa secara default.
Sejauh ini saya hanya berhasil memilih OS default .. dan untuk beberapa alasan yang /boot/grub.cfg
sudah mengasumsikan bahwa saya ingin memuat rt-kernel dan memasukkannya ke dalam entri menu linux generik (dalam kasus saya Arch Linux).
grub.cfg
hanya sesuai dengan OS dan bukan kernel.Jawaban:
Saya pikir sebagian besar distribusi telah memindahkan kernel tambahan ke 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
_pilihan untuk submenu:2) Temukan
$menuentry_id_option
entri menu untuk kernel yang ingin Anda gunakan:3) Komentari grub default Anda saat ini
/etc/default/grub
dan ganti dengan sub-menu$menuentry_id_option
dari langkah pertama, dan kernel yang dipilih$menuentry_id_option
dari langkah kedua dipisahkan oleh>
.Dalam kasus saya yang dimodifikasi
GRUB_DEFAULT
adalah:4) Perbarui grub untuk melakukan perubahan. Untuk Debian ini dilakukan seperti ini:
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.
Mengubah ini ke kernel terbaru adalah semudah mengomentari baris baru dan menghapus komentar
#GRUB_DEFAULT=0
, lalu jalankan kembaliupdate-grub
.sumber
Setelah berjuang selama 2 jam, saya telah menemukan cara yang lebih mudah untuk mencapai ini. Saya hanya RTFM. ;)
Tambahkan dua baris ke / etc / default / grub
Lakukan
sudo update-grub
, reboot, masuk ke menu grub Anda dan pilih menu atau submenu item mana saja yang Anda butuhkan. Pilihan akan disimpan dan lain kali komputer Anda akan boot ke dalamnya secara otomatis.sumber
Seperti disebutkan dalam komentar, Anda dapat mengatur kernel default untuk boot menggunakan
grub-set-default X
perintah, di mana X adalah jumlah kernel yang ingin Anda boot. Dalam beberapa distribusi Anda juga dapat mengatur nomor ini dengan mengedit/etc/default/grub
file dan pengaturanGRUB_DEFAULT=X
, dan kemudian menjalankannyaupdate-grub
.Angka tersebut adalah indeks ke array pengaturan kernel / kernel yang ditunjukkan dalam menu GRUB saat boot, dengan 0 sebagai entri pertama (teratas). Anda biasanya dapat menemukan nomor yang tepat dengan mencari
menuentry
garis dalam/boot/grub/grub.cfg
, seperti:Anda akan melihat setiap kernel terdaftar dengan nama yang ditampilkan di menu boot GRUB. Yang pertama adalah 0, yang kedua adalah 1, dan seterusnya.
sumber
/boot/grub2/grub.cfg
.grub-set-default 9
lalu kembaligrub-update
. Saya membiarkan grub boot dengan kernel default dan masih melakukan boot dengan 4.4.0-64-generic . Saya juga mencoba mengedit/etc/default/grub
dan mengaturGRUB_DEFAULT=9
dan menjalankangrub-update
. Pada reboot tidak ada perubahan, sistem masih menjalankan boot dengan 4.4.0-64-generik . Mungkin saya melewatkan sesuatu, ada yang bisa membantu saya?Cukup melakukan
grep 'menuentry' /boot/grub/grub.cfg
daftar entri tambahan yang tidak terkait dengan kernel atau versi OS yang sebenarnya. Misalnya, daftarSaya ingin mengusulkan sedikit peningkatan pada metode pencarian file itu: gunakan
awk
Dengan perintah di bawah ini dan hasilnya, Anda dapat melihat
awk
kode cocok dengan versi OS yang sebenarnya, dan memberi Anda nomor yang kemudian dapat Anda gunakan dalam/etc/default/grub
file.Selain mengedit
/etc/default/grub
file dengan tangan, saya sarankan menggunakansed
. Pada perintah di bawah, ganti X dengan nomor yang sesuai yang Anda dapatkan dari perintah awk di atas:sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=X/g' /etc/default/grub; sudo update-grub
sumber
jkt123 akan bekerja untuk sebagian besar distribusi kurasa. Namun untuk Arch Linux tidak berfungsi, setidaknya tidak dengan paket yang saya miliki.
Indeks yang dapat Anda atur
grub-set-default
hanya sesuai dengan entri menu utama. Namun opsi kernel berada dalam submenu. Jadi, apakah Anda memindahkan entri kernel dari submenu ke menu utama atau Anda meletakkan entri di atas daftar submenu dan pilih submenu.Menu Grub saya
Agar dapat mem-boot Kernel 2 Anda harus menukarnya dengan Kernel 1 atau meletakkannya di luar submenu pada level yang sama dengan Arch Linux atau Windows. Dan kemudian mengatur nomor default ke salah satu indeks menu utama. Sebagai contoh dalam menu di atas "0" boot "Arch Linux" dan "1" boot Kernel 1.
Untuk mengubah hierarki dan swap, buka
/boot/grub/grub.cfg
dan pindahkan entri yang ingin Anda pindahkan. Entri bisa terlihat seperti iniMaka Anda perlu menerapkan perubahan Anda. Dalam kasus saya dengan
grub-mkconfig
. Tetapi ini mungkin berbeda dari satu sistem ke sistem lainnya.sumber
Baru-baru ini terlihat seperti CentOS-6.6 grub.conf seperti ini dapat diedit secara manual untuk mengubah pilihan default:
sumber
Peregangan Debian:
Daripada bermain-main dengan file konfigurasi, buat folder di
/noot
(sebut saja apa yang Anda inginkan), tinggalkan kernel yang Anda inginkan, bersama dengan konfigurasi yang sesuai dan file sistem, masuk/boot
dan pindahkan sisanya ke folder baru ini.Lari
update-grub
.Periksa
/boot
folder yang versi kernel dan konfigurasi yang sesuai dan file sistem masih ada di sana (jika Anda menyalin sesuatu yang seharusnya tidak Anda miliki) dan reboot.sumber