32位Windows 7怎样使用4G以上内存?

来自Wenbanzhu
跳转至: 导航搜索

待解问题.png 问题

32位Windows 7怎样使用4G以上内存?.jpg
--Ly651686474 2009年12月15日 (二) 15:15 (CST)

问题具体描述:32位Windows 7怎样使用4G以上内存?


最新回答.png 回答

方法

32位Windows 7使用4G以上内存的方法

  • 运行hex editor(十六进制编辑器说明.gif说明:软件下载链接见页面下的参考网站),将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。
  • 用visual studio tools里面的editbin.exe:editbin /release mykernel.exe,来修改checksum。
  • 装一个windows sdk(编程工具说明.gif说明:软件下载链接见页面下的参考网站),在sdk的命令行里面,运行:makecert -r -ss my -n "CN=my test ca"和signtool sign -s my -n "my test ca" mykernel.exe。
  • 创建一个新的boot记录,使用修改过的kernel:
    1. bcdedit /copy {current} /d "Windows 7 with pae"
    2. bcdedit /set {id} pae ForceEnable
    3. bcdedit /set {id} kernel mykernel.exe
    4. bcdedit /set {id} testsigning on
  • 重启后boot菜单选“windows 7 with pae”。 进去后看任务管理器里面的物理内存。以下是成功设置后的显示效果:
    使用4G内存.jpg

补充

  • 比起4G限制的32位系统来,64位版的可以有效利用更多内存。从这句话可以看出,4G是个分水岭。低于4G内存,32位系统照跑不误,但是高于4G后,就需要64位才能充分利用这么大的内存了。
  • 4G的限制所有安装的内存总和,而不仅仅是RAM。也就是说,你的系统内存(内存条),显卡专用内存(显存),PCI内存扩展,ACPI扩展以及其他零零碎碎的加起来,不能大于4G。如果你认为系统内存是唯一重要的因素,现在再想想。我们完全可以买张1G内存的显卡或者1G的内存条,当然如果有多余的钱的话,还可以买3G的内存条。
  • 很多人不知道为什么会有4G的限制,下面我们来看看是怎么算出来的:
    1. 32位系统下支持的最大内存容量为:2^32 = 4,294,967,296 bytes。4,294,967,296 / (1,024 x 1,024) = 4,096 MB = 4GB
    2. 而在64位系统下,这个数字为:2^64 = 18,446,744,073,709,551,616。18,446,744,073,709,551,616 / (1,024 x 1,024) = 16EB (exabytes)
  • 如果你的系统拥有4GB内存或RAM,还有一块512MB显存的显卡,那么只有其中的3GB左右是可以得到充分利用的。如果想要换块更大显存的显卡,或者想要用2块显卡进行混合交火或SLI双路渲染的话,最好还是考虑一下换用64位系统。

提示

  • 方法中的步骤应该从vista到目前最新的win7都是可用的,另外注意升级build后需要重新patch一遍,老版本的patch kernel应该无法启动的。
  • 人们往往会将“内存”和“RAM”搞混淆,会把内存误认为就是RAM,这个错误的概念让不少人都付出了昂贵的代价,因为这些人购买了预装4GB内存或RAM并预装32位Vista的机器。而直到买回来后,才发现根本无法充分利用这么庞大的内存。
  • 32位的Windows 7里面所谓的支持4G内存仅仅是体现在能够识别出4G,但是只能用3.25G。

参考网站

相关问答

明星版主.png 版主: 本页回答由版主“Ly651686474”负责,您可以查看Ly651686474介绍和编辑或者给Ly651686474留言


分类浏览.png 分类电脑|如何|windows 7|4G|内存|使用

讨论.png 讨论

关于“32位Windows 7怎样使用4G以上内存?”的留言:

目前暂无留言

新增相关留言