Поделиться в соц. сетях
Linux восстановление файлов. Оптимизации, которые предоставляют файловые системы Unix, становятся возможными благодаря сложному механизму, аналогичному базе данных. Для файловых систем, работающих без ошибок, ядро видит, что в установленной файловой системе нет никаких ошибок. С другой стороны, встречаются серьезные ошибки вроде потери данных и сбоев системы.
Наиболее часто встречающаяся причина ошибки файловой системы это жесткое завершение работы системы (например, при отключении питания на компьютере). Кэш в файловой системе может не найти данных на диске, и система также может находиться в процессе изменения файловой системы в момент, когда вы решили сделать компьютеру перезагрузку. Несмотря на то, что новое поколение файловых систем поддерживает журналы, чтобы сделать повреждение файловых систем менее вероятным, вам всегда следует завершать работу системы в правильном порядке. Более того, проверки файловых систем можно рассматривать как профилактическую меру, средство контроля ПО на отсутствие незначительных ошибок.
Вам следует запомнить одно имя команды для проверки файловой системы: fsck. Однако, существуют различные версии этого инструмента для каждого типа файловых систем, поддерживаемых Linux. Представленная здесь информация характерна для файловых систем вторичного и третичного расширения (ext2/ext3). А также для утилиты e2fsck. Вообще, вам не нужна e2fsck, если только fsck не может выяснить тип файловой системы, или вы ищете страницу руководства e2fsck.
Чтобы запустить fsck в ручном интерактивном режиме, воспользуйтесь устройством или точкой монтирования (в /etc/fstab) как аргументом. Например:
fsck /dev/hddl
Никогда не используйте fsck на подмонтированной файловой системе. Ядро может видоизменить данные на диске, когда вы запустите проверку, вызывая несоответствия, которые могут привести к сбою вашей системы и повредить файлы. Есть только одно исключение. Если вы подмонтировали корневой каталог в пользовательском режиме только для чтения, вы можете использовать fsck на корневой файловой системе.
В ручном режиме fsck печатает многословные сообщения о состоянии по выполняемым операциям.
Если fsck найдет проблему в ручном режиме, она остановится и задаст вам вопрос в соответствии с устранением проблемы. Эти вопросы касаются внутренней структуры файловой системы, такой как перестройка соединений и очистка блоков. Перестройка означает, что fsck нашла файл, который, похоже, не имеет имени; перестройка помещает файл в каталог lost+found файловой системы как номер. Вам нужно выяснить имя, основываясь на содержимом файла.
Как правило, бессмысленно проводить процесс fsck если вы просто совершили ошибку жесткого завершения работы. e2fsck имеет опцию -р, которая автоматически исправляет глупые ошибки не спрашивая вас об этом, и завершаясь в случае серьезной ошибки. Это так широко распространено, что версии Linux запускают свой вариант -р во время загрузки (fsck -а тоже иногда встречается).
Однако, если вы подозреваете, что произошла катастрофа, вроде сбоя аппаратного обеспечения или неправильный выбор конфигурации устройства; вам нужно определить направление действий, так как в этом случае fsck может только запутать файловую систему еще больше. Намек на серьезную проблему — это очень большое количество вопросов в ручном режиме.
Если вы действительно думаете, что случилось что-то ужасное, попробуйте запустить fsck -n, чтобы проверить файловую систему, ничего не изменяя. Если есть какая-то проблема с конфигурацией устройства (неправильное число блоков в таблице разделов, кабель отошел или еще что-нибудь), которую вы можете самостоятельно устранить, то сделайте это до запуска fsck. Иначе, вы рискуете потерять изрядное количество данных.
Если вы подозреваете, что только суперблок, ключ базы данных компонентов файловой системы поврежден (например, кто-то сделал запись в начало раздела диска), вы можете восстановить файловую систему с помощью одной из резервных копий суперблока, которые создает mke2fs. Воспользуйтесь fsck -b num чтобы заменить поврежденный суперблок, дублирующим в блоке num.
Вы можете не знать, где искать резервный суперблок, потому что не записали номера, когда запускали mke2fs. Если файловая система была создана со значениями по умолчанию, вы можете попробовать mke2fs -n на устройстве, чтобы посмотреть список резервных суперблоков без уничтожения ваших данных (снова, будьте на сто процентов уверены, что используете -n, потому что в противном случае вы действительно разорвете файловую систему в клочья). Если устройство работает правильно за исключением нескольких небольших его частей, вы можете запустить fsck -с перед ручным запуском fsck, чтобы найти неисправные блоки. Такая ошибка встречается довольно редко.
Проверка файловых систем ext3.
Вообще, вам не обязательно проверять файловые системы ext3, потому что журнал проверяет целостность данных. Однако, вы можете захотеть установить файловую систему ext3 в режиме ext2. Ядро не установит файловую систему ext3, которая содержит непустой журнал (если вы не завершили работу системы правильно, журнал может содержать какие-нибудь данные). Чтобы сместить журнал из файловой системы ext3 на постоянную базу данных файловой системы, запустите e2fsck как показано ниже:
e2fsck -fy /dev/disk_device
Самый худший случай.
Более суровые проблемы диска оставляют вам небольшой выбор:
1. Вы можете извлечь всю файловую систему с диска при помощи dd и переместить на раздел другого диска с таким же размером.
2. Вы можете попробовать исправить файловую систему описанным ранее способом, то есть установить ее в режим только для чтения и спасти все, что можно.
3. В обоих случаях, вам все равно надо починить файловую систему перед тем, как ее устанавливать (если только вы не вводите свежие данные собственноручно). Чтобы ответить на все вопросы fsck, воспользуйтесь
fsck с ключом -у, но делайте это лишь в крайнем случае.
Существует продвинутая утилита под названием debugfs для пользователей с доскональным знанием файловых систем, или для тех, кто хочет поэкспериментировать на не особо нужных файловых системах.
Если вы действительно в отчаянном положении, таком как катастрофический сбой в дисковой системе без резервирования, вам больше ничего не остается, кроме как обратиться за профессиональной помощью.
Свежие комментарии