
So, will it be enough to provide a custom INT 10H handler (by implementing a specialized UEFI preloader) to boot Windows 7 successfully on the modern pure UEFI systems? This custom INT 10H handler can rely on UEFI GOP to provide some sort of "mini CSM" (not a real thing, but just enough for VIDEOPRT.SYS to boot Windows 7).Īs our experiments demonstrated, this, unfortunately, is not enough. Starting from Windows 8, everything has changed: INT 10H handler is no longer required by Windows to boot, BIOS emulator and entire VGA miniport driver both are gone, instead Windows basic display driver relies upon UEFI Graphics Output Protocol aka GOP. By the way, Windows 7 and Windows 2008 Server R2 never directly run the INT 10H handler installed by BIOS/CSM, instead they contain an emulator in the VGA miniport driver (VIDEOPRT.SYS) which runs 16-bit BIOS code in a sandbox, without leaving 64-bit protected mode and without halting other CPU cores. What is really important for Windows 7 is a VGA-compatible GPU with properly mapped I/O ports and INT 10H handler (the former depends mostly on the chipset and the latter is usually provided by firmware when CSM mode is enabled in the settings). For example, "bhyve" virtual machine manager in FreeBSD supports 64-bit editions of Windows 7 and Windows 2008 Server R2, despite the complete lack of CSM support. It's a well-known fact that Windows 7 works best in CSM mode, which, unfortunately, is not supported by the firmware of many modern motherboards and laptops.Ĭontrary to popular belief, it's possible to install Windows 7 圆4 to the pure UEFI systems without CSM support.
