timchenyx 大侠给出了修改核心让win7支持4G以上大内存的方法,不过大侠高估了小虾们的水平,说得比较粗糙,本人在他所说的基础上进行了细化,并把文中所提到的工具均打包在附件中,下载后把压缩包解开到c:\windows\system32\文件夹中即可使用, 不收费。
首先复制c:\windows\system32\ntkrnlpa.exe核心文件到d盘,用16进制编辑工具(比如Ultraedit或hex editor)编辑d盘上的ntkrnlpa.exe, 搜索以下特征串:7c (xx) 8b 45 fc 85 c0 74 (yy) , 其实只能搜索中间的8b 45 fc 85 c0 74,注意看好8b前隔开一个16进制数之前的那一个数值,如果是7c,那就表示搜索到了(好像在第24个特征串处),共有两处,然后把两个地方都改成:7c (xx) b8 00 00 02 00 90 90,也就是说从第三个数开始改,把8b改成b8,以此类推,改完后另存为例如c:\windows\system32\ntkr128g.exe (有人要修改好的核心,现也贴上,是7022和7022的),此时需要以管理员方式进入cmd命令行,运行如下命令:
cd \windows\system32
editbin /release ntkr128g.exe
makecert -r -ss my -n "CN=my test ca" 注意:这个CN=不能少,原文中没有。
signtool sign -s my -n "my test ca" ntkr128g.exe
注:如果signtool运行时出现“SignTool Error: Signtool requires CAPICOM version 2.1.0.1 or higher. Please copy the latest version of CAPICOM.dll into the directory that contain SignTool.exe. If CAPICOM.dll exists, you may not have proper permissions to install CAPICOM."错误,请到79楼下载CAPICOM.dll文件放c:\windows\system32文件夹下,感谢hztz 帮忙。)
同样在命令行中增加一个新的启动项,使用修改过的核心启动Win7:
bcdedit /copy {current} /d "Windows 7 more than 4G"
bcdedit /set {id} pae ForceEnable
bcdedit /set {id} kernel ntkr128g.exe
bcdedit /set {id} testsigning on
后三条命令中{}中的id必须根据第一条命令运行产生的结果输入,不能直接复制后三条命令,有不少人就犯了这个错误:)
再次强调以上所有操作都是在超级用户下做的,或者右击命令提示符,选择以管理员身份运行。
5. 重启后boot菜单选"windows 7 more than 4G", 进去后看任务管理器里面的物理内存.