瀏覽單個文章
simonevil
Basic Member
 

加入日期: Sep 2004
文章: 18
之前有聽說一些160G硬碟會無緣無故檔案消失的事件, 想預防的來看看吧

如果你要昇級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的硬碟)

  它會搜索系統中所掛接的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_MACHINESYSTEMCurrentControlSetServicesAtapiParameters下,建立一個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,遇到廠商BIOS停止昇級又不願意花錢買新板的,還是不要冒險了。

  3.如果分區是Win2000/XP創建的,萬一系統崩潰,務必記住:重新安裝後,在未安裝相應補丁前,千萬不要使用硬碟100GB後面的分區,否則可能導致數據丟失!
     
      
舊 2004-10-14, 06:11 PM #1
回應時引用此文章
simonevil離線中