Windows işletim sistemlerinin boot işlemi sırasında ntldr ve boot.ini gibi dosyalar kullanılır. Boot.ini dosyası boot sırasında yüklenecek işletim sistemlerinin sırasını ve disk üzerindeki yerine ilişkin bilgiler içerir.
Windows Vista ve Windows Server 2008’de ise boot süreci yeniden düzenlenmiştir. Boot işlemi tümüyle Boot Configuration Data (BCD) dosya temelinde yapılır. BCD, NTLDR ve Boot.ini dosyasının yerine geçmiştir.
BCD sisteminde binary formattaki bir veritabanı dosyasını kullanılır. BCD dosyaları boot uygulamaları ve uygulama ayarlarını tanımlamak için bir depolama alanı sağlar, Boot.ini dosya ayarlarını yapılandırır, sorgular veya değiştirir. BCD bilgisayar sistemine göre farklı yerlerde saklanır: BIOS-tabanlı sistemlerinde BCD veritabanı sistem bölümünün BootBCD klasöründe yer alır. Extensible Firmware Interface (EFI) tabanlı sistemlerde ise veritabanı EFI system partitionda (ESP) saklanır.
BCD üzerinde yapılacak tüm düzenlemeler Bcdedit.exe ile yapılır. BCD depolama alanlarını yönetmek için geliştirilmiş bir komut satırı aracıdır. Boot seçeneklerini düzenlemek, yeni boot seçenekleri oluşturmak ve mevcut boot seçeneklerini korumak için kullanılır.
Bcdedit, aslında Windows’un önceki sürümlerindeki bulunan Bootcfg.exe ile aynı işi görür ama Bcdedit’te bootcfg’ye göre gelişmiş iki özellik karşımıza çıkıyor :
Bcdedit’in, Bootcfg.exe’ye göre daha geniş boot seçenekleri sunması.
Script desteğine sahip olması.
Bcdedit ile boot seçenekleri düzenleyebilmek için Administrator izinlerine sahip olmak gerekir.
Bcdedit Windows Vista ve sonraki Windows sürümlerinde boot yapılandırılması için kullanılan temel araçtır. Vista da % WINDIR% System32 klasörü altında bulunur.
Bcdedit veri türleri tek bir değişiklik yapılabilecek şekilde sınırlıdır komplex ve standart değişikliklerin dışına çıkmak istersek WMI ya da API kullanmamız gerekir.
Bir boot kaydı temel olarak 4 bölümden oluşur:
Identifier : Sistem boot kaydının nasıl olacağını tanımlar.
Device : Boot işleminin gerçekleştirileceği sürücüyü belirtmek için kullanılır.
Path : Bootloader (önyükleme) dosyasının bulunduğu yolu belirtir.
Description : Boot sırasında işletimin sisteminin görüntülenecek olan adını belirtir. Örneğin; “Windows 7”
Tanımlayıcıların yanında {} içinde UUID’lerini (Universally Unique Identifier) görürüz. UUID’ler sistemde yer alan her bir boot kaydı için benzersiz bir codename (kod adı) içerirler.
Standart UUID tanımlayıcılarını açıklayacak olursak;
{bootmgr} = Boot yöneticisi
{current} = Kullanmakta olduğumuz işletim sistemini belirtir.
{default} = Bilgisayarımızın varsayılan olarak açıldığı işletim sistemi
{ntldr} = Windows Legacy OS Loader ( Windows xp ya da Windows server 2003)
BCD dosyasında herhangi bir düzenleme yapmadan önce bu dosyanın yedeğini almanızı öneririm. Bunun için;
bcdedit /export C:SAVEBCD
Bu komutla bcd dosyamızı yedeklemiş oluruz ve boot kayıtlarında yapacağımız değişikliklerin herhangi bir soruna sebep olması durumunda yaptığımız değişiklikleri yedeklediğimiz bcd dosyası sayesinde geri alabiliriz.
BCD dosyamızı geri yüklemek için kullanacağımız komut:
bcdedit /import c:SAVEBCD
Bcdedit İşlemleri
Bcdedit.exe kullanmına dair birkaç örnek görelim :
bcdedit /enum ile yüklü işletim sistemlerini ve id’lerini görüntüleyebiliriz.
Bcdedit /default <id> komutu ile default işletim sistemini belirleyebiliriz.
Bcdedit /default {current} komutu ile üzerinde çalıştığımız işletim sisteminin default işletim sistemi olarak belirtebiliriz.
bcdedit /bootsequence {ID} {ID} {ID} komutu ile boot sırasını belirleyebiliriz.
Bcdedit /timeout komutu ile boot ekranında karşımıza çıkan işletim sistemi seçmemiz için gerekli bekleme süresini düzenleyebiliriz.
bcdedit /delete {ID} komutu ile varolan boot kayıtlarını silebiliriz. Ayrıca ntldr kullanan bir işletim sisteminin boot kaydını silmek için bcdedit /delete {ntldr} /f komutunu kullanmamız gerekir.
bcdedit /createstore {ID} komutu ile yeni boot kayıtları yaratabiliriz.
Windows Vista Öncesi işletim sistemlerinin boot ekranında görüntülenen adlarını değiştirmek için aşağıdaki komutu kullanıyoruz.
bcdedit /set {ntldr} description “Windows XP Pro”
Windows Vista ve sonraki Windows işletim sistemlerinin boot ekranında görüntülenen adlarını değiştirmek için ise aşağıdaki komutu kullanıyoruz.
bcdedit /set {current} description “Windows 7”
Windows Vista ve sonrası Windows işletim sistemlerinin boot ekranında görüntülenen adlarını değiştirmek için <id> yerine o an kullanmakta olduğumuz işletim sistemine ait boot ekranında görüntülenen adı değiştirmek için {current} parametresini ya da değiştirmek istediğimiz boot kaydına ait bölümde bulunan {identifier} değerini kullanıyoruz. Ayrıca Windows Vista öncesi işletim sistemleri için de {ntldr} ‘ı kullanıyoruz.
NTLDR sistemini kullanan işletim sisteminin boot sırasında karşımıza gelen seçim menüsünün ilk sırasında yer alması için;
bcdedit /displayorder {ntldr} /addfirst
Örneğin Windows XP işletim sistemimizin D sürücüsünde olduğunu belirtmek için;
bcdedit /set {ntldr} device partition=E: komutunu kullanabiliriz.
Bcdedit /? bcdedit komut listesini görüntüler ve kullanılabilir komutların bir özetini gösterir. Örneğin, Bcdedit /? createstore komutu , createstore ile kullanılabilecek parametreleri ayrıntılı bir biçimde gösterir.
BDEDIT ile boot parametrelerini msconfig’teki gibi değiştirmek için de kullanabiliriz. Ayrıca boot kayıtlarında herhangi bir sorun oluşmasına sebep olur ve sisteminizi boot edemezseniz, kurulum DVD’si ile boot ettikten sonra Repair Computer’ı seçeneği ile komut satırına erişip bcdedit dosyasını düzenleyebilir ya da var olan bcdedit yedeğini geri yükleyerek sistemimizin boot etmesini sağlayabiliriz.