bash
!!!use
这里要设置块大小和磁盘相同
badblocks -b 4096 -s -c 512 -v -o /a/2/bads4.txt /dev/sda5
检测完重新检测跳过之前的记录
badblocks -i /a/2/bads4.txt -b 4096 -s -c 512 -v -o /a/2/bads5.txt /dev/sda5
可以查看磁盘具体block总数和大小
sudo dumpe2fs /dev/sda5 > /a/2/dd.txt
e2fsck -l /a/2/bads4.txt /dev/sda5 -y
下面的这个命令有知道具体用途追加留言,谢谢!
fsck -l /a/2/bads2.txt /dev/sda1
可以使用 dd 命令使用 conv=noerror, sync 参数先备份目标区域的数据,在修复后用 dd 写回
上面是我反复看说明自己领悟的具体参照说明
e2fsck(8) - Linux 手册页 https://man7.org/linux/man-pages/man8/e2fsck.8.html
badblocks(8) - Linux manual page https://man7.org/linux/man-pages/man8/badblocks.8.html
下面说一下我具体的操作遇到的一些问题
还是接上次的问题,坏道硬盘的由来,上篇文章已经说了8元一个的坏道硬盘,开始买来就是为了研究一下坏道问题和资料存上去到底什么情况
最终结果就是,我之前学的linux磁盘这块的根底太薄弱了,直到现在使用到坏道处理的时候才现学现用
例如一个硬盘有XXX个扇区。一个扇区512字节,系统格式化默认的一般4096,也就是4K对齐
在linux下也是如此,ext4格式下可以查 块大小
sudo dumpe2fs /dev/sdX1 | grep 'Block size'
根据这个功能我发现,我们屏蔽的坏块也是在这里显示的,用命令可以导出到文本
sudo dumpe2fs /dev/sda5 > /a/2/dd.txt
说一下坏盘分区遇到的问题,在windows11下插入usb接口后,打开windows资源管理器,有性能,就可以看到目前usb使用率,刚插入坏盘100%,大概几秒到几十秒就降到0%了,然后可以打开磁盘管理分区,分区遇到的坑就是别开始就格式化!!!先不指派磁盘号,也不格式化,这样就得到了一个raw的分区,我们可以一开始弄4个看看哪一个可以正常格式化,说明此区域还是好的多,初步判断。格式化成功的说明ntfs的mft记录成功,最起码系统格式对了,使用软件屏蔽
windows屏蔽坏道扇区的软件源码地址
【免费】windows下NTFS屏蔽坏道的源码资源-CSDN文库
https://download.csdn.net/download/cyuyan112233/89484993
下面说一下Ubuntu下分区遇到的坑,开始我直接fdisk分区就一个主分区,然后格式化,失败!
然后删除所有分区,重新建立4个主分区,格式化,发现其中两个可以格式化
然后删除所有分区 重新建立 扩展分区,然后新建逻辑分区一个
这回用 mkfs.ext4 /dev/sda5 格式化成功了
然后扫描磁盘坏块命令
badblocks -b 4096 -s -c 2 -v -o /a/2/bads5.txt /dev/sda5
完成结束后屏蔽命令
e2fsck -l /a/2/bads5.txt /dev/sda5 -y
root@raspberrypi:~# e2fsck -l /home/administrator/2.txt /dev/sda5 -y
e2fsck 1.46.2 (28-Feb-2021)
/dev/sda5: Updating bad block inode.
ext2fs_update_bb_inode: Ext2 file too big while updating bad block inode
/dev/sda5: ***** FILE SYSTEM WAS MODIFIED *****
屏蔽成功,挂载了上去,发现容量明显变少了
root@raspberrypi:/a/2# mount /dev/sda5 /a/3
root@raspberrypi:/a/2# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 7171 5356 1493 79% /
devtmpfs 333 0 333 0% /dev
tmpfs 461 0 461 0% /dev/shm
tmpfs 185 3 183 2% /run
tmpfs 5 1 5 1% /run/lock
/dev/mmcblk0p1 255 51 205 20% /boot
tmpfs 93 1 93 1% /run/user/1000
/dev/sda5 299365 1 284087 1% /a/3
原先299365M现在成了284087M少了11G!!!还行8元320g少了11g过得去
屏蔽坏块的时候,需要屏蔽前后N个块,这样就可以防止读取坏块临近的位置造成二次坏块出现
工具下载地址源码
https://download.csdn.net/download/cyuyan112233/89391425
windows下读写ext4的软件
查看磁盘分区格式
方法1
root@ccyy:/a# sudo file -sL /dev/sdb5
/dev/sdb5: Linux rev 1.0 ext4 filesystem data, UUID=9ccf047a-0d34-45e7-bed9-1f1a6a6f0c15 (extents) (64bit) (large files) (huge files)
方法2
lsblk -f
主页 Ext2Fsd Project 下载 Ext2 File System Driver for Windows download | SourceForge.net
如果在屏蔽坏块操作上遇到问题可以留言,毕竟我不是做数据恢复的只是纯粹研究一下技术,拿来主义都是。