21.10.2008

Alternatif bir önyükleyici

Windows ile Linux'u aynı makineye kuranlar, başlangıçta hangi işletim sistemini kullanarak bilgisayarı açmak istediklerini GRUB kullanarak seçerler. Eskiden kullanılan LILO'nun yerini GRUB almaya başladı.

Windows önyükleyicisini kullanarak hem Windows'u hem Linux'u açmanın mümkün olduğunu öğrendiğimde şaşırmıştım. Bunu yapabilmek için Linux'un GRUB'ı diskin başına değil de, kurulu olduğu bölümünün başına yazması, ve bu kodun linux dd komut satırı programıyla bir dosyaya aktarılarak Windows System Partition'ına kopyalanması gerekir. Yapmak isteyenler için adım adım anlatayım.
  1. Linux kurulumu sırasında GRUB'ı diskin başına yazmayın; onun yerine kurulan bölümün başına yazın. Örnek olarak sda1'de Windows yüklü olsun. Siz de sda2'ye Linux'u kuruyorsunuz. GRUB'ı da /dev/sda2'ye yazın. Daha sonra sistemi linux CD'si ile açtıktan sonra (diske kurulan linux henüz açılabilir olmadığından) dd komutunu kullanarak GRUB'ı bir dosyaya yazın:
    $ dd if=/dev/sda2 of=linux.bin bs=512 count=1
  2. Bu dosyayı bir şekilde sda1'e atmak gerek. Disket, USB disk veya doğrudan Windows bölümünü linux'a mount ederek atabilirsiniz.
  3. Sonra Windows'a geçip (Windows 2000 veya Windows XP - Vista için adımlar bu yazının en sonunda) C:\Boot.ini dosyasını Notepad ile açın. Muhtemel içerik şu şekilde olmalı
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS&
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
  4. Bu dosyanın sonuna gelerek aşağıdaki satırı ekleyin
    C:\linux.bin="Linux"
Eğer kullandığınız Windows sürümü XP değil de Vista ise yapılması gerekenler biraz daha farklı. Vista ile beraber artık boot.ini tarih oldu. Bunun yerine Boot Configuration Data (BCD) var. Tüm Microsoft ekibine de bize sadece komut satırı araçlarını sağladığı için her seferinde içten teşekkürlerimi (!) sunuyorum.

Neyse, konumuzda dönelim. Yukarıdaki adımları linux.bin dosyasını yaratana kadar tamamladıktan sonra şu komutları sırasıyla verin:

bcdedit /create /d "GRUB" /application BOOTSECTOR
Bu komut, Vista boot menüsünde GRUB isminde yeni bir girdi yaratır. Bunun yerine Linux, Ubuntu vs. de yazabilirsiniz. Bu komutun ardından { ve } parantezleri içinde sayılar verilecek. Parantezler de dahil olacak şekilde bu sayıyı kopyalayın. Sonraki adımlarda gerekecek. Bu sayıya şimdilik {LinuxID} diyelim. Sonkaki komut

bcdedit /set {LinuxID} device boot
Bu komut ise, linux.bin dosyasının boot partition'da olduğunu söylüyor (elbette bu aşamada bu dosyanın boot partition'a atılmış olması gerek. Alternatif olarak boot yerine partition=C: yazılarak bu dosyanın tutuluğu bölüm de belirtilebilir). Daha sonra

bcdedit /set {LinuxID} PATH \linux.bin
Komutu ile boot partition'daki linux.bin dosyasının adını veriyoruz. Ve bundan sonra da

bcdedit /displayorder {LinuxID} /addlast
komutu ile linux'u boot menüsünde son sıraya yerleştiriyoruz. Bundan sonra eğer menünün bekleme süresinin (varsayılan değer 30 sn) çok uzun olduğunu düşünüyorsanız bunu aşağıdaki komutla 10 sn'ye düşürebilirsiniz.

bcdedit /timeout 10
Bu şekilde Windows'un açılış menüsüne bir de Linux eklemiş olduk. Bu menü aracılığıyla bilgisayarınızı Windows veya Linux işletim sisteminden açılmasını sağyalabilirsiniz.

Hiç yorum yok: