有没有办法在32位Windows操作系统中启用超过4 GB的RAM?


22

我将PC升级到4 GB RAM,但只有3 GB。Windows 7 32位认为我有4 GB RAM,但使用的内存不超过3 GB。

有人告诉我,MS Windows 32位不支持大于3 GB的RAM。

因此,有什么方法可以使我的操作系统“ Windows 7 32位”支持超过3 GB的RAM?

*`注意:我无法升级到64位,因为我有很多程序无法在64位OS上运行。

编辑::

我尝试了Wonsungi先生的建议,但是每当我选中此选项时:

Enable support for 4 GB of RAM

我收到以下错误:

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

我的注册表中没有“ CLSID”,我不知道为什么!


23
在虚拟计算机时代,“许多程序无法在64位OS上运行”并不是真正的正当理由。使用VirtualBox(碰巧是免费的),您可以在无缝模​​式(集成到主机OS)中的32位Windows虚拟机上运行32位应用程序,并且几乎不会有所不同(除非您需要图形的全部功能)卡可用于这些应用程序)

我同意莫莉。对于16位程序,可以使用DOSBox之类的模拟器。dosbox.com
Sasha Chedygov,2009年

1
如果您拥有Windows 7 Professional,Enterprise或Ultimate,请考虑签出Windows XP模式:microsoft.com/windows/virtual-pc
Alex

我在Win7 64位上使用了许多32位程序。它们的日期为1998年至2001年。大多数要求兼容模式才能工作。您是在假设它不起作用,还是有人告诉您它不起作用?你真的尝试过吗?
kmarsh,2009年

ad Edit1:我了解到您尚未升级到4 GB ...所以您还不知道它是否有效,对吗?为了确保它能正常工作,您需要升级b / c,不仅有Win限制,而且还有硬件限制。进行升级,然后在不起作用的情况下为我们提供详细的详细信息。
Gerd Klima

Answers:


11

您可以使用PAE,但是它不如64位那么好。检查此MSDN页面。

启用PAE

如果在支持硬件的DEP的计算机上启用了DEP,或者为该计算机配置了内存范围超过4 GB的热添加存储设备,则Windows将自动启用PAE。如果计算机不支持启用了硬件的DEP或未为内存范围超过4 GB的热添加存储设备进行配置,则必须显式启用PAE。

要显式启用PAE,请使用以下BCDEdit / set命令设置pae引导项选项:

bcdedit /set [{ID}] pae ForceEnable

如果启用DEP,则不能禁用PAE。使用以下BCDEdit / set命令禁用DEP和PAE:

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

Windows Server 2003和Windows XP:要启用PAE,请使用boot.ini文件中的/ PAE开关。要禁用PAE,请使用/ NOPAE开关。要禁用DEP,请使用/ EXECUTE开关。


1
To explicitly enable PAE, use the following BCDEdit /set command to set the pae boot entry option: bcdedit /set [{ID}] pae ForceEnable 在您提供的MSDN页面上找到了这个。但是我不知道如何以及在何处编写此命令。你能帮我吗?
瓦希德·比塔尔

5
如果您不知道该怎么做,我强烈建议您完全不要这样做,如果出现问题,您将需要这些知识来挽救您的系统。
Phoshi

4
PAE开关不是隐藏的奇迹,当然也不是4 GB 32位系统的圣杯(否则每个人都会使用它,对吗?)。这可能会导致系统不稳定。

2
PAE开关仍然不允许您使用整个4gb的RAM。请参阅以下我的回复,以获取解决此问题的解决方案。
突破

2
“在基于x86的系统上运行的某些32位版本的Windows Server可以使用PAE访问最多64 GB或128 GB的物理内存。” 这篇文章仅适用于Windows Server-Windows的32位桌面版本将仅处理4GB。这是许可问题,而不是硬件或软件问题,运行此命令不会改变这一事实-msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx
娜塔莉亚当斯

13

阅读:杜德,我的4 GB RAM在哪里?

有关常规信息,还提供有关每个Windows版本的内存限制的概述:

Windows版本的内存限制


他们说这是X86问题。您能解释一下为什么Mac Pro中32位OSX可以轻松达到16 Gb吗?
伯特

顺便说一句,在8位和16位区域中,RAM量超过2 ^位字节是很常见的。
伯特

4
PAE(物理地址扩展名)的维基百科条目指出:Mac OS X适用于Intel Macs的Mac OS X在Apple支持的所有CPU上都支持PAE和NX位(从第10.4.4版开始,从第一个Intel版本开始)。尽管Mac OS X 10.5 Leopard内核仍为32位,但Mac Pro和Xserve系统当前可以支持32 GiB的RAM。Mac OS X 10.6 Snow Leopard内核可以选择在某些系统上以64位运行 。en.wikipedia.org/wiki/Physical_Address_Extension
Gerd Klima

1
OSX 32和Linux Kernel 2.6 32本质上是32/64字节操作系统,主要使用32位指令,但使用一些64位内存寻址,尤其是用于文件系统和O / S内存分配。在它们上运行的程序仍受某些32位限制。
kmarsh,2009年

5
这是不正确的。Linux内核的32位版本不是某些奇怪的32/64字节[sic]操作系统。它们是32位操作系统,如果选择了正确的选项,则可以利用PAE寻址2 ^ 36字节的内存,尽管每个进程少于2 ^ 32。如果内核是64位,则使用64位寻址。
ChrisInEdmonton,2009年

11

最近,一群程序员发布了Windows 7内核补丁,以允许在Windows 7下使用超过4 GB的RAM。 单击此处下载补丁,或查看有关它的更多信息。该修补程序基本上将Windows 7内核修改为与Windows Server 2003 Datacenter Edition更相似,后者在32位模式下最多可兼容8 GB RAM。

该修补程序使您可以将PAE很好地扩展到Windows 7 32位下的8 GB RAM中。有关Microsoft为什么实施此技术限制的详细信息,请参阅本文

请注意,即使系统可以访问更多的进程,单个进程仍将限制为4 GB。尽管如果您有8 GB的RAM,那么至少您还有4 GB的空间可用于其他进程;)


1
我已经使用此补丁几个月了,没有遇到任何问题。某些程序(尤其是Photoshop)在使用大量RAM时不会遇到麻烦。:)
突破

1
请记住,篡改系统文件违反了产品许可证,并且使保修无效。
kinokijuf 2012年

我想说一下,这种破解可能会持续一段时间。但是更新系统可能是俄罗斯轮盘游戏-微软可能不会故意堵塞内核漏洞,但是更新可能会使您的系统陷入困境。
Natalie Adams

@NathanAdams这不是一个“漏洞”,这是许可内存的结果(请参阅我上面链接的文章)。此修补程序还会在修补现有内核之前先对其进行复制,因此,如果您担心,可以直接启动Windows,而无需安装该修补程序即可运行Windows Update。
突破

8

据我所知,32位窗口可以使用高达64 GB的内存,并且可以被“黑客攻击”。
此处对此漏洞进行了详细描述:Windows Vista中的许可内存
(注意:我不建议任何人实际尝试。)
这也使阅读很有趣,因为它很好地解释了所涉及的所有概念。
我在他的概念验证图像下方进行复制。

Windows Vista的32位版本限制为4GB并不是因为32位操作系统受到任何物理或技术限制。Windows Vista的32位版本均包含用于使用4GB以上物理内存的代码。Microsoft只是不许可您使用该代码。

图片


请在上方查看我的评论,Vista及更高版本将在该窗口中报告TOTAL PHYSICAL内存。这不是操作系统将使用的总金额。我敢肯定,hack是过时的,可能无法在Vista SP2中使用。此外,64位处理器已成为常态,因此没有理由不使用64位OS。
娜塔莉·亚当斯

@Nathan:我引用的文章引人入胜。根据我对Intel体系结构(无论是否为32位)的了解,唯一的限制应该是每个应用程序 4GB 。
harrymc


我很确定这违反了EULA。因此,我不建议您安装该补丁。
娜塔莉·亚当斯

@Nathan Adams:我也不推荐。
harrymc 2011年

7

这个问题的答案实际上是“取决于您问谁”。

有人说使用PAE,它将允许您处理高于4GB的地址,但Microsoft不会允许您使用许多32位版本的Windows。

http://msdn.microsoft.com/zh-cn/library/aa366778(VS.85).aspx
下表指定了Windows 7的物理内存限制。

物理4GB限制,期限。这是许可问题。甚至可能会出现“ hack”,使您使用超过4GB的内存,但我不记得了。

请注意:32位版本的Vista和Windows 7将报告系统中的总物理内存,但仅会使用其中的4GB。因此,即使在“系统”控制面板上显示16GB的内存,在运行32位Windows的计算机上插入16GB的内存也只会使用4GB的MICROSOFT。Windows 7,Vista和XP 32位将仅使用4GB RAM,这是事实。但是,某些版本的Windows Server将在启用PAE的情况下使用4GB以上的内存。

对于那些“错误的PAE将允许您使用超过4GB”的用户,是的,我同意,但是,微软表示您只能在大多数32位台式机操作系统上使用4GB,因此,如果您认为该页面有误,请发送给他们电子邮件或致电给他们投诉。


4GB是人为限制。英特尔硬件可以处理更多任务。即使是32位操作系统,在4K页中分配内存,并假设它以32位整数存储页号,也可以轻松处理4GB x 4K = 16TB。对于每个应用程序,一个32位寄存器的字节寻址限制为4GB。因此,如果MS为操作系统说4GB,这仅仅是一种市场炒作,而有一个简单的限制,即我的答案中引用的文章已本地化为内核中很少的硬件指令。
harrymc

2
请重新阅读我的帖子,由于许可,Microsoft对此有限制。我从来没有说过,在32位操作系统中,您不能使用超过4GB的空间,在Windows的桌面版本中,您根本不能使用。这是事实。要“修复”它也不是简单的注册表修复。您需要一个反汇编程序,一个十六进制编辑器,汇编知识和一些运气。
Natalie Adams,2009年

5

有人告诉我,MS Windows 7 32位不支持大于3 GB的RAM。

有人错了。32位Windows桌面操作系统最多支持4 GB的物理内存。但是,由于x86体系结构的硬件限制,如果安装了4 GB,则OS仅可使用3.5〜GB。


2
这是不正确的。例如,32位Linux在支持4 GB RAM方面没有问题。或者说,尽管有每个进程的限制,但还是有64 GB的RAM。哎呀,某些版本的32位Windows支持超过4 GB的RAM。见en.wikipedia.org/wiki/...
ChrisInEdmonton

2
什么不正确???32位Windows最多支持4 GB物理内存,故事的结尾(除非受到其他因素的限制,即“入门版”的限制),此表所指的是包含64位版本的Windows,例如早期的Windows 2000 Advanced服务器和数据中心。

1
“ Microsoft Windows 2000 Advanced Server限量版和Windows 2000 Datacenter Server限量版是为64位Intel Itanium微处理器设计的。”

1
Windows 2000 Advanced Server在32位系统上使用PAE来访问高达8 GB的RAM。还有一个IA-64版本,但这不是我要谈论的版本。
ChrisInEdmonton,2009年

1
好吧,我不太在意这种说法或与异国/过时的服务器或* nix操作系统进行比较,OP声称Windows 7 32位不支持超过3 GB的RAM,这是错误的,它最多支持4GB,懂吗?但为了使您满意,我将相应地编辑我的答案。

3

只是好奇,您能否举一些无法在64位Windows上运行的程序的示例?由于Windows XP与32位程序具有出色的向后兼容性,因此它是64位Windows。检查此页上的第五个问题:h ttp://windows.microsoft.com/zh-CN/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions。以Microsoft Office为例,它都是32位的,但是在64位Windows上运行良好。

唯一不希望转移到64位的情况是,如果您的硬件没有64位驱动程序。硬件驱动程序必须与OS平台匹配。


我的雇主使用的Juniper VPN软件无法在64位操作系统上运行。
杰夫·沙托克(

2
VPN软件更多地属于“驱动程序”类别。
churnd

我有许多“阿拉伯语”程序不适用于64位。我也有一些“旧”硬件没有64位驱动程序。
瓦希德·比塔尔


-4

以下链接列出了一种方法

  • 复制内核
  • 破解它使用4GB和RAM上述(编辑十六进制字符串7C 11 8B 45 FC 85 C0 74 0A7C 10 8B 45 FC 85 C0 74 097C 10 B8 00 00 02 00 90 907C 10 B8 00 00 02 00 90 90分别)
  • makecert -r -ss my -n "CN=My Cert"和签名signtool sign -s my -n "My Cert" ntkl64g.exe
  • 并将其添加为辅助启动选项 bcdedit

以非常明确和直接的方式

http://www.evga.com/forums/tm.aspx?m=960087&mpage=1&print=true

对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.