磁盘坏道,是全部人都不但愿遇到的事情……

磁盘坏道,轻则磁盘性能降低,重则系统启动失败,数据丢失。因此咱们要时刻关注磁盘健康情况,及时备份重要数据。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/