ddrescue:地图文件中的错误

ddrescue:地图文件中的错误

我正在尝试恢复损坏的分割由于损坏的硬盘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为了给它起一个不那么混乱的名字。 (还要检查它是否具有完整的磁盘大小,而常规地图文件是一个较小的文本文件)。

相关内容