MBR-Fuck Story

Dec 21, 2005 20:11

Я всегда знал, что я извращенец. Но на днях понял что я безнадежен.

Захотелось поэкспериментировать с MBR. Сказано -- сделано.

Собственно, план действий был таков:

1. Загрузиться с *nix-Live системы.
2. Скопировать MBR в надежное место (у меня для этого есть небольшая FAT-партиция, спец. для таких целей)
3. Поиграть с живой MBR.
4. Загрузиться с *nix-Live.
5. Вернуть на место старую MBR.

В качестве *nix-Live был выбран Ubuntu (другого просто не нашлось). Пункты 1-5 включительно прошли весьма успешно. На всякий случай, сначала я попробовал просто погонять MBR туда-обратно, чтобы убедиться, что все Ок. Наивный... В конце концов, мне стало интересно, как система поведет себя, если обнулить информацию о партициях. Ясное дело -- должна повиснуть, но что при этом скажет? По идее, код моей MBR (как, впрочем и всех остальных MBR) при отсутствии активного раздела должен сказать много-много неприятных вещей. Как ни странно, ничего подобного я не увидел (с этим еще предстоит разобраться). MBR сказала, что у меня есть FreeBSD, после чего тихо повисла. Откуда она это взяла, если таблица разделов была чиста как воздух перед грозой? Подозреваю, что она просто показала мне имя ОС, находящейся на партиции, с которой происходила последняя загрузка. Пришла пора вернуть старую MBR и заняться чтением далее. План был прост, как 3 копейки: загрузиться с Live, смонтиовать нужную FS, вернуть на место MBR. И вот тут я понял, что я идиот. Никаких /dev/hda05, /dev/hda07, etc не было и в помине. До меня дошла суровая правда жизни -- им неоткуда было взяться. Нет таблицы -- нет файлов, соответствующих разделам. Соответственно нет возможности примонтировать FAT. Фактически, у меня есть огромный раздел, с моей несчастной потерянной MBR. Это, конечно, понятно и логично, но об этом я не подумал. Что ж, MBR всего 512 байт, соответственно, раскидать по винчестеру ее не могло (наверное), а значит, надо искать. less -f /hda завесил систему на 40 минут. Это времени хватило чтобы перекурить и понять, что ничего путного из затеи не выйдет. Потом решил скопировать первые 100 мб /dev/hda в /tmp, дабы поискать там. Система благополучно повисла. Тогда, вооружившись dd, head и hd, высчитав, где примерно находится информация с того раздела (что тут высчитывать, он в самом начале был :) ) прокочегарил 220 КБ, по 32 КБ за раз. Сигнатуру MBR я буду помнить, наверное, до конца дней своих. На 227 килобайте MBR была найдена и водворена на свое место. Не понятны до сих пор 2 весчи: почему код MBR умолчал об отсутсвии активной партиции (это можно проверить) и куда свопилась Ubuntu (а свопилась она отчаянно)? Причем, обе системы (Win2K_AS && BSD4.5) живут и здравствуют и по сей день, т.е. их файлы не были задеты.

Завтра схожу к психиатру, попрошу прочесть этот пост. Может даст какое-нибудь лекарство...
Previous post Next post
Up