Найти поврежденные файлы на частично восстановленном ext4

Найти поврежденные файлы на частично восстановленном ext4

У меня естьжесткий диск, который был поврежденударом, когда он работал. На диске было 6 разделов и некоторое нераспределенное пространство. После удара 3 раздела, похоже, в порядке, и я могу нормально читать/писать на них с приличной скоростью, и проверки файловой системы также не дают сбоев. Но былРаздел ext4 40 ГиБна диске, который стал частично нечитаемым после этого инцидента.

Этот раздел имел около8 ГБ свободного места. На этом разделе был установлен дистрибутив Linux, и он /homeне был на отдельном разделе. Поэтому все данные пользователя, ОС и приложений находятся в этом одном разделе.

Что я пробовал?

Сначала я попытался использовать ddкоманду в Linux, чтобы скопировать данные из поврежденного раздела в другой раздел на другом диске. Но она несколько раз терпела неудачу, выдавая ошибки чтения, и мне пришлось возобновить ее вручную, после корректировки параметров skipи seek.

dd if=/dev/sdc4 of=/dev/sda2 bs=2M conv=notrunc status=progress iflag=noatime oflag=noatime seek=X skip=X

Хотя это и работало (медленно), процесс был болезненным, и поэтому я сдался.

При дальнейшем чтении я обнаружил,GNU-редактор восстановленияинструмент иDDRescue-GUIпостроили поверх него и решили попробовать.

В первый день, примерно за 6-8 часов, мне удалось восстановить 37+ ГиБ данных с этого раздела, запуская DDRescue-GUI несколько раз (когда у меня было свободное время), запуская процесс восстановления с начала и с конца попеременно, используя один и тот же файл журнала. (У меня никогда не было достаточно времени, чтобы запустить его за один раз до завершения)

На второй день процесс восстановления происходил довольно медленно, и в конце дня у меня осталосьожидающий блок размером около 400 МБмежду отметками 2 GiB и 3 GiB этого раздела. Количество плохих секторов в выводе DDRescue по-прежнему равно 0, но для чтения данных в этой области требуется огромное количество времени, а прогресс составляет менее 30 МБ после ожидания более 6 часов. Я пробовал запускать в обоих направлениях, вперед и назад, и скорость восстановления одинакова. Кроме того, необрезанный счетчик в выводе DDRescue достиг примерно 27 МБ.
Я понимаю, что эта конкретная ожидающая часть диска серьезно повреждена, и поэтому ее восстановление занимает много времени.

Вопрос

Не желая больше ждать, я хотел бы узнать, есть ли способ получитьсписок файлов, которые являются неполными, отсутствующими или не подлежащими восстановлениюв текущем частично восстановленном разделе ext4?
Например, можно ли fsck.ext4с определенными опциями создать этот список вместе сполные путик файлам?

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

Дополнительный вопрос

Могу ли я настроить интервал чтения DDRescue таким образом, чтобы он быстро пропускал трудночитаемые сектора, и я мог бы еще больше минимизировать ожидающий блок размером 400 МБ, не дожидаясь нескольких дней?

Связанный контент