Загрузчик и проблемы файловой системы

Переустановка загрузчика

Иногда бывает так, что вы случайно делаете ошибку и стираете MBR (Master Boot Record) вашего диска, или это делает какая-нибудь плохо себя ведущая программа, или у вас двойная загрузка с Windows и это сделал вирус. Что, скажете, что вы не можете больше загрузить мою систему? Неверно! Существует множество способов восстановить boot record.

Чтобы восстановить ваш загрузчик, вам понадобится загрузочный диск. Без него практически ничего не получится. [15]. Вы создавали загрузочный диск, не правда ли?

Вставьте дискету в дисковод и загрузите с нее ваш компьютер. Что нужно делать дальше зависит от того, что вы используете LILO или grub. Какой бы вы загрузчик не использовали, все команды нужно будет выполнять под root-ом.

В случае LILO

Если вы используете LILO, вам нужно выполнить /sbin/lilo в приглашении командной строки. Эта команда переустановит LILO в загрузочном секторе на вашем жестком диске и решит проблему.

В случае GRUB

Если вы используете grub, действия будут несколько иными по сравнению с LILO... но не бойтесь, мы находимся здесь, чтобы помочь.

Замечание

В следующем примере предполагается, что вы пытаетесь установить grub в MBR вашего первого IDE диска, и что файл stage1 находится в каталоге /boot/grub/.

Сначала вызовите оболочку grub, набрав команду: grub. Очутившись там, наберите команду: root (hd0,0) - это сообщает grub, что необходимые файлы находятся на первом разделе (0) вашего жесткого диска (hd0). Затем наберите такую команду: setup (hd0) - этим вы установите grub в MBR вашего первого жесткого диска. И все!

Вы можете также попробовать установить grub в MBR вашего первого жесткого диска и такой командой : grub-install /dev/hda, но метод, описанный выше, является более предпочтительным.

Некоторые советы для систем с двойной загрузкой

Обновление или переустановка Windows 9x, NT, 2000 и XP. Если вы работаете на машине с двойной загрузкой, будьте очень предусмотрительны и всегда держите под рукой загрузочный диск GNU/Linux. Windows (всех версий) обычно убивают загрузчики LILO или grub (загрузчик, который запускает систему GNU/Linux и другие операционные системы) без какого-либо предупреждения вообще, и, если у вас нет загрузочного диска, вы не сможете больше загрузиться в GNU/Linux после переустановки или обновления Windows.

Восстановление поврежденного супер-блока

Замечание

Информация ниже относится исключительно к файловым системам ext2 и ext3. Если у вас другая файловая система, пожалуйста обратитесь к ее документации.

Супер-блок (super-block) это первый блок каждого из разделов ext2FS/ext3FS. Он содержит важную информацию о файловой системе, например, размер, количество свободного пространства (free space) и т.д. (Это похоже на метод, используемый в разделахFAT). Раздел с поврежденным супер-блоком нельзя примонтировать. К счастью, ext2FS/ext3FS хранят несколько резервных копий супер-блока, разбросанных по разделу.

Загрузите систему с загрузочного диска. Расположение резервных копий зависит от размера блока файловой системы. Для файловых систем с размером блока 1 KB он находится в начале каждого 8 KB-тного (8192 bytes) блока, для файловых систем с размером блока 2 KB он расположен в начале каждого 16 KB-тного (16384) блока и т.д. Вы можете воспользоваться командой mke2fs -n [имя_устройства_вашего_диска], чтобы узнать в каком байте размещены копии супер-блоков. Исходя из размера блока в 1 KB, первая резервная копия находится в байте с номером 8193. Чтобы восстановить супер-блок из этой копии, выполните e2fsck -b 8193 /dev/hda4; только измените hda4 на соответствующее название вашего поврежденного раздела. Если так получилось, что копия блока тоже повреждена, попробуйте следующую из байта номер 16385 и так далее, пока вы не найдете подходящую копию. После этого перезагрузите свою систему, чтобы изменения вступили в силу.

Бекап и восстановление MBR

Чтобы создать резервную копию Master Boot Record (MBR) вашего жесткого диска , вставьте чистую дискету в дисковод и наберите следующее:

     # dd if=/dev/hda of=/dev/fd0/mbr.bin bs=512 count=1
    

под root-ом.

Если вы хотите восстановить сохраненную резервную копию Master Boot Record (MBR) вашего жесткого диска , вставьте дискету с этой копией в дисковод и выполните следующее под root-ом:

     # dd if=/dev/fd0/mbr.bin of=/dev/hda bs=512
    

Замечание

Оба примера выше подразумевают, что MBR вашего первого IDE (/dev/hda) жесткого диска сохранена в файл с именем mbr.bin на ваш первый дисковод (/dev/fd0).

Восстановление удаленных файлов

Аннотация

Мы обсудим несколько способов восстановления удаленных файлов и каталогов. Пожалуйста, имейте в виду, что утилиты восстановления не всемогущи и их работа зависит от того, насколько давно был удален файл, который вы пытаетесь восстановить.

Возможно, вы удивлены: “Ну хорошо, я нечаянно удалил этот файл, так как же я могу его восстановить?”. Не расстраивайтесь, существует несколько утилит для файловой системы ext2 GNU/Linux, которые позволяют восстанавливать удаленные файлы и каталоги. Однако, эти утилиты не смогут восстановить файлы, которые вы удалили несколько месяцев назад по той причине, что место под ними было отмечено как “свободное” и, наверняка, уже было занято другими файлами. Так что лучшей защитой от случайного (или не очень) удаления файлов все таки является создание резервных копий.

Замечание

Пожалуйста, имейте в виду, что для восстановления удаленных файлов на файловых системах ReiserFS пока не существует соответствующих утилит. Следите за информацией на сайте ReiserFS home page, чтобы быть в курсе последних новостей по поводу ReiserFS.

Теперь перейдем к самим утилитам для восстановления ваших удаленных файлов. Одна из таких утилит это Recover. Это “интерактивная” утилита. Если вы счастливый обладатель Mandrake Linux - PowerPack Deluxe Edition™, то у вас она уже есть на компакт-диске с названием “contribs”. Во всех других случаях, вы можете отыскать ее на web-сайте Rpmfind. Сходите туда и загрузите RPM. Как только вы получите RPM, установите его. Затем запустите recover [command_line_opts] и отвечайте на вопросы, которые она будет задавать. Вопросы касаются настроек временного промежутка для поиска удаленных файлов и каталогов, чтобы уменьшить время поиска.[16]

Как только утилита закончит поиск, она спросит вас, куда вы желаете сохранить восстановленные файлы и каталоги. Укажите ей каталог и в нем вы найдете все файлы и каталоги, которые удалось восстановить. Заметим, что восстановить имена файлов не получится, только их содержимое, однако вы можете пересмотреть восстановленные файлы и найти те, которые нужны. Это в любом случае лучше, чем ничего.

Замечание

Существует также мини- HOWTO на тему “восстановления удаленных файлов” для ext2, посмотрите здесь: Ext2fs-Undeletion и восстановление полностью удаленной структуры каталога.



[15] Конечно же, если вы не сделали ранее бекап MBR, более того, это сделать еще не поздно...

[16] Вы конечно можете поискать все удаленные файлы, но это займет очень много времени...



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости