Bilgisayarlarımızda BIOS adı verilen ilkel bir program vardır. Bu program eskilerde EPROM yenilerde Flash RAM denilen tümleşik devrelerde saklanır. BIOS üst düzey programların bilgisayarın donanımına erişmesini sağlar.

Bilgisayarımız açıldığında BIOS'taki programlar harekete geçer ve bir dizi test yapılır: Bellek test edilir seri portlar (COM portları) test edilir paralel portlar (LPT portları) test edilir sabit diskler ve CD sürücüler saptanır vb. Bu işlemlere Power-On-Self-Test denilir (Kısaca POST).

POST tamamlandığında BIOS programı sistemin hangi diskten açılacağı bilgisini CMOS RAM'den alır. CMOS RAM özel bir RAM çeşididir; çok az elektrik tüketir. Bu özelliğiyle de bilgisayarın bazı yapılandırma parametrelerini tutmak için idealdir.

Bir sabit diskin üzerinde üç tane bölüm (partition) bulunduğunu varsayalım. Bu bölümlerde çeşitli işletim sistemleri bulunabilir. Örneğin ilk bölümde Windows 98 ve Windows NT ikinci bölümde Linux üçüncü bölümde OS/2 bulunabilir.

Peki üç ayrı bölümde toplam dört işletim sistemi varsa bilgisayarımız hangi işletim sistemi ile açılır?

Bu sorunun yanıtı her diskte bir adet bulunan Master Boot Record (Ana Açılış Kayıtı kısaca MBR)'da bulunur.

MBR'de bu diskin üzerindeki kaç bölüm bulunduğu ve bu bölümlerden hangisinin aktif olduğu bilgisi vardır. Aktif bölüm sistemin açılacağı bölümdür. Örneğin sistem ilk bölümden açılacaksa aktif bölüm 1 nolu bölümdür.

Her bölüm üzerinde de o bölüm hakkındaki bilgileri tutan bir Partition Boot Record (Bölüm Açılış Kayıtı kısaca PBR) bulunur.

BIOS MBR'den aktif bölüm bilgisini aldıktan sonra ilgili bölüme geçer ve oradaki PBR'yi okur. PBR'de o bölüm hakkında bilgiler yer alır: Bölümün büyüklüğü kullanılan dosya sistemi cluster büyüklüğü ve çalıştırılacak olan ilk dosyanın adı.

Eğer aktif bölümde NT yüklü ise PBR'de çalıştırılacak olan ilk dosya NTLDR olarak görünür. NTLDR 152 KB'lık bir dosya olup sistemin açıldığı bölümde ve kökte yer alır. Görevi NT'yi yüklemektir.

BIOS PBR'ye gidip çalıştırılacak olan ilk dosyanın NTLDR olduğu bilgisini aldığında NTLDR dosyasını belleğe yükler devreden çıkar. Artık NTLDR devrededir.

NTLDR çalıştığında BOOT.INI adında bir dosyanın bulunup bulunmadığını kontrol eder ve böyle bir dosya varsa içindeki bilgilere dayanarak işletim sistemi seçeneklerini gösteren bir menüyü kullanıcının karşısına çıkartır. Bu menü genel olarak

Windows NT
Windows NT VGA
MS-DOS

şeklindedir.

BOOT.INI dosyasında işletim sistemi seçeneklerinin yanında bu işletim sistemlerinin nerelerden başlatılacağı bilgisi de vardır.

Kullanıcı karşısına çıkan menüden NT'yi seçerse NTDETECT.COM adındaki bir program çalıştırılır. Bu program 27 KB büyüklüğündedir.

NTDETECT.COM çalıştığında bazı standart ve zorunlu donanım parçalarını araştırır ve bulduklarının listesini Registry'ye yazar. Araştırılan donanım parçaları şu şekildedir:

Bus sistemi
Görüntü kartı
Klavye
COM portları
Paralel Portlar
CPU
Sabit disk
Floppy disk
Fare (Mouse)

