File konfigurasi GRUB2 /boot/grub2/grub.cfg
– Memulai RHEL 7 GRUB 2 adalah bootloader. File konfigurasi GRUB 2 adalah /boot/grub2/grub.cfg .
– Jangan mengedit file ini secara langsung. Gunakan grub2-mkconfig perintah untuk menghasilkan grub.cfg. Perintah ini menggunakan skrip template di /etc/grub.d dan pengaturan konfigurasi menu diambil dari /etc/default/grub saat membuat grub.cfg.
– /etc/grub2.cfg file adalah tautan simbolis ke /boot/grub2/grub.cfg.
Di bawah ini adalah contoh file konfigurasi GRUB2.
..... (skiped for breivity) ### BEGIN /etc/grub.d/10_linux ### menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' a52207e4-01fd-4f12-98b7-681d56f21dc5 else search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5 fi linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 initrd16 /initramfs-3.10.0-514.el7.x86_64.img } menuentry 'CentOS Linux (0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' { load_video insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' a52207e4-01fd-4f12-98b7-681d56f21dc5 else search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5 fi linux16 /vmlinuz-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet initrd16 /initramfs-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e.img } .......
File /etc/default/grub
Pengaturan konfigurasi menu GRUB 2 diambil dari /etc/default/grub saat membuat grub.cfg. Berikut ini daftar isi file /etc/default/grub:
# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true"
Jika perubahan dilakukan pada salah satu parameter ini, Anda perlu menjalankan grub2-mkconfig untuk membuat ulang file /boot/grub2/grub.cfg. Misalnya:
# grub2-mkconfig –o /boot/grub2/grub.cfg
Nilai dijelaskan sebagai berikut:
GRUB_TIMEOUT :Waktu dalam detik setelah menu ditampilkan untuk mem-boot entri default, kecuali jika tombol ditekan. Standarnya adalah 5. Setel ke 0 untuk segera boot tanpa menampilkan menu, atau ke -1 untuk menunggu tanpa batas waktu.
GRUB_DISTRIBUTOR: Ditetapkan oleh distributor GRUB dan digunakan untuk menghasilkan judul entri menu yang lebih informatif. Contoh mengevaluasi ke CentOS Linux Server.
GRUB_DEFAULT Entri menu default untuk boot. Nilai 0 mem-boot entri menu pertama. Nilai 1 mem-boot entri menu kedua. Nilai yang disimpan menginstruksikan GRUB 2 untuk memuat sistem operasi terakhir yang berhasil dimuat.
Nilai GRUB_DEFAULT yang disimpan juga memungkinkan Anda menggunakan grub2-set-default dan grub2-boot ulang perintah untuk menentukan entri default. Kedua perintah ini dijelaskan sebagai berikut:
grub2-set-default :Menyetel entri default untuk semua boot ulang berikutnya
grub2-reboot :Menyetel entri default hanya untuk reboot berikutnya
Misalnya, dengan GRUB_DEFAULT=disimpan , perintah berikut menetapkan entri default untuk semua reboot berikutnya ke entri menu kedua:
# grub2-set-default 1
GRUB_DISABLE_SUBMENU :Secara default, perintah grub2-mkconfig menghasilkan entri menu tingkat atas untuk kernel dengan nomor versi tertinggi dan menempatkan semua kernel lain yang ditemukan atau entri menu alternatif untuk mode pemulihan dalam submenu. Menyetel GRUB_DISABLE_SUBMENU=true menonaktifkan ini.
GRUB_TERMINAL_OUTPUT :Perangkat keluaran terminal. Saat menentukan beberapa perangkat, pisahkan nama keluaran terminal yang valid dengan spasi.
GRUB_CMDLINE_LINUX :Parameter boot kernel. Informasi lebih lanjut tentang parameter boot kernel disediakan di slide berikutnya.
GRUB_DISABLE_RECOVERY :Secara default, dua entri menu dibuat untuk setiap kernel Linux:satu entri default dan satu entri untuk mode pemulihan. Menyetel GRUB_DISABLE_RECOVERY=“true” menonaktifkan ini.
Menjelaskan entri menu
File konfigurasi GRUB 2, /boot/grub2/grub.cfg, berisi bait menuentry, yang mewakili kernel Linux yang diinstal. Setiap bait dimulai dengan kata kunci menuentry dengan opsi. Setiap entri menu juga merupakan entri menu boot tunggal di menu GRUB 2. Blok kode yang terkait diapit dalam kurung kurawal, {}.
Bait tersebut menyertakan direktif linux16 diikuti dengan path ke kernel dan direktif initrd16 diikuti dengan path ke image initramfs. Direktif linux16 menentukan nomor versi kernel yang akan di-boot serta parameter boot kernel. Partisi /boot terpisah telah dibuat; oleh karena itu, jalur ke kernel (serta ke image initramfs) relatif terhadap /boot.
Direktif initrd16 harus menunjuk ke lokasi file initramfs yang sesuai dengan versi kernel yang sama. Dengan kata lain, kernel seperti yang diberikan pada baris linux16 /vmlinuz-[kernel_version] harus sesuai dengan nomor versi dari image initramfs yang diberikan pada baris initrd16 /initramfs-[kernel_version].img dari setiap bait.