磁盤壞道,是全部人都不但願遇到的事情……

磁盤壞道,輕則磁盤性能降低,重則系統啓動失敗,數據丟失。因此咱們要時刻關注磁盤健康情況,及時備份重要數據。php

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

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

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

您也能夠安裝ubuntu

sudo pacman -S libatasmart smartmontools gsmartcontrolide


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

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

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

 

由於盤片旋轉速度很是快,且磁頭與盤片距離很是近(頭髮絲的千分之一),若是劇烈震動或者外力衝擊,甚至電壓不穩,均有可能致使磁頭與高速旋轉的盤片產生物理接觸,形成不可修復性物理損壞。post

當您的磁盤:性能

   
   
   
   
  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/