让Windows 7 32位版支持大于4GB的内存

 

一个偶然的机会,我的电脑系统崩溃了,之前的Vista彻底不能用了,因为安装SP2补丁,彻底挂掉了.和平常一样,俺借来安装光盘准备先装个XP系统,然后再用硬盘安装工具装个Windows 7。听说Windows 7效果不错,比该死的Vista好用多了,喜欢尝鲜的我当然挡不住这个诱惑了。因为偶木有Windows 7的安装光盘。

突然悲剧的情况发生了,安装盘启动到一半居然蓝屏了,老中医遇到新问题啊,郁闷+恐惧,不会是偶的硬盘over了吧?!那杯具大了,于是再用安装盘启动,再试,结果一样悲剧,安装盘启动会蓝屏,头回见到啊。怀着忐忑的心情,不敢再动了,决定还是抱去专业维修店修理吧,本本烂了事小,数据丢了就真的杯具了。

第二天,拿到专修店,说明情况,要求师傅为我重装Windows 7系统,并且再加条2G的内存条,谁让现在DDR2内存条便宜呢。结果很幸运,机器没有任何毛病,内存添加也成功,这样我的机器就有了4G的内存,跑起来还是比较有速度感的。因为工作的需要,我只能装32位版的Win7,结果就是4G内存只认得出3G。当然这难不倒我,于是用Bcdedit命令强制打开PAE(物理地址扩展)特效,重启。结果……还是3G!超级郁闷,于是上网搜Windows 7 PAE发现了一位高人写的帖子,原来Win7或vista内核ntkrnlpa.exe文件中有个隐藏函数限制了版本,即使打开PAE也不让识别3G以上的内存,4G以上的内存更是想都别想了。真是一个坑爹的时代!想来PAE已经不是什么新奇的技术了,奔腾Pro年代的技术了,居然在21世纪还有这种坑爹的限制,微软想干嘛?

Ok,照着那个高人的指点,手动改内核吧,没办法谁让咱是程序员呢。先用自制的工具扫描下内核,确认下我的Win7用的是哪个内核,因为Windows NT架构有4个内核exe,如果你好奇可以到你的Windows\System32下看k*.exe的程序,就可以发现kernel缩写形式的4个exe,所以确认下系统启动的是哪个内核还是有必要的,扫描内核的代码就不贴在这了,大家有兴趣自己去搜索,自己做个工具就ok,也就是两个驱动函数的调用就搞定了.本文后面将直接把我改过的内核分享给大家,方便不会重编译内核的朋友直接使用.

首先把那个文章的链接贴在这里吧,方便大家查看详细的细节: http://live.aulddays.com/tech/09/vista-ram-pae/

    接下来,我就照着文中所说的方法,先用十六进制编辑器修改了内核的那个特征字符串,存盘后,使用VS2008中的VC9.0工具编译一遍,一切ok.为了方便大家,我将重编好的Win7内核ntkr128g.exe压缩成ntkr128g.rar之后放在了32998545群的共享空间中,有需要的请加群下载,下载 ntkr128g.rar后解压,将ntkr128g.exe复制到Windows\System32中即可.注意如果你装了什么垃圾360安全卫士之类的软件,它会提示你说有木马入侵之类,直接通过就行,哥不会放木马在互联网的,哥很纯洁J.

    接下来,就需要你在命令行里敲入这些繁琐的命令了(开始->运行->cmd 回车):

bcdedit /copy {current} /d "Windows Vista With More Than 4GB"

这句就是复制一个开机选项,这样做,方便你选择是否用4GB支持进入系统,或者使用原来的内核启动.

这句完了之后会有一个GUID,选中复制下就可以了,不会cmd的选中复制?右键一下看看就明白了.

接下来就是执行这三个命令:

bcdedit /set {guid} PAE ForceEnable

bcdedit /set {guid} kernel ntkr128g.exe

bcdedit /set {guid} testsigning on

其中的guid单词换成你刚才复制的那个GUID就行了,执行都提示成功后,你就可以重启机器了.接着你就会看到多了一个启动选项就是我们新加的启动选项4GB的项,选中4GB项,启动,进入,然后看你的任务管理器->性能选项卡中的内存值,或者看系统右键菜单属性中的内存值,呵呵,恭喜,如果你都做对了,那么应该跟我一样是4GB了,这个修改后的内核,最大可以支持到128G的内存,这也就是那篇文章中命名为128G的含义了,如果有条件你就试试吧。

最后郑重声明:本文中的操作存在危险性,在没有完全看明白原文和我的文章之前,请勿动手模仿。一切因为这些操作引起的不良后果均由各位读者自行负责,本人概不负责。

       可以点击下面链接直接下载:

http://update.1234456.com/ntkr128g.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先看下各种微软操作系统内存支持状况。暂时未写windows7 及windows 2008。 Windows 2000 Advanced Server 8 GB 内存 RAM Windows 2000 Datacenter Server 32 GB 内存 RAM Windows XP (所有本) 4 GB 内存 RAM* Windows Server 2003 (and SP1) Standard Edition 4 GB 内存 RAM* Windows Server 2003 Enterprise Edition 32 GB 内存 RAM Windows Server 2003 Datacenter Edition 64 GB 内存 RAM Windows Server 2003 SP1 Enterprise Edition 64 GB 内存 RAM Windows Server 2003 SP1 Datacenter Edition 128 GB 内存 RAM 1,首先检查主板是否支持,下载everest检测软件,在主板-内存一项中,Physical Address Extension(PAE)查看“操作系统支持”“处理器支持”是否为“是”,如果是“是”的话,那么接下来 2,我的电脑-属性-高级-启动和故障恢复-设置-编辑,这里编辑操作的是c盘根目录下隐藏的boot.ini文件,也可以通过在c盘显示隐藏文件的方法找到它,一般boot.ini里的内容如下: [boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect 那么接下来在“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" 后面加上“/PAE” 即“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /PAE /noexecute=optin /fastdetect” 这样保存关闭,系统就打开了PAE,重新启动后,电脑属性的下方多了“物理地址扩展”几个字,虽然显示的还是3.25g内存,但实际上4g内存已经完全启用了。 在默认情况下 (不使用PAE), Windows XP (32bit)是可以识别4GB内存的. PAE参数是为了多于4GB内存的情况. 但是根据我的经验, 有很多情况下, Windows XP不能够正确的识别出4GB内存. 一般这都是因为计算机硬件占用内存. 32-bit的 Windows XP 默认不能使用4GB内存: 32位Windows XP最大支持4GB物理内存. 但是Windows XP不能使用全部的4GB内存, 因为有一部分内存是保留给系统硬件, 驱动等. 所以有时候您安装4GB内存, 但是系统报告2.5GB到3.5GB. 这个情况是比较常见的. 加了/PAE后Windows XP是否可以识别使用4GB内存: /PAE主要用于大于4gb物理内存的情况下, 所以4GB内存不需要/PAE. 另外, 32位Windows XP添加了/PAE也依然有4GB物理内存限制 ---, 即32位Windows XP依然只能使用最大4GB物理内存. 这一点和32位Windows 2003 不一样. 物理内存限制和系统也是有关系的. 附件下载XP 2003 诺德尔内存开启4GB以上大内存支持功能,提供CSDN懒人及热友下载。原理也是打开PAE。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GamebabyRockSun_QQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值