December 17, 2008

Basit olarak GRUB…

Filed under: GNU/Linux — Tags: , , , — admin @ 4:58 pm

GNU/Linux yuklu bir makinede, acilmayan windohs isletim sisteminin kurtarilmasi esnasinda grub in bozulmasi gibi bir problemle cogu zaman karsilasmisizdir. En azindan ben bu konuda cok zahmet cektim.
Gerci suan bilgisayarimda windohs turevi bir isletim sistemi bulunmamaktadir.

Bozulan grub onyukleyicimizin kurtarilmasi icin disk partitionlarini ve GNU/Linux dagitimimizin hangi partition’a kurulu oldugunu bilmemiz gerekir.

Disk partition sekli asagidaki gibi olsun;

Device Boot Partition Type Mount Point
——————————————————————-
hda1 * Primary Partition, NTFS /mnt/win/c

hda2 Primary Partition, FAT32 /mnt/win/d

hda3 Logical, Extended

hda5 Logical, swap swap

hda6 Logical, ext3 /home

hda7 Logical, ext3 /

hda8 Logical, ext2 /boot

Yukarida belirtildigi uzere aktif partition olarak hda1 belirlenmistir. Bu partition mbr nin 448 bytelik kisminin uzerindeki 64 byte lik bolume yazilmistir.

Bu isaretleme, normalde sabit diskimize isletim sistemi arama yonunde bir bios kesmesi geldiginde hangi partitiona ilk bakilacagini belirtmektedir. Ancak biz grub u kurarken mbr nin mevcut yapisini degistirdigimizden boot sirasinin buradaki onemi grub icin degil windohs icin olacktir.

hda1 uzerine Windohs Kurulumu yapilmis ve hda7 uzerinede / dizini mount edilerek GNU/Linux kurulmustur. /home klasoru hda6 ya mount edilmistir.
/boot partitionu ise grub.conf (menu.lst), kernel ve ramdisk imajlarimiz ihtiva etmektedir ve hda8 partitionuna mount edilmistir

Grub’un yuklenebilmesi icin stage1, stage1.5 ve stage2.0 image larinin sirasiyla birbirlerini yuklemesi gerekmektedir.

bios --> stage1 (512 Byte) --> stage1.5 --> stage2.0

mbr nin uzerine grub un kurulumu esnasinda stage1 image’i yazilir. stage1 in gorevi stage2.0 cagirmaktir sayet stage1, mbr alaninin kisitli olmasindan dolayi stage2.0 cagiramiyorsa once stage1.5 cagirilir ve stage1.5 de stage2.0’i cagirir.

Stage2.0 nin gorevi “/boot “dizinindeki -yukaridaki ornekte bu dizin hda8 olarak tanimlidir- /boot/grub/menu.lst dosyasindan aldigi parametrelere gore kernel ve ramdisk imajini hafizaya yuklemektir.
menu.lst dosyasinda acilis esnasinda grub un kernel imajini nerede bulabilecegi ve acilis grafik modunun sekilde olacagi belirtilmektedir.

Yukaridaki ornekte stage2.0, /boot/vmlinuz linux kernel imajini /boot dizinin mount edildigi hda8 partitionun dan alacaktir.

Ve ardindan hafizaya kopyalanan linux kernel imaji kendisini extract ederek calismaya baslayacaktir.

Grubun (stage1) MBR ye yazilmasi.

root@linux-desktop ~ # grub

grub> find /boot/grub/stage1     # stage 1 imajinin nerede oldugu bulunur

grub> find /grub/stage1          # /boot icin ayri bir partition ayirmissaniz

(hd0,7)

grub> root (hd0,7)               # stage1 secilir. (/boot-->hd0,7 ye baglanmistir)

grub> setup (hd0)                # mbr ye stage1 yazilir.

grub> quit                       # grub tan cikilir.

Yukaridaki uygulama windohs ve GNU/Linux iseltim sistemlerini ortak kullananlarin sikca karsilastigi windohs un acilmamasi sonucu fixmbr komutunun kullanimindan grub un bozulmasi problemine yardimci olmak amaciyla hazirlanmistir.

Umarim isinize yarar…

« Newer Posts

Powered by WordPress