磁盘修复相关整理

1. Linux下面

预防与检测:使用smartmontools工具,用来控制SMART

检测:

1)用badblocks工具检测坏块

#sudo badblock -s -v -c 64 /dev/sda 1000 10 (1000是结束块,10是起始块)


2)逻辑坏道(文件系统破坏)的话,使用fsck或者格式化

#fsck -a /dev/sdb (/dev/sda3)


3) 物理坏道(磁盘扇区不可逆转的损坏)

方法一(块级别修复,可以处理挂载中的系统,假定坏区不扩散):

1) 备份

#dd if=/dev/sda bs=4096 skip=badBlockId of=/tmp/id.dat count=1

2) 重写测试

#badblocks -w -f /dev/sda3 badBlockId badBlockId

3)写回 (如果块已坏,会自动替换到磁盘保留区,对磁盘外系统透明)

#dd if=/tmp/badBlockId.dat of=dev/sda seek=id bs=4096 count=1

4)可用smartctl进行再次测试(可选)

注:使用dd备份整个磁盘的话,必须加上conv=noerror,sync参数。前者表示遇到读错误继续,后者表示用0填充错误的数据。否则,会造成数据错位,从而破坏整个映像。建议使用dd_rescue。


方法二:

a) 备份硬盘数据

b) 删除硬盘分区

c) 根据坏块位置及大小,估算坏区空间(坏道会扩散,所以应该隔离多些空间)。

d) 重新分区,隔离坏区。


2. Windows下面

你可能感兴趣的:(c,windows,linux,测试,工具,磁盘)