Восстановить из потерянного+найденного

Восстановить из потерянного+найденного

Возникла проблема с файловой системой EXT4/картой памяти, и после проверки fsck все файлы были помещены в папку lost+found.

Вопрос: как восстановить старое имя файла/иерархию из lost+found? Или это невозможно? Не считая восстановления из резервной копии.

решение1

Вы не можете найти исходное имя и местоположение файла, /lost+foundпотому что эточто lost+foundнасчет: это место, куда fsckпомещаются фрагменты файлов, которые не удалось прикрепить нигде в дереве каталогов. Если бы местоположение было известно, fsckфайл остался бы там, где ему и положено быть.

Теоретически возможно, что fsckможет содержаться только частичная информация, например имя файла, но не местоположение каталога, но в типичной файловой системе этого не происходит.

Возможно, вы сможете найти подсказки в самом файле.fileКоманда по крайней мере скажет вам, какой это тип файла (если она его распознает). Некоторые файлы несут в себе дополнительную информацию; например, изображения JPEG и TIFF могут содержатьЭКСИФданные, файлы MP3 могут содержатьID3-теги, и т. д.

решение2

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

Здесь может помочь программа «file», поскольку она даст вам представление о типе данных, поэтому вы можете использовать ее для соответствующего просмотра файлов для начала.

решение3

В моем случае была ошибка ввода-вывода во время чтения. И после запуска e2fsckя обнаружил, что большинство моих файлов находятся lost+foundв подпапках, и большинство файлов (и имен файлов) былихорошо.

Так что иди lost+found, беги

find | less

и посмотрите, найдете ли вы свои файлы. Удачи!

решение4

Имена файлов и иерархия нет, но использование file может помочь вам восстановить некоторые вещи. Я использую редактор Joe, в котором есть прямоугольные выделения, если вы их включите. Поэтому я мог бы сделать "ls > ques", а затем выполнить поиск-замену, чтобы превратить его в список операторов, например "file "#133024" > 133024.txt". Я запустил это как скрипт sh, затем я мог бы сделать "grep PDF *.txt > pdflist". Открыв это в mc viewer и другом mc в другом терминале, я просмотрел pdflist.txt и переместил все PDF-файлы в их собственный каталог. Вы можете сделать то же самое с текстовыми файлами ASCII и всем, что он идентифицирует.

Также есть странные сюрпризы, такие как '#410423: gzip-сжатые данные, были "x264_git.tar"'. Вы также можете 'cat *.txt > filelist', чтобы получить все описания в одном файле.

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