
Возникла проблема с файловой системой 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', чтобы получить все описания в одном файле.