DDRESCUE - Как повторить первый проход (пока не делайте обратного)?
Я провел ddrescue в течение нескольких дней и выздоровел около 60G. Он замедлился до ползания и имел ипос около 90 млн. Я начал снова, добавив -a100000, и он получил еще 35G всего за 3 часа. Началась обратная фаза, и теперь она производила много шума и читала очень мало данных (время с момента последнего чтения составляло до 2 минут), поэтому я остановил его.
Это была оригинальная команда: ddrescue -n -f /dev/sda /dev/sdc /home/B/Desktop/rescue.log (sdc - совершенно новый диск.)
Я заметил, что с -a100000 он пропускал большие части диска. Я хочу вернуться к первому проходу снова, на этот раз с, возможно, -a50000, и поставить максимум на то, сколько он может пропустить. Я очень обеспокоен чрезмерным шумом в задней части диска (492M) в обратном направлении. Это поврежденный диск - диск сломался, когда ноутбук уронили во время работы. Такого шума раньше не было.
(Опция -a заставляет его двигаться дальше, когда скорость чтения падает ниже x байт / с.)
Я не понимаю, что должна делать опция -i. Звучит так, как будто должно быть там, где начинается, но на странице руководства явно сказано, что это не так. ("Это не та точка, с которой ddrescue начинает копировать".) Но это не говорит, по крайней мере мне, о том, что он делает. (Gnu.org...ddrescue_manual.html)
Как мне начать первый проход заново, с начала диска (где, в любом случае, важная вещь), проходя через изначально пропущенные части, в направлении вперед? Мне нужно начать примерно с 90M, потому что он выполнил первую часть без опции -a, поэтому не пропустил ее. (Я, вероятно, буду использовать -a50000 с максимальным значением, если у кого-то нет лучшей идеи. Я хочу получить большую часть того, что я могу, до того, как диск выйдет из строя.)
ОБНОВИТЬ
Я попытался добавить -i73GiB, но он начал двигаться вперед примерно с 480 000 МБ, где и прекратилось обратное. Я остановил это.
Я попытался добавить -i73GiB и -A, но это сделало то же самое, -A не дало эффекта. Я остановил это снова.
(-A: "Пометить все необрезанные и не очищенные блоки внутри спасательного домена как непробованные перед началом спасения".)
Я не вижу других вариантов, чтобы попробовать.
1 ответ
Я использую следующие две опции, чтобы указать часть диска для спасения. В обратном режиме ddrescue
начинается с {начальная позиция} + {размер} (если все еще находится внутри привода). Таким образом, вы можете определить интервал.
Увидеть info ddrescue
,
'-i BYTES'
'--input-position=BYTES'
Starting position of the rescue domain in INFILE, in bytes.
Defaults to 0. This is not the point from which ddrescue starts
copying. (For example, if you pass the '--reverse' option to
ddrescue, it starts copying from the end of the rescue domain). In
fill mode it refers to a position in the INFILE of the original
rescue run. See the chapter Fill mode (*note Fill mode::) for
details.
'-s BYTES'
'--size=BYTES'
Maximum size of the rescue domain, in bytes. It limits the amount
of input data to be copied. If ddrescue can't determine the size
of the input file, you may need to specify it with this option.
Note that this option does not specify the size of the resulting
OUTFILE. For example, the following command creates an OUTFILE 300
bytes long, but only writes data on the last 200 bytes:
ddrescue -i 100 -s 200 infile outfile mapfile
Таким образом, вы можете избежать частей привода, которые серьезно повреждены. Я использовал этот метод недавно, чтобы спасти DVD-видео с двух сильно поцарапанных дисков.