衝破4GB!解除32位元 Windows 的記憶體封印~

衝破4GB
▲測試成功!32-bit的Vista不僅能辨識4GB以上的記憶體,也能完全使用

 

 

那A按呢?32位元的XP、Vista都抓不到4GB記憶體?

你一定有聽說過!目前Windows XP 和 Vista 都抓不到4GB以上的記憶體,最多只能用到 3.25GB 而已。正確來說,應該是「32位元」的Windows系統都有這個問題,如果想趁現在RAM便宜買多一點回來用,就要灌64位元的XP或Vista才行了。

 

但是64位元的Windows有個很大的缺點,就是很多軟體、遊戲不一定完全支援64-bit的作業系統,即使能抓到4GB以上的RAM,某些軟體不能跑也沒有用啊!

 

當你買了 4GB 以上的記憶體卻無法全部用到,一定很不甘心,而網路上的建議大多是要你利用 RamDisk 這類工具,把無法抓到的剩餘記憶體設成「虛擬硬碟」,用來儲存快取及暫存檔。這麼做雖然真的可以稍微加速電腦運作,不過還是治標不治本。

 

在本期《密技偷偷報 No.45》中,我們已成功試驗出解決方法,但說實在的還不算完全成功啦,因為目前僅能讓 Windows Vista 抓到 4GB 以上的記憶體(是真的可用,並非只是顯示數字擺好看的),但對於 Windows XP 來講只成功一半,必須在安全模式下才能抓到。無論如何,這仍然可算是一大突破,32位元系統無法使用4GB以上記憶體的限制終於被打破了!

 

為何32位元Windows不能使用4GB以上的記憶體?

其實這是早就命中註定的結果,只是最近一年記憶體價格狂降,很多人一口氣在板子上插了超過4GB的記憶體,發現Windows居然最多只能抓到3.25GB,才逐漸在網路上形成討論。

 

為什麼說是命中註定?你應該看過賭神在最近500副牌裡故意加進去摸戒指的動作吧(快打開第四台)?微軟也是在好多年前就在Windows裡加入了一個封印,讓32-bit的Windows XP無法使用超過4GB的記憶體,到了後來的Vista也是這樣照玩不誤。

 

你可能聽過一般人的理解是這樣:

→ 32位元OS先天的定址能力上限就是 4GB (2 的 32 次方)
→ 扣掉要保留給硬體等資源使用的空間,作業系統最多只剩下 3.25GB 可用

 

其實這個解釋不完全正確,因為從古早的32位元 Pentium II CPU開始,為了解決硬體定址上限,早就開發了「PAE」(Physical Address Extension, 實體位址延伸)模式,增加了 4 條定址線,也就是最大的記憶體定址上限擴充到 2^36=64GB。只要作業系統也支援此技術,就能使用4GB以上的記憶體,像32位元的Linux、FreeBSD都可以。

 

那麼32位元的Windows呢?說出來也許你會嚇一跳,不管是XP或Vista,預設都是開啟PAE模式的,但為什麼還抓不到4GB記憶體?合理的解釋就是微軟下了封印,限制住記憶體的最大用量。也許是作業系統本身寫的不夠好,不敢用太複雜的方式使用記憶體;也許是為了和高階的Windows Server版本有區隔......。不知道,誰去問問微軟的意見吧?

假的數字
▲在Vista SP1的版本中,雖然已經可以正確辨識出4GB以上的記憶體了,但是在工作管理員裡面,可用的實體記憶體大小仍然只有3.25GB,也就是看的到卻吃不到,根本就是裝孝維而已。

 

修改Vista核心,衝破4GB限制

不管微軟到底在想什麼,總之我們先得到一個結論,就是32位元的Windows理論上是支援PAE模式,也能使用超過4GB的記憶體

 

依據我們實測的結果,在Vista中是得到印證的。Windows Vista 的核心檔「ntkrnlpa.exe」本身其實有完整支援 PAE 的程式碼,但可能是被封印住了,經過我們修改破解後,果然成功解除限制,插上 5GB 的記憶體全部被抓到,也能完全使用。

 

※修改流程:
開啟BIOS記憶體重新映射支援 → 修改破解ntkrnlpa.exe核心 → 修改新核心的總和檢查碼 → 產生新的憑證及數位簽章 → 將新核心加入Vista開機選單

衝破4GB
▲修改過後,不管在系統資訊或工作管理員,可用實體記憶體都是呈現真正的大小。

 

→→→ 想知道如何修改,請參閱《密技偷偷報 No.45》

 

想知道更多不為人知的電腦密技嗎?
別處看不到的、別人不敢報的、你所不知道的
盡在「
密技偷偷報【密】字第肆拾伍號

※到 funP 免費兌換最新一期的密技偷偷報(funP會員限量兌換)

※按我立即線上購買,特價優惠中!

2AT520.jpg
arrow
arrow
    全站熱搜

    PCuSER 發表在 痞客邦 留言(10) 人氣()