Windows 8 build 7978
|Build of Windows 8|
|Timebomb||2011-07-01 (+86 days)|
Windows 8 build 7978 is a build of Windows 8, which was uploaded 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|
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]
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]
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. This is the last build to contain this bug.
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.
Miscellaneous[edit | edit source]
- On some devices, opening either Windows Photo Viewer or Internet Explorer results in a
0x50bugcheck. 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\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.