我正在尝试恢复损坏的分割由于损坏的硬盘GNU地址救援。
我按照 ubuntu tuto 这样做并让它整夜运行,但第三个和第四个命令失败:请参阅下面的脚本日志:
标准输出:
ubuntu@ubuntu:~$ bash -x rescue.sh
+ INTERN=/dev/sda2
+ TARGET=/dev/sdb1
+ SUIVI=/dev/sdb3
+ sudo mount /dev/sdb3 /media/ubuntu
mount: /media/ubuntu: /dev/sdb3 déjà monté sur /media/ubuntu.
+ sudo mkdir /media/ubuntu/dd
+ sudo ddrescue -f -N -n -b4096 -K524288 /dev/sda2 /dev/sdb1 /media/ubuntu/dd/suivi6
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 93098 MB, non-trimmed: 10530 kB, current rate: 0 B/s
opos: 93098 MB, non-scraped: 0 B, average rate: 32564 kB/s
non-tried: 0 B, bad-sector: 24576 B, error rate: 21845 B/s
rescued: 477173 MB, bad areas: 6, run time: 4h 4m 13s
pct rescued: 99.99%, read errors: 192, remaining time: 6h 49m
time since last successful read: 1m 30s
Finished
+ sudo ddrescue -f -c1 -b4096 /dev/sda2 /media/ubuntu/dd/suivi6
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 112395 MB, non-trimmed: 0 B, current rate: 1179 kB/s
opos: 112395 MB, non-scraped: 0 B, average rate: 25915 kB/s
non-tried: 0 B, bad-sector: 8785 kB, error rate: 0 B/s
rescued: 477175 MB, bad areas: 124, run time: 5h 6m 52s
pct rescued: 99.99%, read errors: 2145, remaining time: n/a
time since last successful read: n/a
Finished
+ sudo ddrescue -d -f -R -r27 -b4096 -c1 /dev/sda2 /dev/sdb1 /media/ubuntu/dd/suivi6
ddrescue: error in mapfile /media/ubuntu/dd/suivi6, line 131.
+ ddrescue --fill-mode=- --force --synchronous /dev/zero /dev/sdb1 /media/ubuntu/dd/suivi6
ddrescue: error in mapfile /media/ubuntu/dd/suivi6, line 131.
我检查了地图文件,它包含奇怪的字符:
ubuntu@ubuntu:~$ sed -n 130p /media/ubuntu/dd/suivi6
0x22D3670000 0x4C46F90000 +
ubuntu@ubuntu:~$ sed -n 131p /media/ubuntu/dd/suivi6
INDX( ��_�(8�t�ty�j5ˣ{��N3����N3����N3���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046ra�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{�ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{��ł1����ł1����ł1���1046rat�j5ˣ{�j5ˣ{�j5ˣ{�j5ˣ{�1048rat�
我在网上没有发现类似的错误,有人知道吗?
我的配置
Linux 版本 5.3.0-18-generic (buildd@lcy01-amd64-027) (gcc 版本 9.2.1 20190909 (Ubuntu 9.2.1-8ubuntu1)) #19-Ubuntu SMP 10 月 8 日星期二 20:14:06 UTC 2019
GNU 地址救援 1.23
谢谢你!
答案1
您的第二个 ddrescue 命令:
sudo ddrescue -f -c1 -b4096 /dev/sda2 /media/ubuntu/dd/suivi6
缺少target参数,因此以map文件为目标并覆盖。
没有第三个参数作为映射文件,因此它也不会恢复,而是从头开始覆盖。
如果您的目标是常规文件而不是磁盘分区,您可以尝试猜测生成一个新的映射文件,ddrescue --generate-mode
但在您的情况下这是不可取的,除非您可以保证目标驱动器在开始复制之前完全清零。这是对目标文件更容易的保证,因为新文件本质上为零。
你可以重新开始(有不同的目标,最好不要再碰你的目标,否则可能会让情况变得更糟),或者到此为止;毕竟你救了99.99%,这还不错。
哦嘿,我是个白痴。您的目标是第二个命令中的常规文件。如果您尚未修改 suivi6 文件,您可以尝试从它生成进度(但您必须保留此文件,因为它现在是您的图像,而不是原始目标)。
请参阅info ddrescue Generate
生成模式。也许是mv suivi6 sda2.img
为了给它起一个不那么混乱的名字。 (还要检查它是否具有完整的磁盘大小,而常规地图文件是一个较小的文本文件)。