Skip to content


找回我的4G内存——物归原主

在上两篇(12)文章中介绍了在32位系统中不能使用4G内存的原因。了解到其实无论是硬件还是软件,现在32位的系统都是可以支持4G以上的内存的,不行的原因是由于微软的限制。既然原因已明了,那么剩下要做的就是让这4G内存物归原主了。
现在我知道的大概有三种方法可以在32位vista下用到完完整整的4G内存。
Ⅰ、更换windows的许可文件
既然vista与Sever2008的差别完全是由微软造成的,基于vista与sever2008的内核相同,所以有人想到是否可以更换某些文件来实现在vista下像sever2008一样使用到完整的4G内存。很快这种设想就成为了现实,这个文件就是tokens.dat,也就是系统的许可文件。似乎将vista的这个文件替换为sever2008的版本后,的确可以识别到完整4G的内存。
但是这个方法有一些致命的落点。首先,在经过一系列步骤将其替换后,必须重新输入sever2008的序列号激活。其次,也是我最无法接受的就是在获得完整4G内存的同时,系统很多设定也都被修改了。例如,在系统更新时就将自动下载sever2008的更新,而系统却是vista,使得有些更新无法使用。
个人认为此法没有什么使用价值,还不如直接装上sever2008来的直接、来的稳定。它的唯一的意义在于证明了无法使用完整4G内存是由微软的限制造成的。

