Grub ekranını tanıyalım
Grub ekranını kullanarak açılış seçeneklerini değiştirmemiz mümkündür. Bunun için düzenleme modu ve komut satırı modu bulunmaktadır.
Not: Grub ekranında klavye desteği bulunmadığı için ingilizce q klavye düzenine göre yazmanız gerekmektedir.
Grub ekranında eğer e tuşuna basarsanız düzenleme modune geçecektir. Bu sayede sistemi başlatmadan önce açılış parametrelerini değiştirmemiz mümkün olur.
Düzenleme işlemimizi yaptıktan sonra f10 veya ctrl-x tuşuna basarak açılışı başlatabilirsiniz. Düzenleme modundan çıkmak ve değişiklikleri geri almak için esc tuşunu kullanabilirsiniz.
Eğer c tuşuna basarsanız komut satırı moduna geçer. Burada komutları elle girerek açılışı elle yapmamız mümkündür.
Komut satırı modundan çıkmak için esc tuşunu kullanabilirsiniz.
Temel komutlar
ls komutu mevcut diskleri listeler. Komutun yanına dizin adını eklerseniz dizin içeriğini listeler.
clear komutu komut satırını temizler.
set komutu değişken ayarlamak için kullanılır. root değişkeni bulunduğumuz diski ifade eder.
echo komutu ekrana yazı yazdırır. Değişkenler $variable veya ${variable} şeklinde ifade edilir.
exit komutu grub ekranından çıkar ve bios sıralamasındaki bir sonraki önyükleyicinin başlatılmasını sağlar.
fwsetup komutu ile uefi bios bulunan sistemlerde biosa erişebilirsiniz.
Koşul oluşturmak için if kullanılır. Yapısal olarak bash içerisindeki if ile aynıdır fakat koşullar için sadece [ ] kullanılır. ([[ ]] bu şekilde bulunmaz.)
if [ "${root}" ] ; then set root=(hd0,gpt2) else echo $root fi
search komutu disklerde arama yapar. eğer –file parametresi eklerseniz dosya araması yapar. Eğer –fs-uuid eklerseniz uuid değeri arar. –set=xxx eklersek bulunan diski değişkene atar.
search --file --set=root /boot/vmlinuz-xxx
source komutu bir yapılandırma dosyasını içeri aktarır.
source ($root)/boot/grub/linux.cfg
insmod komutu modül yükler. Mevcut modüllerin listesine lsmod komutu ile ulaşabilirsiniz.
insmod all_video lsmod
Sistemin komut satırı ile başlatılması
GNU/Linux açılış için çekirdeğe ve initramfs imajına gereksinim duyar. Bunun için aşağıdaki komutları sırayla çalıştırmamız gereklidir.
set root=(hd0,gpt2) linux /boot/vmlinuz-xxx root=/dev/sda2 ro quiet splash initrd /boot/initrd.img-xxx boot
Burada ilk komutumuzda çekirdeğin bulunduğu diski mevcut disk haline getirdik. İkinci komutta ise çekirdeğin konumunu ve parametrelerini vererek çekirdeğin yüklenmesini sağladık. Üçüncü komutta ise initramfs imajımızın konumunu vererek yüklenmesini sağladık. Son olarak açılışın başlatılması için gereken komutu yazdık.
Grub yapılandırması
grub-mkconfig komutunu kullanarak (veya update-grub) otomatik yapılandırma oluşturabilirsiniz. Fakat bununla birlikte bu yapılandırmayı elle yazmak da mümkündür. Bunun için /boot/grub/grub.cfg dosyamızı aşağıdaki gibi yazabiliriz.
insmod all_video insmod ext2 menuentry Pardus { set root=(hd0,gpt2) linux /boot/vmlinux-xxx ro quiet splash initd /boot/initrd.img-xxx }
Yukarıdaki örnek yapılandırmada menuentry ifadesi açılış ekranına bir seçenek eklemeye yaramaktadır. Bir alt menü oluşturmak için submenu ifadesini kullanabilirsiniz.
Bununla birlikte chainloader komutu kullanılarak farklı (linux olmayan) bir sistemi açmak mümkündür.
menuentry "Winzort 10 UEFI" { search --file --set=root /EFI/MICROSOFT/BOOT/bootmgfw.efi chainloader ($root)/EFI/MICROSOFT/BOOT/bootmgfw.efi }
Legacy bioslarda nt çekirdeğini çalıştırmak için ise aşağıdaki gibi bir yol izleyebilirsiniz.
menuentry "Winzort Xp Legacy" { insmod ntfs insmod ntldr search --file --set=root /bootmgr ntldr /bootmgr }