linux 硬盘坏道数据复制,linux修复磁盘坏道(本教程完全来自实例、实测,具体参数请根据个人情况修改2021.4.12)...

linux下其实修复磁盘的工具更多,很多甚至集成在系统里,方便调用。

1、尝试fsck修复磁盘,这个命令其实集成度好的系统开机会自动运行,比如slackware,debian等,方法如下:

fdisk -l

查询需要修复的磁盘盘符

fsck -a /dev/sdc1

进行修复

ffa9270a5a8a

2、我说了fsck这个命令其实集成在了很多linux的启动初始化程序中,没过去的情况也有,说明磁盘损伤严重,这个时候要尝试手动屏蔽坏道。注意不论损伤有多严重,修复坏道,仅限于逻辑坏道,原理就是跳过错误屏蔽错误。物理坏道是磁盘产生了机械损伤,那个是不可逆,不可屏蔽的,只能更换硬盘。

badblocks -v /dev/sdf1 >bads.txt

将坏道信息输入到缓存bads.txt,然后使用fsck有针对性的修复:

fsck -l bads.txt /dev/sdf1

如果是ext3/ext4的文件卷,linux有专门的命令e2fsck

sudo e2fsck -l bads.txt /dev/sdf1

ffa9270a5a8a

3、使用samrtctl修复,这个方法对带有 S.M.A.R.T(自我监控分析报告技术(Self-Monitoring, Analysis and Reporting Technology))系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。笔者的硬盘是sata移动硬盘,很适合这种一件操作。

apt-get install smartmontools

没有的需要装一下,一般的linux主流系统都集成了

smartctl -H /dev/sdf1

修复,注意参数是大写的H

ffa9270a5a8a

运行完输出如下:

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.10.0-kali6-amd64] (local build)

Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Health Satus ok

4.逻辑坏道的修复,屏蔽,跳出及数据还原方法

逻辑坏道修复方式其实还是使用badblocks,下面举例来说明。

下面是badblocks在/dev/sdf1分区检查出的坏道列表:

cat bads.txt

----------------

6821532

6821533

6821534

6821535

6821536

6821537

6821538

6821539

-------------------

ffa9270a5a8a

4.1先备份数据(可选)若修复的硬盘或分区的重要数据已备份,此部分可以省略

dd if=/dev/sdf1  skip=6821532 of=/tmp/6821539-6821532.dat count=8

这句命令是拷贝镜像错误分区,并且跳过异常坏逻辑分区,跳过的数是8,具体情况自行修改,仅仅是例子。

4.2硬盘在使用时不能修复,否则可能存在写并发的问题,所以卸载分区

umount /dev/sdf1

4.3umount 分区成功后,修复命令如下,其中-s表示给出进度,-w表示写入修复的,后面是结束(END)和开始(START)块号

badblocks -s -w /dev/sdf1 6821539 6821532

注意!命令的使用方式是:::END在前,START在后!!!

ffa9270a5a8a

badblocks -s -v /dev/sdc1  6821539 6821532

此句命令是检查是否已修复,实在不行的用极端暴力的格式化试试

ffa9270a5a8a

dd if=/tmp/217874591-217874595.dat  of=/dev/sdf1

此句是恢复备份的错误数据

4.4操作完毕,最后检查一下坏道的修复情况

badblocks -s -v -o /root/bads2.txt /dev/sdf1

若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。完成后重新mount分区,或者直接插拔移动硬盘即可(我是怕了,有心里阴影,所以软操作的,汗啊)。

mount /dev/sdf1 /mnt/usb1

5、万幸坏道的数据不重要,重要的都备份出来了。

本教程完全来自实例、实测,具体参数请根据个人情况修改2021.4.12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值