Windows 8 build 7973 (fbl_dnt3_wireless)
Build of Windows 8 | |
OS family | Windows NT |
---|---|
Version number | 6.2 |
Build number | 7973 |
Build revision | 0 |
Architecture | x86, x64 |
Build lab | fbl_dnt3_wireless |
Compiled on | 2011-03-30 |
Expiration date | |
Timebomb | 2011-07-01 (+93 days) |
About dialog | |
Windows 8 build 7973 (fbl_dnt3_wireless) is a build of Windows 8, which was uploaded to BetaArchive on 4 January 2019.
Editions and keys[edit | edit source]
Edition / SKU | Key |
---|---|
Starter [a] | 7Q28W-FT9PC-CMMYT-WHMY2-89M6G |
Home Basic | YGFVB-QTFXQ-3H233-PTWTJ-YRYRV |
Home Premium | RHPQ2-RMFJH-74XYM-BH4JX-XM76F |
Professional | HYF8J-CVRMY-CM74G-RPHKF-PW487 |
Ultimate | D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV |
Redpill[edit | edit source]
The Metro in this build is identical to its alternate compiles.
Bugs and quirks[edit | edit source]
Advanced Vector Extensions CPU bug[edit | edit source]
This build's x86 compile will not boot on some CPUs with the Advanced Vector Extensions (AVX) instruction set due to a bug where a CPU triple fault occurs immediately after the boot screen is first displayed. A workaround is discussed later in the article.
Upgrade[edit | edit source]
This build does not correctly copy the required installation binaries to the temporary Windows installation boot directory ($WINDOWS.~BT
) that are required to proceed to the next phase of the upgrade process. Upgrades must instead be performed using the older setup user located in the installation media's sources
directory or by using another build's setup components.
Aero[edit | edit source]
Only the top portion of the window frame is blurred when using the Windows Aero and Aero Lite theme, leaving the side borders transparent.
Compiler[edit | edit source]
This is one of the first builds to be produced using a new compiler. However, the problems surrounding it at that time resulted in the build becoming unbootable on certain hardware, as the boot loader does not properly function on modern x86 CPUs, namely Intel processors with the AVX instruction set and a select number of AMD CPUs. As a result, a CPU triple fault occurs resulting in either a crash on a hypervisor or a reboot on real hardware.
Patching winload.exe
to run on Intel processors with AVX[edit | edit source]
In order to properly enable SSE instructions for machines using Intel processor with AVX, the 9th bit in Control Register 4 (CR4) must be turned on. The following code is executed and is located in winload.exe
at offset A552
:
mov eax, cr4 ; 0f20e0
or eax, 20h ; 83c820 -- Turn on 5th bit, PAE (Physical Address Extension)
mov cr4, eax ; 0f22e0 -- Store it in CR4
mov eax, cr0 ; 0f20c0
or eax, 80000000h ; 0d00000080 -- Enable paging
mov cr0, eax ; 0f22c0
By default the following bits are set in CR0: Protected Mode (PE) (0x00000001
), Monitor co-processor (MP) (0x00000002
) and Extension type (ET) (0x00000010
), with no bits in CR4 set initially, so the need to turn on the 9th SSE bit (i.e. OR with 0x600
) should be done, but due to limitation in this piece of code, a rewriting needs to be done and the following approach may be used instead:
mov eax,620h ; b820060000
mov cr4,eax ; 0f22e0
mov eax,80000013h ; b813000080
mov cr0,eax ; 0f22c0
nop ; 90
nop ; 90
nop ; 90
nop ; 90
As a disclaimer, patching winload.exe with these changes will invalidate signatures and thus requires {bootmgr} nointegritychecks
to be enabled in the BCD in order to boot with the patched winload.exe, as well as ownership of the file in both %systemroot%\System32
and %systemroot%\System32\Boot
need to be altered in case file replacement was not possible.
Compatibility[edit | edit source]
VMware Workstation[edit | edit source]
For another workaround on the Intel SSE bug that does not involve patching and disabling security checks, the compatibility level must be set to version 7.x or lower in order to boot this build. In addition, the following block of code must be added to the VMX (virtual machine configuration) file in order to allow this build to boot on modern Intel CPUs:
cpuid.0.ebx = "0110:1000:0111:0100:0111:0101:0100:0001"
cpuid.0.ecx = "0100:0100:0100:1101:0100:0001:0110:0011"
cpuid.0.edx = "0110:1001:0111:0100:0110:1110:0110:0101"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
The above configuration is mostly not required if the host machine has an AMD processor, and as such only requires the compatibility version to be changed.
Gallery[edit | edit source]
Notes[edit | edit source]
- ↑ Only works on the x86 compile