schel4koff.ru

Компьютер — интернет — сайтостроение — SEO — монетизация

Linux восстановление файлов

Поделиться в соц. сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

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

Если вы действительно в отчаянном положении, таком как катастрофический сбой в дисковой системе без резервирования, вам больше ничего не ос­тается, кроме как обратиться за профессиональной помощью.

Автор

Schel4koff.ru © 2014
Для любых предложений по сайту: [email protected]