如何在 Windows 7(32 位)上启用 PAE 以支持超过 3.5 GB 的 RAM?

如何在 Windows 7(32 位)上启用 PAE 以支持超过 3.5 GB 的 RAM?

我知道 Windows XP 32 位可以通过以下方式配置聚丙烯酰胺凝胶电泳,以支持超过 3.5 GB 的 RAM。有没有关于使用 Windows 7 32 位执行此操作的好教程?

至于为什么我不简单地使用 64 位 Windows 7:我的互联网连接软件(手机作为调制解调器)只能在 32 位环境中运行。

答案1

几年前,一群程序员发布了 Windows 7 的内核补丁,允许在 Windows 7 下使用超过 4 GB 的 RAM。最近,由于一些病毒扫描程序检测补丁为误报,下载已从网站上删除。幸运的是,我保存了一份补丁(使用 RTM Windows 7 内核),并且已上传至我的网站(当我讨论修补 Windows 内核的两种方法时,请参阅选项 #1)。此外,作者还发布了关于如何修补内核的说明手动。

即使您有 Windows 7 SP1(Build 7601),您也可以安装包含内核 7600 的补丁。这是因为您的默认内核是不是修改;将新的内核复制到您的系统文件夹,并添加一个额外的启动菜单选项,以便使用新的修补内核而不是旧内核来启动 Windows。虽然我没有发现使用旧内核运行 Windows 7 SP1 有任何问题,但如果您确实希望使用 的版本 7601 ntkrnlpa.exe,则需要手动修补内核(请参阅上面的链接)。


该补丁基本上将 Windows 7 内核修改得更像 Windows Server 2003 Datacenter Edition,在 32 位模式下兼容高达 8 GB 的 RAM。这允许您在 Windows 7 32 位下将 PAE 扩展到 8 GB 的 RAM。有关 Microsoft 实施此技术限制的原因的更多信息,请参阅32 位 Windows Vista 中的许可内存(需要允许 JavaScriptwww.geoffchappell.com)。

如上所述,请注意,即使系统可以访问更多,单个进程仍将被限制在 4 GB...尽管如果您有 8 GB 的 RAM,那么至少您还有另外 4 GB 用于其他进程;)


对于那些对技术方面感兴趣的人来说,这是因为内存映射输入/输出(简称 MMIO)。这允许 CPU 访问两个外设RAM 通过地址总线本身。通常这是通过高阶内存地址来完成的,以避免低阶地址冲突。然而,这导致了众所周知的3 GB 内存屏障在所有 32 位 Windows 操作系统的消费者版本中。

答案2

Microsoft MSDN 网站上的这篇文章展示了 Windows 各个版本的内存限制而 Windows 7 32 位的限制是 4 GB。

在 Windows XP 中,你曾经能够使用 PAE 查看超过 4 GB 的 RAM但该选项在 Service Pack 2 中被禁用

原因是大多数驱动程序不了解 PAE,如果内存超出 4 GB 边界,他们就会大吃一惊。

如果你现在在 Windows XP 上使用此/PAE开关,你将环境保护署可用,但您将无法看到超过 4 GB 的 RAM。

对于 Windows 7 32 位系统,此 4 GB 限制仍然有效。如果您想要使用超过 4 GB 的 RAM,则必须使用 64 位版本的 Windows。

(使用 PAE 查看 4 GB 以上 RAM 的选项在 32 位上仍然可用服务器版本 Windows,我认为这是因为运行 Windows Server 的硬件需要更高质量的驱动程序。)

答案3

PAE 应该默认启用 - Windows 已经在内部将其用于 DEP/不执行特征。

这些说明如果 Windows 再次运行,可能会有所帮助。


请注意,即使系统可以访问更多空间,单个进程仍然会被限制在 4 GB 以内。

答案4

如果您的系统可以支持,您可以使用虚拟化来允许访问您的 32 位手机驱动程序。

这将是一个稍微复杂的设置,但您可以设置一个虚拟机来建立连接并与您的主机共享互联网连接,这样您就可以获得 64 位的好处并能够使用旧的驱动程序。

VMware工作站(商业的),虚拟盒(免费、开源)Windows 虚拟 PC(免费)可以将所有 USB 设备直接路由到虚拟机中。只需安装 32 位操作系统(如果需要,甚至可以是 XP),为其提供少量 RAM,您就可以完成所需的操作。我这样做是为了加载不支持 Windows 7 的旧版应用程序,而我的兄弟实际上加载了他的旧 Creative 网络摄像头(没有 64 位驱动程序)并通过他的虚拟机使用 Skype。

相关内容