Linux磁盤壞道的檢測及修復

盤壞道的檢測及修復

磁盤壞道,是所有人都不希望遇到的事情……

磁盤壞道,輕則磁盤性能下降,重則系統啓動失敗,數據丟失。所以我們要時刻關注磁盤健康狀況,及時備份重要數據。

什麼是S.M.A.R.T?

全稱爲 Self-Monitoring Analysis and Report Technology ,用於磁盤自我檢測,並向用戶報告磁盤狀態。這項技術需要主板支持,且檢測結果不一定準確。

linux上可以使用gnome-disk-utility查看磁盤的S.M.A.R.T相關信息。

您也可以安裝

sudo pacman -S libatasmart smartmontools gsmartcontrol


啓用smart圖形化界面(gsmartcontrol)/cli工具(smartctl)進行查看。

  • 溫徹斯特磁盤:(硬盤原理)

大致原理就是非工作時間磁頭停留在landing zone;需要讀取數據時,磁頭離開landing zone,依靠盤片的旋轉產生升力懸浮在盤片表面讀取數據。

 

因爲盤片旋轉速度非常快,且磁頭與盤片距離非常近(頭髮絲的千分之一),如果劇烈震動或者外力衝擊,甚至電壓不穩,均有可能導致磁頭與高速旋轉的盤片產生物理接觸,造成不可修復性物理損壞。

當您的磁盤:

  1. 在讀取某一文件或運行某一程序時,硬盤反覆讀盤且出錯,提示文件損壞等信息,或者要經過很長時間才能成功;有時甚至會出現死機;
  2. io wait 無故增高或居高不下;
  3. 硬盤聲音突然由原來正常的摩擦音變成了怪音;
  4. 系統無法正常啓動,出現“IO error”等提示信息;
  5. mkfs時,到某一進度停止不前,最後報錯,無法完成;
  6. 每次系統開機都會自動運行fsck掃描磁盤錯誤;
  7. 對硬盤執行FDISK時,到某一進度會反覆進進退退;

如果您的磁盤出現如上狀況,您就需要及時對磁盤進行壞道檢測以測試磁盤可用性,並立即備份數據。

  • 磁盤壞道檢測

我的原帖

建議使用livecd或者liveusb對本地磁盤進行檢測。如果是對移動存儲設備進行檢測,請umount後再進行檢測,以免數據受損。

umount /dev/sd*

 

對磁盤進行read-only檢測:

sudo badblocks -s  -v  /dev/sd*

 

因爲需要對磁盤進行檢測,所以速度非常緩慢,在檢測過程中注意不要斷電,不要對硬盤進行任何操作,不要移除硬盤,不要物理損傷,不要震動等。

檢測過程可以中途終止,也可以指定區塊重新開始。

sudo badblock -s -v  /dev/sd*   last  start

 

 

 
如果您檢測完成後看到
Pass completed, 0 bad blocks found.

那麼恭喜,此磁盤通過測試,沒有壞道(壞塊)。您可以放心使用。 :)

  • 磁盤有壞道了……

但是,如果您檢測過程中再某一個區塊停滯不前,而後報告中提示有壞塊,那麼杯具了……您的磁盤有壞道了。

不論是什麼類型的壞道,均建議您首先進行數據備份!把重要數據進行備份然後再嘗試修復。如果您有重要數據卻無法讀取(磁盤出現異常),那麼請立即停止使用此磁盤並找專業人員進行修復

  • 壞道的修復/屏蔽

常見壞道分爲以下幾種類型:

    • 邏輯壞道
    • 0磁道損壞
    • 物理壞道

壞道一般以單獨或者組合形式出現。

  • 邏輯壞道修復:
  • fsck -a /dev/sd*

  • 就這麼簡單。

更多fsck用法您可以查看這裏或者查看man手冊。

  • 0磁道損壞修復:

使用1磁道代替零磁道(操作危險需謹慎)

大致流程就是全盤格式化,然後重新分區,編輯分區表使用1磁道,從而復活硬盤。

操作手冊(123

  • 物理壞道

物理壞道沒有修復可能性,只能進行屏蔽。

如果您已經進行了壞道檢測,那麼您肯定已經知道壞道(壞塊)大致位置以及壞塊大小,您需要:

  1. 備份硬盤數據
  2. 刪除所有硬盤分區
  3. 根據壞塊位置以及大小,估算出所佔空間(例如共100個區塊,磁盤大小爲100g,20-30損壞,則壞塊在20-30g這個區間)
  4. 進行分區(接上:分區應爲 0-15|15-35|35-100,中間的15-35g爲有壞道的分區。要對有壞道的分區進行擴容處理,數值不要過小,以免壞道被分到其他分區。)
  5. 隔離15-35g這個分區(即不掛載,不讀寫,不操作)
  6. 您的磁盤可用空間減少,但是剩餘空間均可用(壞道已經屏蔽)

由於物理壞道具有擴散性,所以建議儘早讓磁盤“退休”纔是……

  • 分區表修復工具

如果您的分區表已經被損壞,建議使用testdisk進行修復。他可以快速回復分區表,真的非常好用(修復我的硬盤n次!利器也~)

安裝

sudo pacman -S testdisk

基本用法(12

  • 珍愛磁盤,愛護數據

磁盤有價,數據無價

不要等磁盤出現問題了纔想到數據還沒有備份;不到等論文丟了纔想起來明天就要交;不要等rm了纔想起來把重要文件刪除了。備份數據並不是多麼困難,也不需要多少時間,所以請您及時備份,保護無價的數據吧!

轉自:https://www.deleak.com/blog/2010/06/07/hard-disk-scan/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章