## 硬碟壞道概念新知 現在一般很少提到硬碟壞道這個概念,硬碟無非壞了或者沒壞兩個狀態。玩NAS一段時間,就會遇到其中的中間狀態——“壞道”。本文僅就**機械硬碟**的“壞道”進行分析。 目前遇到過幾次文件系統損壞掛載不上。因為好玩,嘗試了多種文件系統。 1. ext4的硬碟斷電壞了,掛載提示nee ...
硬碟壞道概念新知
現在一般很少提到硬碟壞道這個概念,硬碟無非壞了或者沒壞兩個狀態。玩NAS一段時間,就會遇到其中的中間狀態——“壞道”。本文僅就機械硬碟的“壞道”進行分析。
目前遇到過幾次文件系統損壞掛載不上。因為好玩,嘗試了多種文件系統。
- ext4的硬碟斷電壞了,掛載提示needs cleaning,用fsck修複後文件全部到了
lost+found
文件夾內,裡面是原來根目錄的幾個文件夾,文件夾名丟了,好在裡面文件結構都是好的。 - btrfs的硬碟複製文件時系統卡死,文件系統崩了無法修複,通過只讀掛載掛上了,正在操作的那個目錄壞了提示IO錯誤無法訪問。買來新硬碟準備備份,再試了一下直接掛載,他又好了,很神奇。
處理這些問題期間查了很多英文資料,結合學習FatFs的一點經驗,突然發現中文互聯網上對於壞道的認知和我小學時看到的基本相同,但和我現在看各種英文資料有衝突。
翻譯問題
百度百科把壞道翻譯成"bad track",的確比較符合我們對機械硬碟記錄信息的想象。但壞道這個概念在英文里應該是"bad sector"(壞扇),"bad track"在wiki里是搜不到的。
物理壞道
【百度百科】物理壞道:是碟片磁介質失效(可能是劃傷或者生產工藝粗糙的原因),不可讀寫,無法修複,只能棄之不用。
百度百科對物理壞道我覺得符合認識,一部分是因為生產過程中不可避免的瑕疵,一部分是使用中機械硬碟產生的損傷。
邏輯壞道
【百度百科】邏輯壞道:壞道可能是軟體操作或者使用不當造成的扇區首位的扇區地址標誌等邏輯出錯,這類問題可以通過專業修複軟體修複
對於NOR Flash晶元,就是你給它一個地址,它給你這個地址上的數據。機械硬碟和固態硬碟通過主控實現一樣的功能。在此之上有文件系統如FatFs負責抽象出文件和目錄,具體數據怎麼放在一連串的地址上由文件系統安排。
如果給一個地址給存儲器,它寫不進或讀不出,那這裡就是就是物理壞道了。在沒有文件系統的情況下,就不存在邏輯壞道這個概念。
【百度百科】硬碟邏輯壞道可以修複,而物理壞道不可修複。實際情況是,壞道並不分為邏輯壞道和物理壞道,倒是分為按邏輯地址記錄的壞扇區和按物理地址記錄的壞扇區。
百度百科對“邏輯壞道”的定義很模糊,同一頁里就有不同的定義。我現在認知的“邏輯壞道”就是“文件系統錯誤”的意思。為了追溯“邏輯壞道”的概念,我搜索了早期的資料。
- 有的認為“邏輯壞道”就是ECC校驗不通過,可以通過系統自帶的掃描硬碟解決。
- 還有的把不能格式化的故障稱為邏輯壞道,最後他用軟體成功格式化了,所以他認為是軟體故障所謂“邏輯壞道”。
用系統自帶掃描硬碟解決邏輯壞道是確定的。現在Windows里還留有的“掃描硬碟”就是“檢查驅動器中的文件系統錯誤”。
現在來看無法格式化硬碟顯然是硬體問題,更可能是因為軟體不同沒能對硬體故障做出反應。在這幾十年中硬碟技術進步極大,S.M.A.R.T.的使用也使我們能夠更通過標準的參數瞭解硬碟的硬體健康情況,這些在後面會提到。
深遠的影響
“邏輯壞道”這個錯誤概念影響之深遠,已經反向輸入回英文了。在維基百科上看對"bad sector"的定義的時候看到了
Bad sectors can be "soft" (logical) or "hard" (hardware, physical), depending on what is making the sector inaccessible.
我還以為是我錯了,就是有“邏輯壞道”這麼彆扭的概念。再一看參考文獻是一個數據恢復公司的網站18年的文章,作者名字只有一個“zhang”