ddrescue: ошибка в файле карты

См.Getopt::Std:Вы можете просто заменить

require "getopts.pl";
&Getopts('F:f:');

с

use Getopt::Std;
getopts('F:f:');

Если вы также используете use warnings;и use strict;(, как обычно рекомендуется ), вам необходимо заранее объявить переменные с помощью our ($opt_F, $opt_f);. В качестве альтернативы вы можете использовать хэш:

getopts('F:f:', \my %opts);
$opts{f} # instead of $opt_f
$opts{F} # instead of $opt_F

2
29.02.2020, 15:49
1 ответ

Ваша вторая команда ddrescue:

sudo ddrescue -f -c1 -b4096 /dev/sda2 /media/ubuntu/dd/suivi6

Отсутствует целевой параметр, поэтому файл карты берется в качестве цели и перезаписывается.

В качестве файла карты нет третьего параметра, поэтому он также не возобновляется, а перезаписывается с самого начала.

Если вашей целью был обычный файл, а не раздел диска, вы могли попытаться угадать, сгенерировать новый файл карты с помощью ddrescue --generate-mode, но это не рекомендуется в вашей ситуации, если вы не можете гарантировать, что целевой диск был полностью обнулен до того, как вы начали копировать. Это гораздо проще сделать с целевым файлом, поскольку новые файлы по своей природе нулевые.

Вы можете либо начать заново (с другой целью, лучше больше не трогать свою, иначе рискуете усугубить ситуацию ), либо закончить; в конце концов, вы спасли 99,99%, это не так уж плохо.


Эй, я идиот. Ваша цель - обычный файл во второй команде. Если вы не модифицировали файл suivi6, вы все-таки можете попытаться сгенерировать прогресс из него (, но вы должны сохранить этот файл, так как теперь это ваш образ, а не исходная цель ).

См. info ddrescue Generate, Режим генерации. И, возможно, mv suivi6 sda2.imgдать ему менее запутанное название. (Также убедитесь, что он имеет полный размер диска, тогда как обычный файл карты представляет собой небольшой -текстовый файл ).

1
28.04.2021, 23:21

Теги

Похожие вопросы