Microsoft, Niye Vista RTM'nin UEFI Desteğini İnkâr Etti?

Katılım
28 Nisan 2016
Mesajlar
1.111
Makaleler
1
Çözümler
7
Yer
Çankaya/Ankara
Microsoft, zamanında, Vista RTM'nin sadece BIOS desteğine sahip olduğunu, Server 2008 RTM'nin UEFI desteğine sahip olduğuna dair açıklama yapmıştı. Yahu bir firma niye kendi yararına olan bir şeyi yok diyerek satar (Xiaomi ile BBK Electronics'in ucuz modellerde HDR desteğini belirtmemesi gibi düşünülebilirsiniz). Açıklama buydu:

Windows'da UEFI desteğinin tarihçesi:
  • İlk UEFI desteği, Windows XP ile geldi (fakat sadece IA-64 (Itanium) için. Çünkü UEFI, Itanium için tasarlanmış bir şeydi en başında. Sonra x86'ya vs. HP ile Intel tarafından port edildi)
  • İkinci UEFI desteğine sahip sürüm ise Windows 2000 ASLE (Advanced Server Limited Edition)'dır. IA+64'e özel, XP logolu bir Windows 2000 Advanced Server sürümüdür
  • İlk x86 (sadece 64 bit için) UEFI desteği, Windows Vista RTM ile geldi
  • İlk 32 bit UEFI desteği (ARMv7, x86 için birlikte) Windows 8 ile geldi (aslında Vista'da x86 için olacaktı. Bazı 32 ve 64 bit Longhorn buildlerinde 32 bit UEFI bulunuyor)
Windows 8'de ki UEFI, UEFI 2.3.1C sürümüne uygun tasarlanmıştır. O yüzden BIOS'a girme, Secure Boot, UEFI GOP ve BGRT (BGRT birkaç sürüm önce eklenen bir ACPI Tablosuydu. MEB okullarındaki Vestel Faz 1 Akıllı tahtaların BIOS'u UEFI 2.3.1C'den eski fakat bomboş bir BGRT'ye sahiptir) desteğine sahip.

Uyarılar

Windows Vista ile 7, EFI 1.10'a yönelik tasarlanmıştır. Çünkü Vista 2006 model. UEFI 2.0 ile EFI UGA 1.1 kaldırıldı ve yerine GOP geldi. Microsoft, UEFI 2.0'dan önce yaptığı için GOP desteği yoktur. EFI UGA 1.1 bulamazsa, INT 10 çağrısını kullanır. Bu yüzden UGA bulunmayan sistemlerde UEFI Boot'un yanında CSM'i (Legacy Boot desteğini de) açmak zorundasınız. Yoksa Windows logosunda kilitlenip kalıyor ulaşamadığı için INT 10'a.

Vista RTM ile UEFI:
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Windows Server 2003 ile UEFI (Itanium bir PC'den):
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Windows 10 (ARMv7) ile UEFI (Vestel Venus 5000 telefonumun üzerinden):
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Windows XP IA-32 (x86), size bunu söyleyecektir (GPT'yi tanımaz):
Ekran görüntüsü 2024-01-04 175203.png


Windows XP x64 ise:
Ekran görüntüsü 2024-01-04 175406.png

Ekran görüntüsü 2024-01-04 175417.png



Ek bilgi: Aslında x86 için de XP'de UEFI var. Sadece 2003 yılında Intel Developer Forum'a özel kaldı. Orada Insyde'ın MP3 Çalara vs. sahip UEFI BIOS'u tanıtıldı (x86'ya yeni port edildiği için):
efistartup.jpg


Windows Vista RTM ile SP1/SP2 ve Windows Server 2008 RTM/SP1/SP2'nin ISO dosyaları birebir aynıdır. UEFI'ye dair dosyalar bile tamamen aynı olmasına rağmen Server 2008 RTM'de var dediler sadece. bootx64/bootaa64/bootia64/bootarm.efi dosyaları C:\Windows\Boot\EFI klasöründe bulunuyor (install.wim'den alabilirsiniz. Vista/7'de USB'den kurulum yapma düşünülmediği için çıkarılmış hali ISO'larda bulunmaz. DVD için efisys.bin dosyasını ilk sektörde belirtilmiştir. Bu sebeple UEFI olarak DVD'den boot oluyor. USB vs. için aynı ESP'de ki gibi direkt olarak kendisi lazım (bootmgfw.efi dosyası oluyor. Bunu USB'nize attıktan sonra EFI\BOOT klasörünün içine atıp adını bootx64.efi yapmanız yetiyor):
Untitled.jpg
 
Son düzenleme:
Nasıl yapılıyor peki? Anlatabilir misiniz?
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Videoda QEMU'da Clover UEFI yükleyici kullandım. Baştaki legacy boot yanıltmasın. VirtualBox'un kendi EFI32'si de çalışıyor bir arkadaşıma göre, isterseniz test edebilirsiniz.

bootia32.efi ve BCD dosyaları Longhorn 5472'den alınıyor. Mantığı, BCD'de Win2000'in kurulu olduğu partition'ı belirtip sonrasında disable integrity checks vs seçenekleri etkinleştiriliyor (böylece signature problem olmuyor). Ayrıca modifiye edilmiş efi ve BCD dosyası sayesinde disable integrity checks aktif olunca sorun olmuyor. Orijinalinde bu özellik etkin olsa bile hala signature sorunu oluyordu.

Orijinal ntoskrnl.exe ve hal.dll, BSOD'a sebep oluyor. Bunun için patched ntoskrnl.exe ve hal.dll var. Ayrıca kdcom.dll de gerekli. Bu dosyalar, benim GitHub'taki Universal NT Installer projemde bulunabilir:
GitHub - ages2001/Universal-NT-Installer: A lightweight Linux-based installer for multiple Windows NT versions, supporting partitioning, formatting, and sysprepped image deployment. Installs in seconds on both modern and legacy systems.

Ayrıca 2000, NVMe diskten de UEFI boot yapabilir. Tek sorun, GPT sürücüsü kaldı. XP 32/64 için NVMe GPT UEFI boot sorunsuz. Sadece GPT sürücüsü, 2000 için backport edilmeli.

Hatta bonus olarak, bu efi ve BCD dosyalarının Legacy Boot versiyonu da var. bootmgr kullanılarak aynı BCD mantığı ile boot edilebiliyor. Yani bootmgr kullanma alt sınırı XP'den 2000'e düştü (evet, XP de bootmgr ve bootia32.efi/bootx64.efi ile çalışıyor UEFI IA-32 ve x86-64 ve bunların ayrı legacy versiyonları). Vista ve sonrası için durum aynı (GOP için FlashBoot 3.3n(bunu öneririm) veya UefiSeven sorunu çözüyor 64-bit XP/Vista/7 için). 64-bit için farklı longhorn build numarası gerekiyor (XP için). 2000 için zaten x86-64 yok.

Diğer dosyalar için eğer ilgi artarsa video linkimde veya proje linkimde dosya indirme bağlantılarını paylaşacağım.
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Videoda QEMU'da Clover UEFI yükleyici kullandım. Baştaki legacy boot yanıltmasın. VirtualBox'un kendi EFI32'si de çalışıyor bir arkadaşıma göre, isterseniz test edebilirsiniz.

bootia32.efi ve BCD dosyaları Longhorn 5472'den alınıyor. Mantığı, BCD'de Win2000'in kurulu olduğu partition'ı belirtip sonrasında disable integrity checks vs seçenekleri etkinleştiriliyor (böylece signature problem olmuyor). Ayrıca modifiye edilmiş efi ve BCD dosyası sayesinde disable integrity checks aktif olunca sorun olmuyor. Orijinalinde bu özellik etkin olsa bile hala signature sorunu oluyordu.

Orijinal ntoskrnl.exe ve hal.dll, BSOD'a sebep oluyor. Bunun için patched ntoskrnl.exe ve hal.dll var. Ayrıca kdcom.dll de gerekli. Bu dosyalar, benim GitHub'taki Universal NT Installer projemde bulunabilir:
GitHub - ages2001/Universal-NT-Installer: A lightweight Linux-based installer for multiple Windows NT versions, supporting partitioning, formatting, and sysprepped image deployment. Installs in seconds on both modern and legacy systems.

Ayrıca 2000, NVMe diskten de UEFI boot yapabilir. Tek sorun, GPT sürücüsü kaldı. XP 32/64 için NVMe GPT UEFI boot sorunsuz. Sadece GPT sürücüsü, 2000 için backport edilmeli.

Hatta bonus olarak, bu efi ve BCD dosyalarının Legacy Boot versiyonu da var. bootmgr kullanılarak aynı BCD mantığı ile boot edilebiliyor. Yani bootmgr kullanma alt sınırı XP'den 2000'e düştü (evet, XP de bootmgr ve bootia32.efi/bootx64.efi ile çalışıyor UEFI IA-32 ve x86-64 ve bunların ayrı legacy versiyonları). Vista ve sonrası için durum aynı (GOP için FlashBoot 3.3n(bunu öneririm) veya UefiSeven sorunu çözüyor 64-bit XP/Vista/7 için). 64-bit için farklı longhorn build numarası gerekiyor (XP için). 2000 için zaten x86-64 yok.

Diğer dosyalar için eğer ilgi artarsa video linkimde veya proje linkimde dosya indirme bağlantılarını paylaşacağım.

2000'i sabırsızlıkla bekliyorum (şu an XP'lerle yetiniyorum :D)

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Videoda QEMU'da Clover UEFI yükleyici kullandım. Baştaki legacy boot yanıltmasın. VirtualBox'un kendi EFI32'si de çalışıyor bir arkadaşıma göre, isterseniz test edebilirsiniz.

bootia32.efi ve BCD dosyaları Longhorn 5472'den alınıyor. Mantığı, BCD'de Win2000'in kurulu olduğu partition'ı belirtip sonrasında disable integrity checks vs seçenekleri etkinleştiriliyor (böylece signature problem olmuyor). Ayrıca modifiye edilmiş efi ve BCD dosyası sayesinde disable integrity checks aktif olunca sorun olmuyor. Orijinalinde bu özellik etkin olsa bile hala signature sorunu oluyordu.

Orijinal ntoskrnl.exe ve hal.dll, BSOD'a sebep oluyor. Bunun için patched ntoskrnl.exe ve hal.dll var. Ayrıca kdcom.dll de gerekli. Bu dosyalar, benim GitHub'taki Universal NT Installer projemde bulunabilir:
GitHub - ages2001/Universal-NT-Installer: A lightweight Linux-based installer for multiple Windows NT versions, supporting partitioning, formatting, and sysprepped image deployment. Installs in seconds on both modern and legacy systems.

Ayrıca 2000, NVMe diskten de UEFI boot yapabilir. Tek sorun, GPT sürücüsü kaldı. XP 32/64 için NVMe GPT UEFI boot sorunsuz. Sadece GPT sürücüsü, 2000 için backport edilmeli.

Hatta bonus olarak, bu efi ve BCD dosyalarının Legacy Boot versiyonu da var. bootmgr kullanılarak aynı BCD mantığı ile boot edilebiliyor. Yani bootmgr kullanma alt sınırı XP'den 2000'e düştü (evet, XP de bootmgr ve bootia32.efi/bootx64.efi ile çalışıyor UEFI IA-32 ve x86-64 ve bunların ayrı legacy versiyonları). Vista ve sonrası için durum aynı (GOP için FlashBoot 3.3n(bunu öneririm) veya UefiSeven sorunu çözüyor 64-bit XP/Vista/7 için). 64-bit için farklı longhorn build numarası gerekiyor (XP için). 2000 için zaten x86-64 yok.

Diğer dosyalar için eğer ilgi artarsa video linkimde veya proje linkimde dosya indirme bağlantılarını paylaşacağım.

Windows Server 2003 R2 64 bitte oldu ama normal Server 2003'ün 32 bitinde ise bu hatayı veriyor:
Screenshot 2025-07-29 112101.png


Şimdi normal Server 2003'ün (her ikisi de SP2 bu arada) Enterprise'ını denedim ve oldu. O ilk denediğim Web'te sorun vardı sanırsam.
 
Son düzenleme:
2000'i sabırsızlıkla bekliyorum (şu an XP'lerle yetiniyorum :D)


Windows Server 2003 R2 64 bitte oldu ama normal Server 2003'ün 32 bitinde ise bu hatayı veriyor:
Eki Görüntüle 2544844

Şimdi normal Server 2003'ün (her ikisi de SP2 bu arada) Enterprise'ını denedim ve oldu. O ilk denediğim Web'te sorun vardı sanırsam.
Server 2003, çok nadir kullandım o yüzden Web ve Enterprise hakkında çok bilgim yok.
Windows 2000 için ise, geriye GPT sürücüsü kaldı. Belki birkaç arkadaş, XP'nin GPT sürücüsünü backport etmeye çalışacaklar.
 
Server 2003, çok nadir kullandım o yüzden Web ve Enterprise hakkında çok bilgim yok.
Windows 2000 için ise, geriye GPT sürücüsü kaldı. Belki birkaç arkadaş, XP'nin GPT sürücüsünü backport etmeye çalışacaklar.
Bu arada son Whistler'da da (Build 2542) denedim ve Server 2003 Web Edition ile aynısı oldu
 
Son düzenleme:
Bu arada son Whistler'da da (Build 2542) denedim ve Server 2003 Web Edition ile aynısı oldu
Beta yapılarda sorun çıkabiliyor. Sadece stabil Windows 2000 ve XP(32/64) de denedim.

Bu arada Clover UEFI32 ile gerçek donanımda da (Ivy Bridge) Win2000 ve XP(32) UEFI boot çalıştı. XP64 için zaten BIOS'un kendi UEFI'si (CSM olmadan pure boot) çalışıyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı