如果你要升級160GB的大硬盤,如果你想避免大硬盤在使用中出現古怪問題,請仔細閱讀下文。
硬盤技術的發展除了速度越來越快以外,在容量上也過了幾道門檻,每一道門檻都給升級造成了一定困難。在以往,只是主板支持的問題,現在連操作系統都出現了由於硬盤容量過大的兼容性問題。如何順利地升級使用160GB以上的大硬盤,是很有講究的,萬一處理不當,就有丟失大量數據的危險。
一、問題的由來
因為簇和柱面早期定義的問題,很多操作系統和BIOS都有137GB的容量限制,在以往32GB、80GB門檻的時候,可以利用不調用BIOS的DM等軟件,直接對硬盤分區,使用也沒什麼問題。不過超過了137GB的容量以後,需要48位尋址的支持,如果此時主板有137GB限制的話,DM也不讓你分超過137GB後面的容量(可能顯示容量正確,但真進行分區操作時候會彈出紅色提示窗口:HDD I/O ERROR)。或者即使你用PQMAGIC等軟件分出來了,也有許多的兼容性問題。
現在最突出的問題,就是操作系統中存在數據溢出的BUG,如果處理不當,很容易突然出現不認分區格式、丟分區或是目錄變亂碼的故障。這種故障帶有隨機性,筆者在幾個大的BBS已經見到有不少這樣的帖子,所以不要以為目前使用正常,就漫不經心,萬一“中獎”了,那可是上百GB的數據損失啊!
二、支持大硬盤的關鍵
1.支持48位尋址的BIOS
這個是順利使用160GB大硬盤的第一關鍵——有人沿用以前的方式,掛作從盤,在BIOS裡(電腦自動關機)把硬盤設為NONE,然後靠DM分區或讓Windows自己識別硬盤。這種方式也不能說完全不可用,但通常會讓硬盤只能運行在PIO的傳輸模式下,無法使用UDMA傳輸,新硬盤性能發揮就大打折扣了;而且沒BIOS的支持,操作系統在48位尋址模式方面兼容性也容易出問題。
如果不清楚自己的主板BIOS是否支持48位尋址,可以下載Intel出的一個小工具來檢驗一下。這個工具名為Intel 48-bit LBA Test Program(注意,在使用該軟件時,需要掛接一容量超過137GB的硬盤),在DOS下運行“48lbachk.exe”之後會見到如圖1的畫面。
圖1:
它會搜索系統中所掛接的ATA/ATAPI設備並給出相應提示,如當前接硬盤的容量等。針對不同的硬件系統,檢測結果會出現以下三種:
“PASSED”表示BIOS支持48-bit LBA;
“FAILED”表示BIOS不支持48-bit LBA;
“UNDETERMINED”則表示測試程序不能確定被測BIOS是否具有48-bit LBA能力。遇到這種情況,還是上廠家主頁查查資料再確認,筆者用的升技KGB7 RAID檢驗結果也是不能確定的,但在升技的主頁找到的BIOS說明可以支持137GB以上的硬盤,刷新後順利升級了。最好的辦法還是升級BIOS,不然寧可買小一點的硬盤,不要冒數據丟失的危險。
工具下載地址:ftp://download.intel.com/support/chipsets/iaa/48lbachk.exe
2.分區軟件也講究
接下來就是分區軟件是否支持大便盤的問題了。就目前筆者接觸過的軟件,第三方的分區軟件不是支持不充分,就是兼容性問題比較多——像DM最新的版本只到2001年的9.56,實在太落伍了。有些文章介紹利用DM來改容量變相支持大硬盤,這種方式是有危險的,只適用於很老的主板上。通常的後果是造成被改的160GB或者250GB硬盤只能當成137GB使用,再也改不回來,成為“殘疾”。
DISKGEN我也專門試驗過,結果是能識別160GB的硬盤,也能正常分區,但不能在軟件裡(電腦自動關機)順利格式化,只有FAT12(不是FAT32)的格式可選,顯然是支持不充分了。現在只有用WinMe上自帶的FDISK和Win2000/XP啟動光盤,或是進入了Windows後用它的“磁盤管理器”來分區及格式化大硬盤比較保險,PQ分區大師的兼容性問題太多了,也不可靠。
還有個現象就是用DOS裡(電腦自動關機)的Format格式化大於64GB的分區時,在開始報告格式化的大小是不正確的,但到最後會正確顯示數值。原因是Format命令會在內部使用一些16位值來計算大小,當硬盤大小等於或大於64GB時,這些變量中有一些會溢出。例如,如果分區或硬盤的大小為70.3GB(75,484,122,112字節),Format命令最初報告的硬盤大小就是 63 GB(6,764,579,840 字節),這只是顯示方面的問題,記住加上“/Q”參數,格式化就能很快完成了。可參考微軟知識庫的文章:http://support.microsoft.com/default.aspx?scid=kb;en-us;Q263045
三、操作系統相關的要點
不支持48位尋址的操作系統,在訪問大於137GB的數據時有可能出現溢出的Bug,造成破壞,這是目前種種問題的根源。最常見的情況就是能夠正確分區並安裝好系統,但寫入大量數據(120GB以上)後就丟失分區,或者是拷貝數據過程中失去響應。重新啟動以後該分區的文件夾變成了亂碼,甚至不能訪問,報告該分區沒有經過格式化……現在每個人用的操作系統各有不同,微軟的補丁也很多,相當多的人不知道自己系統裡(電腦自動關機)存在這種危險性。其實微軟的在線知識庫裡(電腦自動關機)有相關的說明文章,地址是http://support.microsoft.com/default.aspx?scid=kb;en-us;303013 ,不過是英文的頁面,所以沒引起大家的重視。筆者查閱了相關的資料,綜合自己的使用經驗,總結出幾條要點:
1.盡量用微軟自家的分區軟件
這點在上面分析過了,主要是為了保證分區表的穩定。注意不是Win98的FDISK,要WinMe自帶的FDISK才能顯示正確容量。如果你嫌FDISK分區速度太慢,可以先劃出一個5GB左右的分區,安裝Win2000或WinXP等操作系統,後面的容量到Windows中的“控制面板→管理工具→磁盤管理”裡(電腦自動關機)再劃分。格式化時注意選好格式,勾上快速格式化。另外Win2000和WinXP的安裝光盤引導後,都具有磁盤管理的功能,還是中文界面,推薦使用。
2.適當的補丁及打開48位尋址功能
如果磁盤分區中安裝了不支持48位LBA尋址的舊版本Windows,例如沒打補丁的Win2000或更舊版本,而該分區以前是由支持48位的系統在超出當前137GB的可尋址限制創建的,訪問這些分區就可能出現破壞數據的情況。如果在注冊表中啟用了48位ATAPI支持,並且具有容量超過137GB的硬盤,但是沒有48位LBA兼容BIOS,則只有硬盤的前137GB是可尋址的,不能使用硬盤的其余部分。
Win2000的用戶,請打上SP4補丁。微軟的資料上說,安裝了 WinXP Home Edition 或 WinXP Professional 的 Service Pack 1 (SP1) 之後才會啟用48位LBA支持。事實上是,即使打過SP1的補丁也要檢查 Atapi.sys 的版本,因為只有5.1.2600.1135版本才能完全支持48 位 LBA,(WinXP 64-Bit Edition需要5.1.2600.1152版本)而5.1.2600.1135版本是在SP1後推出的,這個文件是在331958這個補丁裡(電腦自動關機)。如果你對諸多補丁感到混亂,或下載有困難,可以手工編輯注冊表,操作如下:
在“開始→運行”中鍵入regedit,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Atapi\Parameters下,建立一個DWORD值,名為EnableBigLba,數值填1。這是專業版的修改方法,Home版和Server版我沒用過,但在注冊表內搜索ATAPI的鍵值,相應作修改應該也不算難事。聽朋友說,他用的Win2003也能正常識別137GB後面的容量。
3.分區及格式處理的建議
①盡量把NTFS分區放最後
Win98實在是太古老了,對NTFS格式和48位尋址都不支持,微軟也停止了對它升級支持。雖然在預先分好區的160GB硬盤上,Win98也能訪問各個FAT32分區,但難保不會出什麼Bug。鑒於某些老的軟件必須在Win98裡(電腦自動關機)運行,建議大家使用Win98+Win2000/XP的雙系統,而且把100GB以後的容量格式化為NTFS分區,放在最後。這樣,Win98運行的時候,不會訪問到超過137GB以後的數據,就大大減少了破壞數據的危險。
②可以把最後30GB單獨分成一個區
如果你的機器裡(電腦自動關機)有工程圖紙、3D素材這樣重要的數據,建議把最後的30GB專門分出一個區。再把無關重要的東西放到裡(電腦自動關機)面,試著把分區裝滿,進行多次讀寫的試驗。如果最後的分區一直讀寫正常,那說明系統對48位尋址兼容性良好;萬一不正常,也不會措手不及,造成巨大的損失。
③及時備份分區表
無論你用的是不是超過137GB的硬盤,及時備份分區表都是很重要的。萬一遇到突發故障,有分區表備份,恢復數據把握就大多了。
另外,建議不要把分區填得太滿,保持1GB左右的空間比較保險。筆者試過在一個磁盤陣列上一不小心解壓臨時文件把C盤填滿了,結果Windows提示故障並停止了響應,按RESET重新啟動後,竟然提示陣列不能識別了。只有重新進行設置並分區,損失了部分數據,可謂血的教訓。
四、小結
1.注意,這裡(電腦自動關機)說的137GB容量限制,是指單個硬盤而言。不是說你買了兩(電腦沒聲音)三個硬盤,合起來容量會限制在137GB。例如買了兩(電腦沒聲音)個120GB的硬盤,如果沒組成陣列,分別使用,加起來的200多GB的總容量是不受影響的。
2.BIOS不支持137GB以上硬盤容量的主板,盡量升級BIOS,否則還是買120GB的硬盤好了。主要是考慮到數據溢出的Bug