让 32 位 windows 7 支持超过 4G 内存(PAE)

该方法由 Geoff Chappell 牛人提供,适用于 Vista 系统。经 Aulddays 测试,这种方法同样适用于目前最新版的 Windows 7 RTM 系统。此方法可以让 32 位 win7 完美支持多至 128G 的内存!(由于涉及到修改系统内核,请慎重考虑后再操作)

 

具体做法如下:

为避免原始内核被破坏,首先复制系统内核文件 ntkrnlpa.exe,并命名为 ntkr128g.exe(保存在 SYSTEM32 目录下),之后的修改都在 ntkr128g.exe 上进行。

 

用 hex 编辑器打开 ntkr128g.exe,查找下列两个字符串:

特征串1:7C 11 8B 45 FC 85 C0 74 0a
特征串2:7C 10 8B 45 FC 85 C0 74 09
两个特征串在内核中都出现且只出现一次,虽然特征串内容不同,但修改方式相同:把 0x8B 开始的 7 个字节(即上面标记为红色的部分。最前两个字节不作修改!)修改成:
后7个字节修改成:B8 00 00 02 00 90 90

对于 Vista 和 Windows 7,修改处的文件偏移地址(即 0x8B 字节的位置)分别如下:
版本号                     版本                          文件偏移地址
6.0.6000.16386     Windows Vista         0x003040B1, 0x003040F2
6.0.6001.18000     Windows Vista SP1  0x00309AA3, 0x00309AE4
6.1.7600.16385     Windows 7               0x0035C243, 0x0035c283

 

接下来为修改后的内核重新计算 checksum 和生成数字签名:

editbin /release ntkr128g.exe
makecert -r -ss my -n "CN=My Own Testing Authority"
signtool sign -s my -n "My Own Testing Authority" ntkr128g.exe

上述签名过程需要用到三个命令行工具,其中 editbin 在 Visual Studio 中自带,而 makecert 和 signtool 在 Windows SDK 6.0 中自带,如果你机器上安装了 Visual Studio 2008 的话,第一个工具可以在 %VS2008_Dir%/ VC/ Bin/ 中找到,后两个工具可以在 %ProgramFiles%/ Microsoft SDKs/ Windows/ v6.0A/ bin/ 中找到。

 

最后在系统启动菜单中加入一条新的启动菜单项(需以管理员方式运行命令提示符)

bcdedit /copy {current} /d "Windows 7 PAE"
运行成功后,该命令会返回一个 GUID 值,记录下该 GUID 值,并运行下面三条,用之前返回的 GUID 值替换命令中的 guid(命令中包含 guid 的大括号也要输入):
bcdedit /set {guid} pae ForceEnable
bcdedit /set {guid} kernel ntkr128g.exe

bcdedit /set {guid} testsigning on

 

由于使用了“自签名的证书”对 新的内核文件执行了数字签名 ,因此需要将 bcd 中的 testsigning 选项设置为 on ,这样会使系统桌面上显示 “Test Mode”的提示

 

 

现在,在启动时选择 Windows 7 PAE 试试。如果一切顺利,可以在系统属性中看到实际使用的物理内存超过了 3.25G。

 

另外,启用 3G 开关的设置为:

bcdedit /set {guid} IncreaseUserVa 3072


特别提示:经过本人几个月的测试,使用此方法打开 PAE 后,没有遇到任何性能和稳定性问题。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值