Windows XP/Vista 32bit 的作業系統無法跑足 4GB 記憶體(只能認得 3.2GB )是已公認的事實。 本來還以為 Vista SP1 有支援,結果只是可以顯示你有多大容量的記憶體,但實際上仍是只能跑 3.2GB。 所以我的筆電插滿 4GB 記憶體(2GBx2),卻有約 768MB 給浪費掉;而去年七月底硬體升級的桌上型電腦,也只買了 3GB(1GBx3)的畸形規格,以免浪費。

看來要能解決的唯一辦法是升級到 64-bit 的作業系統,但是,目前的應用程式幾乎是 32-bit,升級上去,相容問題肯定多多。我的桌上型跑 Windows XP 是絕對不考慮的,因為我有很多 3D電玩;而我的 T61 筆電,卻又是無法向廠商取得正式授權的 64-bit 版本,詳見「與 IBM Lenovo 要求索取 Vista-64 bit OS for T61」。

沒想到日前閒逛一些硬體系統等討論串時(數位產品敗家資訊與硬體系統DIY,一直仍是我很有興趣的),看到這篇:[教學] Ramdisk 簡易按裝圖文教學與自動備份製作,以及這篇:[心得]有4G以上RAM的可以參考。 原來可以利用一套免費的 RamDisk 工具:Gavotte,它有個特異功能,可以吃 Windows XP/Vista 32bit OS 無法所使用到的 3.2GB 以上的記憶體,而成為 RamDisk。

哇! 這太棒了,馬上透過該討論串教學下載與安裝 Gavotte RamDisk 在我的 T61 筆電跑 Vista 32-bit SP1 環境下。 真的耶,完全沒有問題,RamDisk 跑足 768MB,是 Vista 所無法認得的那剩餘的 RAM 空間。 稍微注意一下的是,前提是主機板 BIOS 要能識別插在主機板的記憶體容量,目前 965晶片組以上的基本上應該都沒問題;再來就是要啟動作業系統的 PAE(Physical Address Extension) 功能。在 Vista 作業系統環境下,以管理員權限登入,在命列列模式下輸入:
 >BCDEDIT /SET PAE ForceEnable

即可。 效果真是好,效能馬上大幅提昇,因為我把 PageFile、系統環境變數、瀏覽器的暫存資料夾等都指向了 R 磁碟,也就是 RamDisk 預設的磁碟代號。

既然可以成功應用在我的筆電上,那麼想當然爾也能應用在我桌上型 Windows XP 的系統下了。 昨天中午迫不及待,過去「光華商場原價屋」,買了兩條金士頓 2GBx2 =4GB 的記憶體模組。有個小插曲,其實我並不想專程跑到「光華商場」的,想說能在中和附近購買是最好了,查看了 Y 拍,中和附近真的有家標榜是記憶體批發商的。看了價錢,一條2GB的報價約比光華貴上 $50~$100 左右,想說也還好,但是打電話過去想要親自去拿貨,竟然對方還說自取價每條還要再加上 $30! 這什麼跟什麼,自取價比網路報價還要貴? 這什麼生意邏輯呢? 還有他們應對態度也不太好,那個 “起檬子” 不爽,乾脆就開車直奔光華了。

我買的是品質最佳的金士頓 DDR2 2GB 模組,比起其它廠牌的,硬是貴上 $100~$300 左右,要價 NT$1300。 本來察看我原有的記憶體,也是金士頓的,1GB 單條,但是時脈是 667,所以是有些擔心屆時系統會不太穩定,不過那個「原價屋」女店員掛保證,若不穩七天內都可以無條件退款。想說誠意很夠,也就買回家囉。

DDR2800 金士頓 2G 記憶體模組


DDR2800 金士頓 2G 記憶體模組

DDR2800 金士頓 2G 記憶體模組

買回家後,主機板內的記憶體插槽一般只會有四個,所以我必須拿掉其中的一條1GB,然後把兩條2GB插入,所以一共是 6GB 的主記憶體。 系統重新開機,先進入 BIOS 設定畫面確定主機板是否真的有認識 6GB;然後進入 XP OS 後,可以下載免費的 CPUz 就可以再更進一步的確認了。 不過,透過系統的工作管理員或是 Everest 檢測工具,確實只能有 3.2GB 的記憶體空間可用,也就是說,我約有 2.8GB 的 RAM 空間全給浪費掉了。
我的桌上型電腦跑 6GB 記憶體

我的桌上型電腦—未安裝 RamDisk 前

再來就是安裝免費的 Gavotte RadmDisk 了。 記得可是要下載討論串的那個特別版,原因是它裡面有個 ram4g.reg 註冊檔,雙擊後就可以讓 RamDisk 認得 3.2GB 以上的記憶體空間; 還有記得就是要啟動 PAE 功能,在 Windows XP 系統下,是要編輯 C:\Boot.ini,在開機選項內再加上 /PAE 參數。本來認為這是相當簡單的事,沒想到從下午弄到深夜,PAE 一直就是無法啟動,如何知道? 利用 Everest 系統檢測軟體,在 主機板→記憶體 最底下有個 PAE 資訊欄,察看是否那個作用中(active)是否為 Yes 就可以知道是否有啟動了。 察看國內外相關討論資訊,還是沒找到解答,弄到我真的快放棄了,想說可能我的主機板(GigaByte GA-965P-S3)沒有支援可以啟動 PAE。 結果那個也很愛玩系統設定的 Steve 傳了篇文章鏈址:Boot Parameters to Configure DEP and PAE。 嗯,就再試試看吧,後來我的 Boot.ini 內的參數是設成這樣:
 /noexecute=optout /fastdetect /pae

耶! 重開機後竟然可以了耶。 原因為何我也不知道,但是我看其他網友的設定是不需要這樣下參數,反正能跑就好了。設定好 RamDisk,看看 R 碟的容量吧,2.8GB 耶,完全吃到 3.2GB 以上的記憶體空間!! 然後透過 Everest 察看記憶體使用情形,也不會因設定了 RamDisk 而少掉了 3.2GB 以內的記憶體呢。可用空間扣掉拉哩拉渣的服務與常駐程式等,還有 2GB 可用呢。
我的桌上型電腦—RamDisk容量

我的桌上型電腦—安裝 RamDisk 後

所以,現在我的桌上型電腦跑 Windows XP,所有只要是有暫存的處理資料,都一股腦全給設定到了 RamDisk,包括解壓縮、燒錄、圖檔運算、系統環境變數、IE/Firefox 暫存Cache資料、PageFile …等。 系統好像跟飛得一樣,硬碟燈也不會再一直閃了,爽度真是百分百。 :D

對了,開關機時,那些原來暫存在 RamDisk 如 Cache 資料怎麼辦? 當然是會不見,若是想保存,那麼倒是可以參考此篇:自動儲存 RamDisk 的方法。 其實很簡單,就是在關與開機時跑批次程式,利用 Rar 壓縮/解壓縮程式 備份及搬移檔案來回於 RamDisk 與實體硬碟間。 當然,這會導致開關機會多耗上一些時間,大約 1GB 資料吧,大概多個 5~15 秒,這我是可以接受的,目前我也是有設這樣的批次檔來儲存環境變數與瀏覽器的 Cache 等,一切都蠻順利的,沒有問題的。