NTDETECT.COM çalışmasını tamamlayınca BOOT.INI'deki bilgilere bakarak NT'nin nereye yüklendiğini anlar bu yere gidip mikrokernel dosyasını (NTOSKRNL.EXE) yükler ve devreden çıkar. Karşımıza ünlü mavi ekranımız gelir.

Eğer kullanıcı karşısına çıkan menüden NT'yi değil de DOS'u seçerse ne olur? Bu durumda NTLDR programı BOOTSECT.DOS adındaki bir dosyayı çalıştırıp kendisi devreden çıkar.

BOOTSECT.DOS dosyası tam tamına 512 bayt'lık bir dosyadır. Görevi DOS'un çalışması için gereken kritik bir bilgiyi sisteme vermektir. O bilgi de "çalıştırılacak olan ilk dosya IO.SYS dosyasıdır" şeklindedir. Yukarda anlattığımız gibi ilk bölümün PBR'sinde ilk çalıştırılacak olan dosya NTLDR olarak görünmektedir. Halbuki DOS ilk olarak IO.SYS dosyasının çalışmasını öngörür. BOOTSECT.DOS dosyası sayesinde bu bilgi sisteme yüklenir. Dosyanın adı zaten oldukça açıklayıcı: "BOOT SECTor for DOS".
Peki açılış işlemi sırasında gereken bu dosyaların bazıları silinmiş ya da bozuksa ne olur? Bu dosyalar silinebilir mi demeyin. Bu dosyalar için hiçbir özel koruma yapılmamaktadır. Bilgisayara lokal olarak girmiş bulunan herkes bu dosyaları çok büyük bir rahatlıkla silebilir.

Bu dosyaların silindiği ya da bozuk olduğu durumları tek tek inceleyelim.
NTLDR Dosyası Yoksa ya da Bozuksa

İşlem sırasını anımsayalım: BIOS MBR'ye gitti hangi bölümün aktif olduğunu buldu. O bölümdeki PBR'ye gitti ilk çalışacak dosya NTLDR'dir bilgisini aldı. Ama NTLDR dosyasını bulamadı. Bu durumda

Couldn't find ntldr
Please Insert a System Diskette

şeklinde bir mesaj verilir ve orada kalınır. Karşımıza bir menü falan gelmez çünkü menüyü çıkartan NTLDR programıdır. Dolayısıyla DOS'a da geçemeyiz. Peki ne yapacağız?

NTLDR standart bir dosyadır: Kurulumdan kuruluma bilgisayardan bilgisayara değişmez. Dolayısıyla ben bu dosyayı bir başka bilgisayardan kopyalayıp diske aktarabilirsem sorun kalmaz.

Eğer NT'nin kurulu olduğu bölüm FAT ile formatlı ise sistemi A:'dan bir DOS disketi ile açarım NTLDR dosyasını kopyalarım. Sonra da sistemi resetlerim hooop NT sağlığına kavuşur.

Peki NT'nin kurulu olduğu alan FAT ile değil de NTFS ile formatlı ise ne yapabilirim? Bu durumda sistemi bir DOS disketi ile açabilirim ama sabit disk bölümüne erişemem çünkü DOS işletim sistemi NTFS'i tanımaz.

Bu durumda önceden hazırladığım bir sistem açıcı disket ile sistemi açabilirim ve bir başka NT'li bilgisayardan getirdiğim NTLDR dosyasını kopyalayabilirim. Sistem açıcı bir disketin yaratılışını aşağıdaki ilgili bölümde göreceğiz. Sistem açıcı disket NTLDR'nin yanısıra diğer gerekli dosyaların eksik ya da bozuk olduğu durumlarda da işimize yarayacaktır.
BOOT.INI Dosyası Yoksa ya da Bozuksa

