Is there way to enable more than 4 GB RAM in 32-bit Windows OS?

I upgraded my PC to 4 GB RAM and I get only 3 GB. Windows 7 32-Bit consider that I've 4 GB RAM but didn't use more than 3 GB.

Someone told me that MS Windows 32-bit doesn't support RAM larger than 3 GB.

So please is there any way to make my OS "Windows 7 32-Bit" support more than 3 GB RAM ?

*`Note: I can't move to 64-bit because I've many program doesn't work with a 64-bit OS.

Edit::

I tried what Mr. Wonsungi advised me but whenever I check this option:

Enable support for 4 GB of RAM

I get the following error:

'Cannot access to the registry key HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-11d1-A9F0-00AA0060FA31}.'

There is no "CLSID" in my registry, I don't know why!.


You can use PAE, but it's not nearly as good as just going 64 bit. Check this MSDN Page.

Enabling PAE

Windows automatically enables PAE if DEP is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB. If the computer does not support hardware-enabled DEP or is not configured for hot-add memory devices in memory ranges beyond 4 GB, PAE must be explicitly enabled.

To explicitly enable PAE, use the following BCDEdit /set command to set the pae boot entry option:

bcdedit /set [{ID}] pae ForceEnable

IF DEP is enabled, PAE cannot be disabled. Use the following BCDEdit /set commands to disable both DEP and PAE:

bcdedit /set [{ID}] nx AlwaysOff
bcdedit /set [{ID}] pae ForceDisable

Windows Server 2003 and Windows XP: To enable PAE, use the /PAE switch in the boot.ini file. To disable PAE, use the /NOPAE switch. To disable DEP, use the /EXECUTE switch.


Read this: Dude, Where's My 4 Gigabytes of RAM?

For general info, there is also this overview on memory limits per Windows edition:

Memory Limits for Windows Releases


Recently, a group of programmers have released a kernel patch for Windows 7 to allow the usage of more than 4 GB of RAM under Windows 7. Click here to download the patch, or view more information about it. The patch basically modifies the Windows 7 kernel to be more like the Windows Server 2003 Datacenter Edition, which is compatible with up to 8 GB of RAM under 32-bit mode.

The patch allows you to extend the PAE well into 8 GB of RAM under Windows 7 32-bit. For more information about why Microsoft implemented this technical limitation, see this article.

Note that individual processes will still be limited to 4 GB even if the system can access more... Although if you had 8 GB of RAM, then at least you'd still have another 4 GB for other processes ;)


The answer to this question is really "depends on who you ask".

Some say to use PAE, which will allow you to address higher than 4GB BUT Microsoft will NOT let you on many of 32bit versions of Windows.

http://msdn.microsoft.com/en-gb/library/aa366778(VS.85).aspx
The following table specifies the limits on physical memory for Windows 7.

Physical 4GB limit, period. It's a licensing issue. There might even be a "hack" floating around to let you use more than 4GB, but I don't remember.

Please do note: Vista and Windows 7 on 32bit will report the TOTAL PHYSICAL RAM you have in System, but it will ONLY use 4GB of it. So, shoving 16GB in a computer running 32bit Windows will only use 4GB ACCORDING TO MICROSOFT even though "System" control panel will show 16GB. Windows 7, Vista, and XP 32bit will only use 4GB of RAM, its a fact. However, certain versions of Windows Server WILL use more than 4GB with PAE enabled.

For those going "your wrong PAE will allow you to to use more than 4GB", yes I agree, however, Microsoft says that you can only use 4GB on most of the 32bit desktop OS so if you feel that page is in error send them an email or call them to complain.


As far as I know, 32-bits Window can use memory up to 64 GB, and can be "hacked" to do so.
This hack is fully described here: Licensed Memory in Windows Vista.
(Note: I do not advice anyone to actually try it.)
It also makes interesting reading, since it explains very well all the concepts involved.
I reproduce below his proof-of-concept image.

That 32-bit editions of Windows Vista are limited to 4GB is not because of any physical or technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.

image