作者ufoderek (小德)
看板Windows
標題[教學] 修改核心讓32位元版的Vista和Win7可以使用4GB以上的RAM
時間Sat Jun 13 06:31:53 2009
大家都知道32-bit Windows 4GB的限制是微軟加上去的
最近在查到了一篇文章,解釋了修改32位元核心取消這項限制的做法
文章網址:
http://tinyurl.com/qlaep8
小弟根據裡面的方法,寫了一個小程式可以自動修改Windows核心
這樣就不必為了完整使用4GB以上的記憶體而換到64位元的系統(畢竟還是有些小問題)
程式目前只在自己的電腦上測試過(Vista SP2和Win 7 Build 7077,4GB of RAM)
不過所有32位元版本的Vista和Win 7應該都可以使用啦~
4GB以上的記憶體應該也是OK的,各位有興趣的話可以幫忙測試一下^^
這是成果圖:
http://tinyurl.com/np6oco
下載網址:
http://tinyurl.com/nyjn88 (說明請看README資料夾)
PS1:
理論上這個程式是不會動到系統原本的檔案,整個流程大略是:
1. 依據系統內的NTKRNLPA.EXE產生NTKRN128.EXE
2. 處理NTKRN128.EXE的checksum和digital signing問題
3. 加入使用NTKRN128.EXE為kernel的新開機選項
4. 詳細情況可以看一下INSTALL.BAT的內容,裡面有註解
PS2:
1. ntkrmod.exe會純讀取NTKRNLPA.EXE(直接用C++的ifstream讀入)
再把改過的東西寫到NTKRN128.EXE
2. setboot.exe只會加入選項到開機選單中,如果出錯的話用EasyBCD刪掉就行了
Enjoy^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.111.42
※ 編輯: ufoderek 來自: 140.116.111.42 (06/13 06:37)
1F:推 zxvc :32 bit本來就只能定址4 GB的記憶體,這不是微軟的錯 06/13 07:54
2F:→ zxvc :而且這來路不明的程式,感覺令人害怕。 06/13 07:55
3F:→ DIDIMIN :不管windows、linux,32位元的系統好像都只能抓到 06/13 08:05
4F:→ DIDIMIN :3G左右的記憶體 06/13 08:05
5F:推 doom3 :之前改過可惜XFI驅動不支援又改回來了 ˊ ˋ 06/13 08:52
7F:推 shelfs :可是我看電蝦版是說那個是本身電腦架構上的限制耶 06/13 09:01
8F:→ shelfs :原本32bit設計上就只能用4GB以內@@? 06/13 09:02
9F:→ rick :ˊˋ 最多抓到不是3.25G就是3.5G 需要改的 我不敢試 06/13 09:07
10F:推 acake :Intel有PAE paging,但是要作業系統有支援才行阿 06/13 09:08
11F:推 doom3 :32bit 4GB的限制 在PCDVD跟m01都有很多討論了想知道 06/13 09:40
12F:→ doom3 :可以去找看看 06/13 09:40
13F:推 Analogue :32bit只能定址4G和32bitOS能不能用4G記憶體不一樣 06/13 10:32
14F:→ Analogue :人家辛苦寫測試檔,先看過再說來路不明 06/13 10:34
15F:推 Analogue :我有跟著方法自己改過,成功看到817xMB記憶體 06/13 10:37
16F:推 abccbaandy :看來微軟把上面幾樓洗腦洗的真徹底= = 06/13 10:45
17F:→ pepsilee :1F去看看Win2003 X86能不能抓4G以上記憶體吧..很無言 06/13 10:48
18F:推 LIYENNEKO :那XP可以改嗎?? 06/13 10:50
19F:推 VCCS :謝謝這篇作者 06/13 11:01
20F:→ VCCS :還有怎麼到哪裡都看到一堆被洗腦的人 = = 06/13 11:02
21F:→ VCCS :1.請看win2003 2.請看你硬碟有沒有超過4G 06/13 11:03
22F:→ VCCS :阿...原po你給的文章鏈結壞了 06/13 11:04
23F:推 Fizika :可以看電腦的內容 有Physical Address Extension就行 06/13 11:09
24F:推 SmallBeeWayn:1.PAE需要CPU,OS跟程式三個都支援才能正確使用 06/13 11:54
25F:推 VCCS :不過程式不支援只是單程式不能超過4G,OS不支援是 06/13 11:56
26F:→ SmallBeeWayn:2.PAE效能不彰 06/13 11:56
27F:→ VCCS :所有程式 + OS原本吃的 不能超過4G = =||| 06/13 11:57
28F:推 basgone :window 2003 enterprise edition x86 可抓到8g以上 06/13 11:58
29F:→ pepsilee :能不能用跟效能好不好是不同的問題吧... 06/13 12:38
30F:→ menchian :是定址擴充到36bit? 06/13 13:20
31F:推 mantohu :無論如何還是謝謝~ 06/13 14:19
※ 編輯: ufoderek 來自: 140.116.111.42 (06/13 14:47)
32F:→ ufoderek :文章網址已修正 06/13 14:47
33F:→ ufoderek :二樓的疑問蠻有道理的,所以我把原始碼也放上去了 06/13 14:54
34F:→ ufoderek :有bug的話還請幫忙修改~ 06/13 14:55
35F:→ ufoderek :剛才看到LI推文, XP不適用這個程式 06/13 15:19
37F:→ VCCS :在下是覺得 PAE已經廣為使用 沒人抱怨效能差 06/13 15:29
38F:→ VCCS :而且就算差 也比完全不支援來的好吧 06/13 15:30
39F:推 dave0213 :win7 7137 裝了之後進不去windows,會直接跑修復工具 06/13 16:45
40F:→ dave0213 :不知道是不是電腦問題 06/13 16:45
41F:推 leicheong :問題只是「只要不是可以使用PAE的程式, 多出來的記憶 06/13 18:26
42F:→ leicheong :體只是看得到用不到」吧... 06/13 18:26
43F:推 hahacc :我用了..無效 vista... 06/13 18:40
44F:推 H264 :沒PAE光OS就不知道吃了多少 全部程式共用4G 06/13 18:41
45F:→ H264 :有PAE就算程式不支援 單程式起碼也有4G好用 06/13 18:42
46F:→ H264 :支援的話更是可以把記憶體吃光光 06/13 18:42
47F:推 zxvc :抱歉之前不清楚什麼是PAE,也不知道原po有附上原始碼 06/13 19:29
48F:推 leicheong :不是4G而是2G... 因為許多程式都用signed pointer... 06/13 20:48
49F:→ leicheong :記憶位址只有31bit可用. 因此在32-bit Windows只要 06/13 20:48
50F:→ leicheong :沒標記支援PAE, 系統最多只會派2GB的記憶體出去. 06/13 20:50
51F:推 adogdennis :如果沒定址的話 32bit OS可用到64GB的ram 06/13 22:29
52F:→ adogdennis :64bit可用到2TB的ram 06/13 22:29
53F:推 bestpika :太多人被洗腦了.... 06/15 02:05
54F:推 HCCLandRover:推~成功了 06/15 08:47
55F:推 kkbbs :小德不錯@@ 06/30 12:20
56F:推 nosql :116推 08/17 00:50
57F:推 vixen :1F跟3F真是典型刻板印象的受害者.... 10/05 04:05
58F:推 kagayama :sucess 10/25 01:00
59F:→ kagayama : ^c = = 10/25 01:01