Windows 8 build 7978

6.2.7978.0.fbl_grfx_dev1.110406-1700
Build of Windows 8
6.2.7978.0.fbl_grfx_dev1.110406-1700
OS family
Architecturex86
Compiled2011-04-06
Timebomb2011-07-01 (+86 days)
Works in
About
7978-winver.png
TCB.png

Windows 8 build 7978 is a build of Windows 8. This build was leaked to the BetaWiki Discord server on 9 May 2021. It is the last build to feature the boot screen used in Windows 7 and to use the Windows Classic visual style in the Windows Preinstallation Environment.

Editions and keys[edit | edit source]

Edition / SKU Name Key
Starter 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]

Redlock can be used to unlock all of the Redpill levels on this build, including the Start screen.

The design of the Start screen tile has been changed, and as such no longer features a colored background that is based on the application's icon. A dark aqua background has been introduced in place of the previous functionality.

Bugs[edit | edit source]

  • This build 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.
    • This problem can also present itself as three bugchecks occurring one after the other, with different error codes overwriting each other on the screen.
  • This build must be installed on either an IDE or a SATA hard drive since SCSI disk devices are not functional on this build.
  • On some devices, opening either Windows Photo Viewer or Internet Explorer results in a 0x50 bugcheck. This can usually be fixed by using the Windows Basic theme or on some machines, by installing a graphics driver.
  • Some graphics drivers may cause only the window borders to render, as well as cause the screen to flicker whenever the mouse is moved.
  • This build incorporates a USB 3.0 driver that is incompatible with some USB controllers.
  • On some devices, the screen may remain blank after booting into this build. If this occurs, keep restarting the machine until you are able to see the login screen.

Aero[edit | edit source]

This build appears to have a slightly broken Windows Aero theme, with only the top portion of the window frame using the blur effect, leaving the side borders transparent.

Compiler[edit | edit source]

This is one of the first builds to be compiled 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 Intel CPUs 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.

Most of the bugs found in this build are a side effect of the new compiler.

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 A042:

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 integrity checks and thus requires Test Mode to be enabled (by setting NoIntegrityChecks in the BCD to on) 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 for Intel's 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:

featureCompat.enable = "FALSE"
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"
monitor_control.enable_fullcpuid = "TRUE"

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]