DiskGenius

DiskGenius

    专业级的 数据恢复软件 ,支持各种情况下的文件恢复、分区恢复。

点击进入 >> 官方网站

Linux 替代工具推荐
若需类似 MHDD 的硬盘检测功能,可使用以下原生 Linux 工具:

hdparm
用于查看硬盘参数、测试读写性能及调整设置8。
示例命令:
# 查看硬盘信息
sudo hdparm -I /dev/sda
# 测试读取速度
sudo hdparm -tT /dev/sda

#参数说明:
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 平谷硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。

**********************************************

smartctl(smartmontools)
监控硬盘 SMART 状态,检测潜在故障。
示例命令:
# 安装工具
sudo apt install smartmontools
# 查看 SMART 信息
sudo smartctl -a /dev/sda

badblocks
扫描磁盘坏块。
示例命令:
sudo badblocks -v /dev/sda > bad-blocks.txt

**********************************************

使用badblocks命令:
在Linux系统中,可以使用badblocks命令扫描硬盘坏道。例如,输入badblocks -v /dev/sda1命令,可以检测指定分区的坏道并输出结果到文件中。此方法适合Linux用户,可以精确检测硬盘坏道。

badblocks -s -b4096 /dev/sda1
对硬盘数据的操作存在风险,请谨慎操作

扫描硬盘坏道Permalink
命令:
badblocks /dev/sdXX [-s -b4096 -o err.log]
常用命令解释:
-s:在屏幕上显示进度
-b:每次扫描的块大小
-o:将错误输出到文件

利用硬盘的重分配特性修复坏道Permalink
硬盘上的芯片存有一个 GList,里面存储着盘面上的坏道信息,当读写到其记录的地址时会自动重映射另一个地址来代替损坏的区域。而往其中添加内容很简单:只要往坏道上写数据(读不行),硬盘会自动重映射。

警告:本操作会覆盖硬盘目标区域的数据,请谨慎使用

技巧:可以使用 dd 命令使用 conv=noerror, sync 参数先备份目标区域的数据,在修复后用 dd 写回,具体请参阅 man dd

命令:
badblocks -w [-f] /dev/sdXX [-s -b4096] end start
常用命令解释:
-w:写入命令,通过在坏道地址强制写入来让硬盘自动重映射。
-f:强制写入,在已确定目标不被系统读写而-w 仍然拒绝写入时使用。这个参数应该尽量避免!
end, start:强制写入的开始和终止块地址,与-b 制定的大小相配和。

附:硬盘坏道修复方法
检查:smartctl -l selftest /dev/sda
卸载:umount /dev/sda*
修复:badblocks /dev/sda