Windows 8 build 7978 (fbl_grfx_dev1)

6.2.7978.0.fbl_grfx_dev1.110406-1700
Build of Windows 8
Screenshot
OS familyWindows NT
Version number6.2
Build number7978
Build revision0
Architecturex86
Build labfbl_grfx_dev1
Compiled on2011-04-06
Expiration date
Timebomb2011-07-01 (+86 days)
About dialog
7978-winver.png
TCB.png

Windows 8 build 7978 (fbl_grfx_dev1) is a build of Windows 8, which was shared on 9 May 2021. It is the last build to feature the boot screen used in Windows 7 and the last to utilize the Windows Classic visual style in the Preinstallation Environment.

Editions and keys[edit | edit source]

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

The Redlock tool 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 and quirks[edit | edit source]

App tiles[edit | edit source]

Some app names (such as Control Panel, Chess Titans, Defragment and Optimize Drives, etc) may be truncated by normal sized tiles.

Advanced Vector Extensions CPU bug[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.

Setup[edit | edit source]

This build must be installed on either an IDE or a SATA hard drive as SCSI disk devices will not be detected properly.

Hardware[edit | edit source]

  • Some graphics drivers may present graphical artifacts such as window borders being displayed only or screen flickering while moving the cursor.
  • On some devices, the video driver may not be able to present any graphics after booting into the operating system. Rebooting may help resolve this issue.
  • This build incorporates a USB 3.0 driver that is not compatible with some USB controllers.

Aero[edit | edit source]

Only the top portion of the window frame is blurred when using the Windows Aero theme, leaving the side borders transparent.

Behavior in Starter and Home Basic editions[edit | edit source]

This build automatically enables Aero Glass transparency after installing the Starter and Home Basic SKUs, despite product policies limiting usage of such effects. Changing the current visual style over to a different one (e.g.: Windows Basic) will disable glass effects.

General[edit | edit source]

If using VMware Workstation versions 15.x or above changes in build 7878, attempting to restart or shutdown in this build will cause a softlock. To fix this, use the Power menu from the VM section. This bug persists until build 8008.

Miscellaneous[edit | edit source]

  • 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 dedicated graphics driver.

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.

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 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]