Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее







Очистка главной загрузочной записи (MBR).

Автор : Ben Okopnik
Перевод : Владимир Меренков.

Экспериментировать - это увлекательное занятие. В конце концов, одна из вещей, которая делает Linux столь интересным для ряда людей - это возможность "крутить" параметры настройки и наблюдать: а что же получится. Признаюсь, что и для меня - это решающий фактор. Одна из трудностей, тем не менее, заключается в том, что некоторые типы таких "кручений-верчений" могут привести к серьезным проблемам. Фактически, это несколько напоминает подпиливание сука на котором сидишь...

Ряд людей обращается в Answer Gang с вопросом, похожим на этот:

"Dear TAG (The Answer Gang): Я примотал динамитную шашку к своему CPU и не боюсь использовать его. Теперь, когда я безраздельно владею вашим вниманием, слушайте: Я столкнулся с проблемой, когда пытался переинсталировать..."

Что же оказывается - после того как полиция, пожарное подразделение, большие люди в белых халатах приедут и уедут - оказывается они (не пожарные-полиция, а экспериментаторы :) столкнулись с классической проблемой "жареный MBR": установите Linux, представьте себе, что Windows испортит главную загрузочную запись, сотрите раздел с Linux, попробуйте первой установить Windows... и ОБА-НА. Установка Windows натыкается на проблему и останавливается.

Причина - забыли деинсталировать LILO, который был записан поверх первоначального MBR; так что, загрузочный код в MBR пытается передать управление ядру Linux, которого больше не существует.

Ничто не помогает. Недокументированная опция "fdisk/mbr", которая, как предполагается, записывает чистый MBR, кажется, не производит никакого эффекта; "fdisk" в диалоговом режиме отказывается удалять "не-DOS" раздел; даже детонатор не в состоянии взорваться. Что делать, что делать...

Кстати, причиной первых двух проблем могла быть команда Windows "lock" - по умолчанию "сырая запись" ('raw writes') на диск запрещена, а "lock c:" блокирует диск от записи на него. (Что касается детонатора - то рекомендую пользоваться детонаторами Dynamit Nobel, сделанными по проверенной технологии bridge-wire; разумеется, обращайтесь с ними поаккуратней :)
 


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Учтите: Руководствуясь нижеследующим советом,Вы полностью сотрете Ваш MBR, который содержит всю информацию о разбиении диска на разделы. НЕ ДЕЛАЙТЕ ЭТОГО до тех пор, пока Вы точно не будете знать, что это тот результат, который Вам нужен - это оставит Ваш HD без возможности загрузки с него, в действительности возвращая его в "фабрично-чистое" состояние, то есть свободным от данных и требующим разбиения на разделы и форматирования. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Решение для Linux

Если Вы еще можете как-нибудь запустить Linux - скажем, с помощью Tom's Root-Boot дискетки - Вы можете просто дать команду "dd", примерно так:

dd if=/dev/zero of=/dev/hda bs=512 count=1

Да, это то, что нужно. Тот MBR пропал. Очевидно, у Вас должны быть права рута, чтобы сделать это.

Решение для DOS

Загрузитесь с DOS дискетки на которой есть "debug"; запустите "debug". Заполните 512 байтовый кусок памяти нулями, введя на приглашение '-' команду:

f 9000:0 200 0

Перейдите в режим ассемблера командой 'a', и введите следующий код:

mov dx,9000
mov es,dx
xor bx,bx
mov cx,0001
mov dx,0080
mov ax,0301
int 13
int 20

Нажмите , чтобы выйти из режима ассемблера, глубоко вдохните - и давите на "g" для исполнения кода, потом "q" для выхода из "debug". Ваш HD девственно чист и готов к разбиению на разделы и установке.

Разумеется, у Вас должны быть права... о, опа. Любой, кто придет с досовской дискеткой, может сделать это на Вашей системе примерно за минуту, включая время загрузки. Нуте-с посмотрим; куда же опять завалилась та самая статья о безопасности Вашего компьютера?...

Ссылки

"dd" man page.

DOS решение: Первоначальная идея и код Марка Минаси (Mark Minasi), использовались для очистки инфeцированных/поврежденных MBR-ов и с его согласия использованы мной для обучения; все изменения в коде/командах - мои.