Экспериментировать — это увлекательное занятие. В конце концов, одна из вещей, которая делает 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
mov es,dx
xor bx,bx
mov cx,0001
mov dx,0080
mov ax,0301
int 13
int 20
Нажмите <Enter>, чтобы выйти из режима ассемблера, глубоко вдохните — и давите на «g» для исполнения кода, потом «q» для выхода из «debug». Ваш HD девственно чист и готов к разбиению на разделы и установке.
Разумеется, у Вас должны быть права… о, опа. Любой, кто придет с досовской дискеткой, может сделать это на Вашей системе примерно за минуту, включая время загрузки. Нуте-с посмотрим; куда же опять завалилась та самая статья о безопасности Вашего компьютера?…
Ссылки
«dd» man page.
DOS решение: Первоначальная идея и код Марка Минаси (Mark Minasi), использовались для очистки инфeцированных/поврежденных MBR-ов и с его согласия использованы мной для обучения; все изменения в коде/командах — мои.