UEFI Önyükleme süreci ve UEFI/BIOS Farkı
https://www.enpedi.com/2017/05/uefi-onyukleme-sureci-ve-uefibios-fark.html
3-4 sene önce UEFI Nedir? - Windows 7 ve Windows 8 UEFI Kurulumu Nasıl Yapılır? adında bir yazı yazmış ve UEFI hakkında daha çok teknik ve teorik bilgiler vermiştim. Ancak geçen zamanda UEFI kavramının çoğu kullanıcının kafasında tam olarak oturmadığını ve yarısı yanlış yarısı doğru bilgilerle devam ettiklerini gördüm. Bu yüzden de böyle bir yazı yazma zorunluluğu doğdu. Bu yazıda genelde yanlış bilenen noktaları en basit şekilde anlatmaya çalışacağım...
Yanlış!. UEFI BIOS diye bir şey yok. UEFI ve BIOS ikisi de birer firmware. Herhangi bir bilgisayar sadece bir firmware kullanabileceği için bilgisayarınız ya UEFI'dir ya da BIOS.
Yanlış! "UEFI'yi devre dışı bıraktım BIOS kullanıyorum" diye bir şey yok. Bütün güncel UEFI firmware'leri BIOS Uyumluluk Modu adında bir özelliğe sahiptir. (Çoğu anakartın ayarında CSM diye geçer.) BIOS Uyumluluk Modu, BIOS'u simule etmeye yarar. Yani aynı BIOS firmware'i gibi diskin başında MBR'yi arayabilir, MBR'den aldığı bilgilerle Bootloader'ı çalıştırabilir. Yani "CSM'yi etkinleştirdim, UEFI'yi devre dışı bıraktım" gibi söylemler aslında UEFI firmware'in BIOS Uyumluluk Modu özelliğini etkinleştirdim anlamına gelir
Yanlış. SecureBoot, UEFI'nin 2.4a versiyonu itibari ile UEFI'ye dahil olmuş bir güvenlik özelliği. Yani SecureBoot'u kapatınca UEFI kapatılmış olmuyor.
Yukarıda da anlattığım üzere Microsoft ile SecureBoot'un hiçbir alakası yok. SecureBoot bir UEFI özelliği. UEFI'yi de ilk geliştirmeye başlayan Intel. Şu anda ise tüm majör üreticilerin dahil olduğu bir kurum tarafından geliştirilmeye devam ediliyor.
BIOS kullanan bilgisayarlarda Windows'un yükleneceği sabit disk MBR dediğimiz disk şemasını kullanır. Bu disk şemasını kullanan bilgisayarlarda, bilgisayarı açtığınızda BIOS'un, Windows'un başlatılmasını sağlayan dosyaların yerini bulabilmesi için bu dosyaların bulunduğu bölüm "Aktif" olarak işaretlenir. Böylece BIOS hangi bölümde Windows önyükleme dosyalarının olduğunu "anlar" ve kendisinin yapacağı işler bittikten sonra dizginleri Windows'un önyükleme dosyalarına verir. Bu konuyla ilgili daha fazla bilgi sahibi olmak istiyorsanız burayı okuyabilirsiniz: Sabit Disk (I) : Bir Diskin Ön Yüklenme (Boot) Süreci ve MBR
UEFI çok daha akıllıca kurgulanmış bir önyükleme süreci ile işliyor. Basit ve verimli. Bu yüzdendir ki -sizinde dikkatinizi çekmiştir- bilgisayarın önyükleme dosyalarının hasar görmesinden kaynaklı açılmama durumları UEFI firmware kullanan bilgisayarlarda eskisi kadar sık görünmüyor. Görünse dahi Windows kendisi kolayca onarabiliyor veya kullanıcı kendisi elle kolayca onarabiliyor.
Çünkü BIOS yerine UEFI kullanan bilgisayarlarda süreç farklı işliyor. UEFI, GPT disk şemasını kullanıyor ve UEFI, önyüklenmek için Fat dosya sistemini kullanan bir bölüme ihtiyaç duyuyor. BIOS için gerekli olan "Aktif" bölüntü kavramı ise GPT disklerde yok. Ayrıca önyükleme bölümünün GUID ya da benzeri metotlarla işaretlenmesi de gerekmiyor. UEFI firmware kulanan bir bilgisayarın diskinde Fat dosya sistemini kullanan bir bölümün bulunması, (EFI Sistem Bölümü (ESP)) bu bölümde EFI adında bir klasör olması ve bu klasöründe gerekli dosyaları (*.efi dosyası) içermesi bilgisayarın düzgün bir şekilde önyüklenebilmesi için yeterli.
Adım adım anlatmak gerekirse süreç tam olarak şu şekilde işliyor;
* Firmware (Türkçeye geçtiği haliyle "Bellenim") herhangi bir donanımın içinde gömülü gelen (Özel bir belleğe kayededilmiş) alt seviye yazılım anlamına geliyor. Donanım burada bir ekran kartı, bir anakart, bir uydu alıcısı, bir fotoğraf makinesi olabilir. Bu sayede donanım, üst seviye yazılım (İşletim sistemi) dizginleri ele alıncaya/yükleninceye kadar kendisinin ne yapması gerektiğini bilir. PC için firmware BIOS veya UEFI'dir. Firmware cihazı başlattıktan sonra komutayı bir işletim sistemine veya işletim sistemi ile anlaşabilecek bir sürücüye bırakır.
→
Konuyla ilgili olarak Bkz. UEFI Bilgisayarınız Açılmıyor. "BCD is Missing" Hatası
Birkaç Düzeltme
Benim bilgisayarım UEFI BIOS kullanıyor!
Yanlış!. UEFI BIOS diye bir şey yok. UEFI ve BIOS ikisi de birer firmware. Herhangi bir bilgisayar sadece bir firmware kullanabileceği için bilgisayarınız ya UEFI'dir ya da BIOS.
UEFI devre dışı bırakılabilir!
Yanlış! "UEFI'yi devre dışı bıraktım BIOS kullanıyorum" diye bir şey yok. Bütün güncel UEFI firmware'leri BIOS Uyumluluk Modu adında bir özelliğe sahiptir. (Çoğu anakartın ayarında CSM diye geçer.) BIOS Uyumluluk Modu, BIOS'u simule etmeye yarar. Yani aynı BIOS firmware'i gibi diskin başında MBR'yi arayabilir, MBR'den aldığı bilgilerle Bootloader'ı çalıştırabilir. Yani "CSM'yi etkinleştirdim, UEFI'yi devre dışı bıraktım" gibi söylemler aslında UEFI firmware'in BIOS Uyumluluk Modu özelliğini etkinleştirdim anlamına gelir
SecureBoot'u kapatınca UEFI kapanır!
Yanlış. SecureBoot, UEFI'nin 2.4a versiyonu itibari ile UEFI'ye dahil olmuş bir güvenlik özelliği. Yani SecureBoot'u kapatınca UEFI kapatılmış olmuyor.
SecureBoot'u Microsoft başımıza bela etti! Microsoft Windows'tan başka bir işletim sistem, kurulmasın diye SecureBoot'u geliştirdi!
Yukarıda da anlattığım üzere Microsoft ile SecureBoot'un hiçbir alakası yok. SecureBoot bir UEFI özelliği. UEFI'yi de ilk geliştirmeye başlayan Intel. Şu anda ise tüm majör üreticilerin dahil olduğu bir kurum tarafından geliştirilmeye devam ediliyor.
UEFI Önyükleme (Boot) Süreci
BIOS kullanan bilgisayarlarda Windows'un yükleneceği sabit disk MBR dediğimiz disk şemasını kullanır. Bu disk şemasını kullanan bilgisayarlarda, bilgisayarı açtığınızda BIOS'un, Windows'un başlatılmasını sağlayan dosyaların yerini bulabilmesi için bu dosyaların bulunduğu bölüm "Aktif" olarak işaretlenir. Böylece BIOS hangi bölümde Windows önyükleme dosyalarının olduğunu "anlar" ve kendisinin yapacağı işler bittikten sonra dizginleri Windows'un önyükleme dosyalarına verir. Bu konuyla ilgili daha fazla bilgi sahibi olmak istiyorsanız burayı okuyabilirsiniz: Sabit Disk (I) : Bir Diskin Ön Yüklenme (Boot) Süreci ve MBR
Peki UEFI'de işler nasıl işliyor?
UEFI çok daha akıllıca kurgulanmış bir önyükleme süreci ile işliyor. Basit ve verimli. Bu yüzdendir ki -sizinde dikkatinizi çekmiştir- bilgisayarın önyükleme dosyalarının hasar görmesinden kaynaklı açılmama durumları UEFI firmware kullanan bilgisayarlarda eskisi kadar sık görünmüyor. Görünse dahi Windows kendisi kolayca onarabiliyor veya kullanıcı kendisi elle kolayca onarabiliyor.
Çünkü BIOS yerine UEFI kullanan bilgisayarlarda süreç farklı işliyor. UEFI, GPT disk şemasını kullanıyor ve UEFI, önyüklenmek için Fat dosya sistemini kullanan bir bölüme ihtiyaç duyuyor. BIOS için gerekli olan "Aktif" bölüntü kavramı ise GPT disklerde yok. Ayrıca önyükleme bölümünün GUID ya da benzeri metotlarla işaretlenmesi de gerekmiyor. UEFI firmware kulanan bir bilgisayarın diskinde Fat dosya sistemini kullanan bir bölümün bulunması, (EFI Sistem Bölümü (ESP)) bu bölümde EFI adında bir klasör olması ve bu klasöründe gerekli dosyaları (*.efi dosyası) içermesi bilgisayarın düzgün bir şekilde önyüklenebilmesi için yeterli.
Adım adım anlatmak gerekirse süreç tam olarak şu şekilde işliyor;
- Kullanıcı bilgisayara güç verir.
- Bilgisayar EFI firmware'i* yükler.
- EFI firmware bilgisayara takılı olan tüm depolama birimlerini tarar ve EFI Sistem Bölümü'nü (ESP) arar. Bu bölümü ararken baktığı tek kriter bölümün Fat dosya sistemine sahip olması ve bu bölümün kök dizininde EFI adında bir klasörün olmasıdır. Yani bu şartları karşılayan her bölüm ESP bölümü olabilir.
- EFI firmware, ESP bölümünü bulduktan sonra bu bölümdeki EFI klasöründe bir .efi dosyası arar. Windows yüklü bilgisayarlarda bu dosya bootmgfw.efi dosyasıdır ve EFI\Microsoft\boot klasöründe bulunur.
- EFI firmware, bootmgfw.efi dosyasını bulduğunda çalıştırır. Bundan sonra kontrol Windows önyükleme dosyasına yani bootmgfw.efi'ye geçer.
- bootmgfw.efi'nin ilk işi aynı klasörde (EFI\Microsoft\boot) bir BCD dosyasını aramak olur. Bu BCD dosyası bilgisayarda kurulu Windows(lar)la ilgili bilgileri içerir.
- bootmgfw.efi, BCD'en aldığı bilgilerle şunlardan birini yapar;
- Eğer bilgisayarda tek Windows kurulumu varsa 8. adımdan devam eder.
- Eğer bilgisayarda birden fazla Windows kurulumu varsa size hangisinin önyükleneceğini seçmeniz için bir liste sunar. Seçiminizi yaptıktan sonra süreç 8. adımdan devam eder.
- Bootmgfw.efi'nin BCD'den aldığı 2. bir bilgi de Windows'un kurulu olduğu dizinin neresi olduğudur. Bu sayede C:\Windows\System32\winload.exe (İşletim sistemi yükleyicisi) ve/veya winload.efi dosyasını çalıştırır. (Buradaki süreci tam olarak bilmiyorum. Winload.exe'mi, winload.efi'mi kullanılıyor ya da ikisi beraber mi çalışıyorlar emin değilim)
- Winload.exe'nin çalıştığında ilk yaptığı iş ntoskrnl.exe'yi yani Windows'un çekirdek dosyalarını çalıştırmaktır. İşte kullanıcının gördüğü Windows'un yüklenme süreci burada başlar. Buraya kadar anlattıklarım ise çoğu bilgisayarda bir kaç saniye kadar sürer.
- Bundan sonra ilk olarak sistemin kullandığı temel sürücüler yüklenir.
- Ardından sitem dosyaları RAM'e yüklenir.
- Sistem dosyalarının yüklenmesi bittiğinde ELAM (Early Launch AntiMalware) sürücüleri yüklenir. ELAM, Microsoft veya Microsoft olmayan antimalware sürücülerini yükleyebilir. ELAM tam teşekküllü bir anti-malware çözümü değildir. Son derec basit bir işlev görür: Windows başlayana kadar yüklenen tüm sürücüleri incele, güvenilir sürücü olarak işaretlenenlere karışma ama araya karışmaya çalışan ne idüğü belirsiz bir sürücü olursa engelle.
- Bundan sonraki aşamada 3. parti sürücüler ve anti-malware programı yüklenir.
- Bütün bu aşamalar başarıyla tamamlanırsa kullanıcı artık oturum açma ekranı ile karşılaşır ve süreç sona erer.
* Firmware (Türkçeye geçtiği haliyle "Bellenim") herhangi bir donanımın içinde gömülü gelen (Özel bir belleğe kayededilmiş) alt seviye yazılım anlamına geliyor. Donanım burada bir ekran kartı, bir anakart, bir uydu alıcısı, bir fotoğraf makinesi olabilir. Bu sayede donanım, üst seviye yazılım (İşletim sistemi) dizginleri ele alıncaya/yükleninceye kadar kendisinin ne yapması gerektiğini bilir. PC için firmware BIOS veya UEFI'dir. Firmware cihazı başlattıktan sonra komutayı bir işletim sistemine veya işletim sistemi ile anlaşabilecek bir sürücüye bırakır.