使用该方法可以让我们的Windows 7和Vista者X86即32位支持4G以上内存,要使用大内存的朋友有福了!
使用方法:
1. hex editor,复制个c:\windows\system32\ntkrnlpa.exe, 搜索以下特征串:
7c (xx) 8b 45 fc 85 c0 74 (yy)
应该能找到2处. 然后把两个地方都改成:
7c (xx) b8 00 00 02 00 90 90
保存为例如c:\windows\system32\mykernel.exe
2. 用visual studio tools里面的editbin.exe:
editbin /release mykernel.exe
用来修改checksum.
3. 装一个windows sdk, 在sdk的命令行里面, 运行:
makecert -r -ss my -n "CN=my test ca"
signtool sign -s my -n "my test ca" mykernel.exe
4. 创建一个新的boot记录,使用修改过的kernel:
bcdedit /copy {current} /d "Windows 7 with pae"
bcdedit /set {id} pae ForceEnable
bcdedit /set {id} kernel mykernel.exe
bcdedit /set {id} testsigning on
5. 重启后boot菜单选"windows 7 with pae", 进去后看任务管理器里面的物理内存.
这个步骤应该从vista到目前最新的windows7都是可用的,另外注意升级build后需要重新patch一遍, 老版本的patch kernel应该无法启动的.