ddrescue: перечитывать только хорошие сектора?

Перед тем, как обработать поврежденную файловую систему в файл на другом жестком диске, я решил сухим запустить ddrescue ( ddrescue сбрасываемого вывода на /dev/null ), чтобы увидеть, сколько данных нечитаемо:

 # ddrescue -d -b 4096 -r 3 -f /dev/sda1 /dev/null sda1.log 

В итоге потребовалось 3 дня. Теперь я готов сделать реальный образ, но я не хочу ждать еще 3 дня, пока он не закончится. Но, к счастью, потому что у меня есть файл журнала, можно ли заставить ddrescue спасти только хорошие сектора и не трогать плохие?

Прочитав некоторую документацию, я придумал следующую идею:

 # ddrescue -d -b 4096 --fill=+ /dev/sda1 /mnt/sda1.img sda1.log 

Будет ли это работать? Есть ли другой (предпочтительный) способ перечитать только хорошие сектора?

Это очень плохая идея !

Я говорю о представлении поврежденной файловой системы в файл на другом жестком диске

Так же, как при повреждении дискового накопителя, при каждом попытке доступа к вашему накопителю обычно растет коррупция.

Таким образом, хороший способ спасти сломанный диск – сделать изображение, скопировав весь диск от начала до конца в одну непрерывную операцию! , После этого отключите дисковод и храните их тихо. Поскольку: меньше вы касаетесь сломанного диска, больше шансов, что вам нужно что-то восстановить.

Поскольку каждый раз, когда механический доступ к сломанному материалу может привести к еще большему ущербу, журнал, который вы сделали с вашей последней операции , не является ссылкой на то, что известно, что блок поврежден.

Я лично, не использую ddrescue . Я использую dd из-за этого, и этот инструмент делает все, что мне нужно:

 dd bs=512 if=/dev/sdX of=/backuprepo/sdXBroken.img conv=noerror,sync 

И я позволил ему работать терпеливо. 😉

Сожалею. Удачи!

Тщательно перечитайте руководство ddrescue и ddrescue следующий вариант:

-m file
--domain-logfile=file

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

Таким образом, вызов ddrescue будет выглядеть примерно так:

 # ddrescue -d -b 4096 -m sda1.log /dev/sda1 /mnt/sda1.img logfile2.log 

Зная, что делает ddrecue, вы не должны использовать его для записи в / dev / null при восстановлении данных с разбитого диска, но чтобы получить «по крайней мере что-то», используя записи в реальном файле изображения.

Запись в / dev / null имеет смысл, например, если вы хотите узнать о новом диске, если хотите вернуть его в магазин.

В этом случае я бы не использовал файл журнала из «/ dev / null try», но пустым / новым, а затем попытался в конечном итоге увеличить количество проходов, в зависимости от того, как это происходит …