1

I'm having a relatively new hardware (i5 CPU x64) with a legacy 32 bit Windows 10 install. It is running older company software so the upgrade to 64 bit is not practical for several reasons.

I know that for longer time the 32 bit Windows had the option in some cases to enable PAE (Physical Address Extension) to increase the 32 bit address limit to 36 bits. This was available since Windows XP SP2. See this:

https://docs.microsoft.com/en-us/windows/win32/memory/physical-address-extension

PAE is supported only on the following 32-bit versions of Windows running on x86-based systems:

  • Windows 7 (32 bit only)
  • Windows Server 2008 (32-bit only)
  • Windows Vista (32-bit only)
  • Windows Server 2003 (32-bit only)
  • Windows XP (32-bit only)

I presume the page may be older to not list Win 10.

I am aware that the processes still have a limit of 2 GB RAM in such cases.

I need more memory. How can I enable PAE for Windows 10 pro 32 bit? This is the desktop version of the OS.

I tried "bcdedit /set pae ForceEnable" that seemed to run fine without any errors. However the memory limit stays 4 GB after reboot. Msconfig and disabling max memory option does not help either. BIOS does not seem to have a DEP option, but the MS doc says that PAE does not need hardware support and can be enabled from software as well.

The Windows 10 control panel setting shows that 8 GB memory / 3.25 usable. So the 8 GB memory can be seen by the hardware and the OS.

Can I enable PAE? How? Thanks.

2 Answers 2

0

Windows 10 (32 bit) is limited to 4 GB even with PAE enabled. https://en.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Windows

The official Microsoft document about client OS limitations is here.

Devices have to map their memory below 4 GB for compatibility with non-PAE-aware Windows releases. Therefore, if the system has 4GB of RAM, some of it is either disabled or is remapped above 4GB by the BIOS. If the memory is remapped, X64 Windows can use this memory. X86 client versions of Windows don’t support physical memory above the 4GB mark, so they can’t access these remapped regions.

You could try some of these:

  • Check BIOS settings for onboard video memory limits. BIOS might be giving away RAM for an onboard video card. Minimizing video RAM could raise 3.25 GB limit closer to 4 GB
  • Check BIOS settings that might impact memory for 32-bit OS. This is really specific and depends on your motherboard manufacturer
  • Install 64-bit OS on the hardware and use Hyper-V or other virtualization technology to run your legacy app in guest 32-bit OS
  • Install 32-bit server version of Windows OS which supports more than 4 GB (keep in mind that all 32-bit Windows Server OSs are unsupported)

Hope this helps

5
  • Thanks. The info on your link might not be correct because my link says that XP, Vista and Win7 also had the support of the PAE feature, so it is not entirely clear why it could not work. If Microsoft deliberately limits it in Windows 10 then of course there's not much to do. I'd be feeling disappointed about it if so. Especially that we all know it is possible and depends only if they implement it. It is also true that the 32 bit era is and should be over. That's fair. Only a couple of legacy stuff craves for it in my case.
    – horv77
    Oct 1, 2021 at 14:14
  • @horv77 I have updated my answer with an official link about OS limitations (including Windows 10). One more thing came to my mind, that you could try to install 32-bit version of Windows Server OS, which supports more than 4 GB. Though all of them are unsupported, so I can't guarantee that would work. Also, please specify more details on why do you need more memory on a specific device and if 32-bit application has any special requirements. There could be more than one solution to your problem, besides increasing addressable RAM
    – J-M
    Oct 1, 2021 at 14:41
  • Well thanks. I need more memory for more cache because the server runs DBs too and it helps performance greatly. Also I need it for other software that runs from time to time and eats about 1 to 2 GB. So if I have more RAM then the processes can split this up between them even if their own limit is 2G.
    – horv77
    Oct 1, 2021 at 16:43
  • @horv77 I think your options are: 1. Move DB workloads to another hardware (costly) 2. Install 32-bit Windows Server OS, like Win2008 Enterprise (costly and unsupported!!!) 3. install Windows 10 64-bit and use virtualization to run one or more 32-bit guest OS for legacy app(s). Option #3 is free and supported
    – J-M
    Oct 1, 2021 at 16:54
  • 1
    Option 3 is the best and what we'll do. Thx,
    – horv77
    Oct 1, 2021 at 18:01
0

Someone has released a patch for the kernel that enables PE in Windows 10/32-bit. It has been tested and is known to work in Windows 10 v21H2:

I think it simply enables PAE which was intended by Microsoft to be a server feature. It is also possible that not all hardware implementations properly support PAE, and perhaps Microsoft did not want to support the strange variety of commodity hardware with buggy PAE implementations on a workstation OS.

Of course backup your data and test before do some doing something like patch the kernel, but it appears to have worked for a few users at least.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .