分享

如何在Win7 32位操作系统下启用4G内存

 雅心楼 2012-05-28

现在内存价格暴跌,几乎达到了论斤买卖的地步,普通玩家拥有4G以上的内存已经不是神话。主流的32bit的操作系统因为寻址问题,在4G以上的内存的环境里只能利用2-3.25G,对内存资源造成了极大地浪费。而拥有极大寻址空间的64bit操作系统与主流软件存在较严重的兼容性问题(例如网银,大多数的单机游戏免CD补丁),为了内存牺牲兼容性显得很不值得。于是PAE下这个背景下出现了……

  PAE是利用主板芯片组将内存寻址空间从32bit提高到36bit,理论上可以支持128G内存寻址。但是对PAE功能是否能完全利用4G内存,网上一直是众说纷纭,再加上MSDN的含糊解释,导致大家主观的认为PAE仅仅只能保证大家在系统界面里看到插槽上的内存的实际大小,而系统只能利用最多3.25G的内存。为了解决这个问题,诸多类似用Ramdisk将多余内存虚拟为硬盘的曲线救国方案层出不穷,但是虚拟的硬盘始终不是内存,还很容易造成稳定性问题。(前段时间我要调试网站,装IIS7怎么也配置不好!最后才发现是RAMDISK中的临时文件的权限问题)【注意:开启PAE后线性地址到物理地址的转换由2层变为3层,会略微降低内存性能,降幅在2%左右。但是大内存将减少页面文件的使用频率,可以大幅提整机高性能】


G50VT未修改前的任务管理器
  经过笔记本之家仔细的调查,发现其实PAE是能完全利用上4G内存的:大多数服务器版的操作系统都能在32bit的环境下开启超过4G的内存。而造成只能用3.25G内存的原因竟然是微软对桌面操作系统的限制…
于是乎解决4G问题的方法来了:
  1.换服务器操作系统。
  2.将桌面操作系统内核替换为服务器操作系统内核。
  3.修改系统内核,打开隐藏的PAE支持。
  以上三种办法都是可行的,但是方法1需要重装操作系统,方法2需要寻找相应的内核文件还需要更换系统序列号和证书,显得非常不方便,所以我选择了方法3。在网上搜索了一下午,找到了很多关于修改内核的文章。但写的都很简单,还缺少很多附件,很容易让人误入歧途,我自己折腾了一下午才把内核修改成功,现在把具体操作步骤分享给大家。


首先,你需要确认你的电脑是否支持PAE,简单的判断方法如下
  1.inter桌面平台主板为I945以上,移动平台为PM945以上,AMD平台由于资料缺乏,暂时不明。
  2.若不清楚自己的主板型号或平台为AMD,可以作以下操作:右键单击计算机图标-属性-高级系统设置,单击性能视觉效果旁的设置按钮,选择DEP数据执行保护选项卡。若DEP数据执行保护为打开状态,则说明PAE已开启。


若确定系统支持PAE,接着就正式开始工作了
第一步:修改系统核心文件ntkrnlpa.exe
  (若你的系统为Vista SP1,版本号6.0.6001.18164可以跳过此步骤,直接下载我修改好的ntkrnlpa.exe。版本号可以到C:\Windows下查看Explorer.exe的属性,在详细信息选项卡内)
  1.下载并安装Ultraedit,地址为:http://cztele4./down/UltraEdit_14.20.1.1000_SC.zip
  2.从C:\Windows\System32下把ntkrnlpa.exe复制到桌面,用Ultraedit打开。
  3.按Ctrl+F调出搜索框,搜索特征串:8b 45 fc 85 c0 74。
  4.此时将搜索到很多个8b 45 fc 85 c0 74,但是我们需要找的字符串是7c ** 8b 45 fc 85 c0 74 **(**为任意字符),一定要仔细辨别,注意千万别找错了!这样的字符串共有2个。
  5.将搜索到得2个字符串改为7c ** b8 00 00 02 00 90 90 (注意,别改错了~改错了会蓝屏的!)
  6.将修改后的文件另存为为dawnj4211.exe


第二步:为修改好的ntkrnlpa.exe导入证书
  1.将附件中的capicom.dll、cert2spc.exe、editbin.exe、link.exe、makecert.exe、mspdb40.dll、signtool.exe和刚刚修改好的dawnj4211.exe拷贝到C:\Windows\System32目录下。
  2.按Win+R调出运行框,输入CMD后回车。
  3.在CMD命令行模式下按顺序输入:
  cd \windows\system32 editbin /release dawnj4211.exe
  makecert -r -ss my -n "CN=dawnj"
  signtool sign -s my -n "dawnj" dawnj4211.exe


第三步:为系统增加一个新启动项,使其用修改后的核心启动Vista
  1.在CMD命令行模式下按顺序输入:
  bcdedit /copy {current} /d "Vista By dawnj4211)"
  bcdedit /set {ID} pae ForceEnable
  bcdedit /set {ID} kernel dawnj4211.exe
  注意:{ID}为输入bcdedit /copy {current} /d "Vista By dawnj4211)"命令后返回的一串数值,每个人的电脑返回的值都不同,注意千万别输入错了!请看下图,我的电脑输入命令后返回的值为:{6a0fc035-1d17-11de-a048-00235424bc4c}
  注:此后启动菜单内将多出一个启动项,在开机时会在启动菜单略微停留。修改停留时间的方法在第五步给出,个人建议不要将停留时间改为0,改为0后F8功能将失效。


第四步:为新的启动项打开测试模式,并清除测试模式下的水印
  (vista将在新启动项内工作下测试模式下,而老启动项不受影响。测试模式暂时没发现任何不安全或不稳定迹象,另有消息表明测试模式可以解决部分硬件的不兼容问题)
  1.在CMD命令行模式下输入bcdedit /set {ID} testsigning on
  2.打开附件中RemoveWatermarkX86.exe,输入Y并回车


第五步:将支持4G以上内存的启动项设为默认启动项
  1.按Win+R打开运行框,输入msconfig并回车
  2.选择启动选项卡,将Vista By dawnj4211启动项设为默认值
  3.将无GUI启动打上√,将超时设为4秒


第六步:重启电脑,打开任务管理器看自己的可用内存是否超过了4G


  以上就完成了修改内核操作的所有设置,现在享受4G+内存带来的快感吧!如果出现问题可以PM我,欢迎与笔记本之家共同探讨!此方法非替换服务器版操作系内核法,除非Vista内核版本更新(例如SP1升级为SP2),否则不会带来更新问题!大家可以放心使用!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多