Очистка главной загрузочной записи (MBR).
Экспериментировать - это увлекательное занятие. В конце концов, одна из вещей, которая делает 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
Нажмите
Разумеется, у Вас должны быть права... о, опа. Любой, кто придет с досовской дискеткой, может сделать это на Вашей системе примерно за минуту, включая время загрузки. Нуте-с посмотрим; куда же опять завалилась та самая статья о безопасности Вашего компьютера?...
Ссылки
"dd" man page.
DOS решение: Первоначальная идея и код Марка Минаси (Mark Minasi), использовались для очистки инфeцированных/поврежденных MBR-ов и с его согласия использованы мной для обучения; все изменения в коде/командах - мои.