Microsoft Gewinnspiel

Windows 7 32-bit with full 4 GB or 8 GB RAM support

tempobox.de - Der DSL Vergleich für Deutschland

Do not work - say many people. And it still goes.

In the Internet often haunts the statement a 32-bit operating system can technically only managed a maximum of 4 GB of RAM. This is wrong and Microsoft is even evidence itself, that with the special version of "Windows Server 2003 Datacenter Edition" it worked:

http://technet.microsoft.com/en-us/library/cc758523(WS.10).aspx
64-GB RAM Maximum
... the 32-bit version of Windows Server 2003, Datacenter Edition supports up to 64 GB of RAM on x86-based computers. ...

The kernel of the 32-bit version of Windows 7 has only a lock, which prevents access to more memory. More dramatically is this lock in the 32-bit version of Windows 7 Starter Edition: There the prohibition is much more rigorous and it only allows access to 2 GB of RAM:

Computer info overwiev Starter unpatched

In the 32-bit version of Windows 7 from 4 GB usually only 3.25 -3.5 GB of RAM are usable:
Computer info overwiev unpatched

In general many people believe this "not usable" RAM
is occupied by the graphic card RAM:
Resource Monitor unpatched

The German computer magazine c't has made a test
with different graphic cards (c't 23/2009, page 165):

Graphic card RAM Usable RAM from 4 GB
0 MB 3.5 GB
128 MB 3.5 GB
256 MB 3.25 GB
512 MB 3.25 GB
1024 MB 3.25 GB

These results are completely incomprehensible. Why is with no video card (0 MB, connection via Remote Desktop) 512 MB RAM blocked? Why blocked a graphic card with 128 MB also 512 MB RAM – and not 128 MB? And why blocked a graphic card with 1024 MB "only" 750 MB?

The Russian Programmers Group "staforce" has written a small program witch removes the lock in the kernel of the 32-bit version of Windows 7. The program automatically makes a copy of the kernel file, then removes the lock and integrates the new kernel file as an extra boot menu entry in the Windows 7 boot menu. So then you have the option to start Windows 7 either as usual with the original kernel file or with the modified kernel file.

With such a patched (modified) kernel the 32 bit version of Windows 7
suddenly can use almost the entire 4 GB of RAM:
Resource Monitor patched

For these screen shots a 32 MB onboard graphic card is used. So 32 MB is really "hardware reserved". The rest of 2 MB is reserved for I/O ports (USB port, serial-, parallel port, etc.).

And even 8 GB of RAM are now no longer a problem.
The original kernel still reports that 4898 MB are "Hardware Reserved" - what hardware?
8 GB Resource Monitor unpatched

The patched kernel then reports correct that only 34 MB is "Hardware Reserved":
8 GB Resource Monitor patched

The RAM limit of the 32-bit version of Windows 7 is therefore 64 GB - like Microsoft describes for the "Windows Server 2003 Datacenter Edition" (see above). More extensive details - still from Vista-times - see here by Geoff Chappell.

The patch

The program "4GB-7600.RTM.x86.04.08.2009.exe" (2,2 MB) that patches the kernel is not yet translated into English. But the patch-program has only one button which must be pressed:

Staforce Patch

The program makes automatically a copy of the kernel file, then removes the lock and integrates the new kernel file as an extra boot menu entry in the Windows 7 boot menu. So then you have the option to start Windows 7, either as usual with the original kernel file or with the modified kernel file.

What the patch is doing you can read here in German language or here in machine translation. So you also can do it manually.

The patch has two small but treatable side effects:

  • Because Windows 7 observed the changes the kernel can not boot normally. For the Microsoft programmers who often times work with patched kernel Microsoft has built in a boot parameter - an additional switch: "testsigning = Yes"). So they can test their patched kernels. With this switch the patched kernel can start easily.
  • But this switch leads to the fact that on the desktop background, lower right corner (above the clock) a hint ("Watermark") is displayed:

Watermark

To remove this "watermark" the patch program delivers a separate program
"watermark remover" ("Watermark Remover"):
Watermark remover

This currently doesn't work - or only with Russian watermarks. Therefore you can press "Y" for "yes" or "N" for "no". However other "Watermark remover" from the Internet work properly. Afterwards the PC immediately reboots. Upon reboot there are 2 boot options - either the old, unmodified kernel or the new, patched kernel.

In a Command Prompt with admin rights you can see with the command
"bcdedit" the new boot menu entry in detail:
Bootmenu bcdedit

The text that appears in the boot menu can be found under "description".
"testsigning = Yes"  allows the patched kernel to start despite modification.
The copied and modified kernel is called "ntkrlStaforce.exe".
With "pae = ForceEnable" the address extension for the RAM is activated.