Я использую PhotoRec для восстановления файлов на томе ext4. Короче говоря, я отменил изменение размера через несколько секунд. На диск ничего не было записано, кроме новой таблицы разделов. Ничто не помогло вернуть что-либо. Несколько файлов восстанавливаются. У меня есть список всех файлов, которые там были, и их размер с точностью до байта. Есть ли какая-либо утилита для простого сброса необработанных данных в новые файлы в другом разделе на основе смещений из успешно восстановленных файлов? Так же ничего не разбилось. Я только что скопировал их из другого места, так что все они были смежными.
ext4 Восстановление файлов известных размеров
Ответы (2)
Не знаю, правильно ли я вас понимаю, но если вы хотите восстановить raw_files и знаете каждое смещение (start_of_datablock - end_of_datablock) в старой файловой системе и уверены, что ничего не фрагментировано, вы можете просто использовать dd для его копирования. назад. Например. Предположим, у вас есть файл Picture.jpg, начинающийся с блока fs 12000 и заканчивающийся 12060, а размер блока fs по умолчанию равен ext4 = 4096 байт):
dd if=/dev/sdxold of=/home/whatever/Picture.jpg bs=4096 skip=12000 count=61 conv=noerror,sync
Например, это должно вернуть ваш файл jpeg. Вы можете сделать это сейчас с каждым файлом, если знаете точное начальное и конечное смещения.
-> Если вы их не знаете, и ваша файловая система была удалена, потому что ваш раздел был удален. Вы можете либо попытаться восстановить метаинформацию вашей файловой системы (=иноды из таблиц инодов), выполнив поиск строки на устройстве:
strings /dev/sdxold
а затем вручную восстановить различные иноды вашей предыдущей файловой системы. Если вы их восстановили, вы можете найти блоки данных, к которым они обращаются, и восстановить их с помощью вышеуказанного метода. -> Это означает много работы, и я не знаю, есть ли инструмент, способный сделать это за вас.
Попробуйте скальпель, он хорошо находит файлы, особенно .jpg и тому подобное.