Ⅱ、使用ReadyFor4GB(此软件的作者是deepxw
此法与方法一向比就直接的多,通过直接修改Windows PAE 内核文件 ntkrnlpa.exe。从根本上取消了系统对内存上限的限制,使得vista及windows7可以使用到完整的4G以上的内存(上限据说是128G,不过这肯定与硬件有关)。
大约两个月前,此法一出我便迫不急待的去尝试了一下。确实可以使用到4G的内存,有图为证:

用了大约2天,我又换回了原来的系统,因为出现了多次蓝屏(之前没有,换回后2个月也都没蓝屏过)。看上网讨论,出现这种情况并不少见。我觉得是由于硬件驱动不稳定造成的,或许某些硬件驱动不支持4G以上的内存寻址。最简单的例子就是使用之后daemon tool在修改模式下无法启用,而在正常模式下可以。但是只要在修改后的模式下重装daemon tool则无论是在何种模式下都能正常的使用。这个例子似乎提示某些驱动必须要在修改模式下重新安装才能够正常运行,只是不知这是否只是特例。所以我建议此法最好是在重装系统后安装驱动之前使用,并在修改模式下安装各种驱动,可能可以更加的稳定。当然这都只是我的推测,是否如此只有你自己试试才知道。
如果你想尝试可以去deepxw的blog上下载最新的版本,blog上也有使用方法。如果不明白可以借鉴下面的(此法来自远景):
1、运行ReadyFor4GB.exe,点击应用,提示‘你确认要修改文件ntkrnlpa.exe?',点击‘是’。提示‘破解的文件已经另存为***’,点击确定。 ------------------------这一步作用是把VISTA的系统文件破解,使之支持4G以上内存。
2、右击‘命令提示符’,选择‘以管理员身份运行’。 ------------------------这一步作用是取得修改系统的权限
3、在命令提示符里粘贴命令bcdedit -copy {current} /d "VISTA 4G Supported",其中"VISTA 4G Supported"引号的内容可以修改为任何你想要的名字。回车,提示‘已成功复制到********’,其中****是系统返回的一个值,把此值贴入记事本中备用。 ------------------------这一步作用是创建一个启动项并为此启动项命名。这样系统启动的时候就可以选择进入支持4G内存的系统,还是原来的系统。和装了XP,VISTA双系统一个原理。
4、在命令提示符里输入bcdedit /set {**********} testsigning on,自己把****改为上一步中系统返回的值(贴入记事本中的),然后回车,提示‘操作成功完成’。 ------------------------这一步不知道什么作用,猜测是去除微软的数字签名。
5、在命令提示符中输入bcdedit /set {*********} pae forceenable,自己把****改为上一步中系统返回的值(贴入记事本中的),然后回车,提示‘操作成功完成’。 ------------------------这一步的作用是强制开启PAE模式,以使系统支持4G以内存。
6、在命令提示符中输入bcdedit /set {********} kernel ntkr128g.exe,自己把****改为上一步中系统返回的值(贴入记事本中的),然后回车,提示‘操作成功完成’。 -------------------------这一步的作用是把第一步破解的文件加入启动项。
以上6步基本上就算大功告成了,下面步骤可以选做。
7、在命令提示符中输入bcdedit -timeout 2,然后回车,提示‘操作成功完成’。 -------------------------这一步的作用就是设置留给你选项启动项的时间,2是2秒的意思,可以自己修改。
8、在命令提示符中输入bcdedit -displayorder {*****************} -addfirst,自己把****改为上一步中系统返回的值(贴入记事本中的),然后回车,提示‘操作成功完成’。 -------------------------这一步的作用是把自己修改的支持4G的系统放在选项的第一位。(不一定是默认的启动项)
9、在命令提示符中输入bcdedit -default {*************},自己把****改为上一步中系统返回的值(贴入记事本中的),然后回车,提示‘操作成功完成’。
-------------------------这一步的作用是把支持4G的系统作为默认的启动项。

其实从第七步开始几可以在“高级系统设置”中进行设置。
最后打消一下一些人的顾虑,此法其实是再创建一个新的ntkrnlpa.exe,所以系统原文件都没有被替换。如果不满意仍可以选择使用正常的方式启动。
Ⅲ、使用SuperSpeed.RamDisk.Plus
这个方法是最早的出现的,也是一个争论很久的话题。争论主要围绕在是否能够真正的使用到系统无法使用的那部分内存。这个问题在很多论坛上都有过激烈的争论。有的人说32位系统是不可能使用4G以上内存的、有的人说自己成功使用了、有的人说自己使用了但是只能使用系统识别的那部分。
第一种说法现在已证明是错误的了,后面两种争论就比较奇怪了,都是亲身使用过为什么会有截然不同的结论呢?排出使用方法错误,最可能的就是二者使用的软件版本不同,或是在破解是使用了不同版本的序列号。
为了证明此法可行,还是眼见为实吧

可见当ramdisk使用容量发生变化时,系统使用的内存毫无变化。这个应该可以证明ramdisk使用的内存确实是系统无法使用的那个部分。
有几个是要注意的地方
1、软件的版本很重要。首先必须是superspeed.randisk.plus 9.0.3/9.0.4这两个版本才行(点此下载9.0.3注册机)。
2、软件安装时的注册序列号也很重要,使用注册机时必须使用randisk.plus的。如图:

3、安装好好需要设置后才能使用到系统无法使用的那部分内存。具体方法如图

①打开程序选择file

②开启unmanaged

如图设置,其中reserved(MB)的选项是设置预留一部份RAM给BIOS、显卡等使用,大概是为了加强稳定性,默认是1MB,我使用20MB,应该都没什么问题。

③按此设置之后返回,可看到一个窗口。其中显示出系统未使用的内存大小(unmanaged),之后在设置RAMDISK时只要不超过这个大小就可以完全使用系统不能识别的内存了。

④之后要做的就是添加ramdisk了,过程很简单,如果不明白就一路使用默认设置就可以了。
其实无论是用后面两种方法中的哪一种,最好都要使用ramdisk。因为就算对于vista而言,3G内存是完全够用。1、在32位系统中一个程序最多只能使用2G的内存;2、而留1G给系统因该是够了。所以还不如创建一个1G左右的ramdisk,把系统页面文件(虚拟内存)和一些临时文件夹(比如ie的临时文件夹)设置在其中,应该能提高浏览网页的速度,也可以完美解决大内存的情况下是否开启虚拟内存的矛盾。而且我用ramdisk近4个月了,也没有因此发生什么问题。所以我推荐使用SuperSpeed.RamDisk.Plus来解决32位系统下无法使用4G内存的问题。
最后一起提供本文中提到的附件:

  1. ReadyFor4GB_20090422.rar (255)
  2. SuperSpeed.RamDisk.Plus.v9.0.3.0.Desktop-Keygen.rar (211)
  3. SuperSpeed.RamDisk.Plus.v9.0.3.0.Desktop.rar (250)
  4. 新增Ramdisk plus 10(支持win7)

Posted in 应用软件, 操作系统.

Tagged with , , .


5 回复

如果关注本文发展,欢迎订阅本文评论 RSS feed.

  1. 匿名 says

    ramdisk无法安装在Win7上,只能在xp或vista中。

  2. AAA says

    ramdisk无法安装在Win7上,只能在xp或vista中。

  3. alfred says

    即使是9.01 9.03的版本,也是可以安装在win7 32bit上的(安装时软件出现提示只能装vista之前的操作系统,这时关闭,然后win7系统会弹出提示1是否要reinstall 2该软件安装正确;选择reinstall可以继续安装下去)。现在的问题是901 903的版本的算号器算出的key都invalid.
    所以,使用ramdisk 10吧(win7肯定可以),楼主也有说到。

  4. minim says

    我用10.0版本 看不到 未利用的 内存信息? 求博主解答啊。还有我的 “为硬件保留的内存”很大 有 1064多M . 我的系统是 win7 旗舰版 4G 内存

  5. yaya says

    其实直接上64位黑苹果啊 win7 ubuntu之类的就好了,3g也没有去找这个麻烦,有的大型程序是指定了仅64位系统。

    据有的人说即使是32位系统支持到了更大的内存性能也根本没有办法和64位比



评论中可以使用HTML(点此看详情)

或是使用 引用通告(trackback).