Мини-HOWTO: Восстановление структуры каталогов файловой системы Ext2fs |
---|
Пред. | | След. |
Если каталог /lost+found не пуст
Некоторые из ваших каталогов или файлов могут не появиться в обычных местах.
Вместо этого они могут появиться в каталоге /lost+found под именами, состоящими из
их номеров inode и старых имен.
В этом случае указатель в элементе ".." каталога скорее всего изменился,
и указывает на один из последних файлов каталога (я не знаю, почему это
происходит - возможно, это ошибка в драйвере файловой системы).
Изучите 3-ю фазу файла "e2fsck.out" (в ней
проверяется связность каталогов). Там вы увидите названия каталогов, которые
были затронуты e2fsck. Запишите их на диск (как было описано в главе Разд. Находим номера inode удаленных каталогов).
Запустите e2dirana как с флагом p, так
и без него (так вы измените указатель на ".."). Здесь и ниже dump -
это записанное на диск содержимое каталога.
# ext2fs-directory-analyse dump > dump1
# ext2fs-directory-analyse -p dump > dump2 |
Сравните результат работы программ
Если эти файлы не равны, значит в этом каталоге есть пропавшие файлы.
Переместите данные файлы из каталога /lost+found в правильное место. Здесь
dest - это симвользная ссылка на каталог-приемник.
Поместите результат работы этого мини-скрипта в файл, и запустите его,
если там все правильно.
# diff dump1 dump2 |\
tail -n $[`diff dump1 dump2 | wc -l`-1] | cut -b 3- |\
sed -e 's/^\([^ ]*\) \(.*\)$/mv lost+found\/#\1 dest\/"\2"/' |\
sed -e 's/!/"\\\!"/g' |
Повторяйте эти действия до тех пор, пока каталог /lost+found не будет пуст.