NTLDR var ve çalışıyor ama BOOT.INI dosyası yok ne olur? Anımsayacağınız gibi BOOT.INI'de işletim sistemi seçenekleri ve bu işletim sistemlerinin nerelerden yükleneceği bilgisi var. Eğer BOOT.INI yoksa NTLDR bu bilgilere sahip olamayacaktır. Ama burada NTLDR bir varsayımda bulunuyor ve ilk disk kontrolcünün ilk sabit diskinde ilk bölümde WINNT adında bir klasör arıyor. Eğer bu varsayım doğruysa karşımıza bir menü çıkmıyor ama NT doğrudan çalışıyor. Burada varsayıma dikkat edelim: NT ilk kontrolcüye bağlı ilk diskteki ilk bölümde WINNT adında bir klasörde bulunacak. Bu koşulların biri bile sağlanmazsa NT başlayamaz. Örneğin herşey tamam ama klasörün adı WINN40 olarak konmuştu. Bu durumda NT açılmaz.

NTDETECT.COM Dosyası Yoksa ya da Bozuksa

NTDETECT.COM bazı standart donanımları her açılışta kontrol eder ve bulduğu donanımları Registry'ye yazar. Eğer NTDETECT.COM yoksa bu kontrol yapılamayacaktır. Bu durumda
NTDETECT failed

mesajı alırız ve orada kalırız: NT açılamayacaktır.

Ama NTDETECT.COM'un bulunmadığı bir durumda karşımıza çıkan menüden DOS'u seçersek DOS açılır. Çünkü DOS seçeneğinin NTDETECT.COM ile bir ilgisi yoktur.

BOOTSECT.DOS Dosyası Yoksa ya da Bozuksa

NTDETECT.COM da var BOOTSECT.DOS yok ne olur? Bu dosyaya menüden DOS şıkkını seçersek gerek duyulur. NT'nin bu dosya ile ilgisi yoktur. NT açılır. Ama DOS'a geçemeyiz. Menüden DOS'u seçtiğimizde boot sektör dosyasının bulunamadığını belirten aşağıdaki mesajı alırız:

I/O Error accessing boot sector file multi(0)disk(0)rdisk(0)partititon(1)\\BOOTSS
NTBOOTDD.SYS Dosyası

Açılış sırasında bir dosyaya daha gereksinimimiz olabilir. Eğer sabit diskimizin kontrol kartı SCSI ise ve bu kartın üzerinde kendi BIOS'u yoksa NTBOOTDD.SYS adında bir dosyaya daha gerek duyulacaktır. Burada biraz duralım:

PC BIOS'ları normalde SCSI kontrol kartlarını tanımaz. Bu yüzden SCSI kontrol kartlarının üzerinde bir BIOS eklenti programı vardır. Sistem açılırken bu program bilgisayarın BIOS'una eklenir bu sayede sistem SCSI kontrol kartını ve diskini tanır.

Bazı ucuz SCSI kontrol kartlarında BIOS eklentisi yoktur. Bu durumda işletim sistemlerinin SCSI eklentisini sağlamaları gerekir. NT'de bu işi yapan dosyanın adı NTBOOTDD.SYS'dir. Eğer kontrol kartımız BIOS'suz SCSI ise NT'nin kuruluşu sırasında bu dosya köke kopyalanacak ve açılışta çalıştırılacaktır. Böyle bir durumda NTBOOTDD.SYS dosyasını sistem açıcı diskete kopyalamayı unutmayın.
Sistem Açıcı Disket Yaratma

Sistem açıcı disket için şunları yapmalıyım:

1) Bir disketi NT içinden formatlamalıyım.
2) Formatladığım disketin içine şu dosyaları yüklemeliyim:
NTLDR
BOOT.INI
NTDETECT.COM
BOOTSECT.DOS
NTBOOTDD.SYS (Eğer BIOS'suz bir SCSI kontrol kartı kullanıyorsam)

Disketi niçin NT içinden formatlamalıyım? Çünkü her disketin de bir Boot Record'u (Açılış Kayıtı) vardır ve burada ilk çalışacak dosya adı yer alır. Eğer disketi NT içinden formatlarsanız buraya "ilk çalışacak dosya NTLDR'dır" bilgisi eklenir. Bu da NT açıcı bir disket için şarttır.

Sistem Açıcı disket ile sabit diskteki dosya sistemi FAT de olsa NTFS de olsa NT'yi açabilirim. Bir sistem açıcı disket her zaman elinizin altında bulunsun.