"La Gazeta de Linux...haciendo Linux un poquito más divertido!"


Limpiando el Sector Maestro de Booteo (MBR)

--¡Peligro, Will Robinson!

Por Ben Okopnik

Traducción al español por Juan Manuel Schillaci
el día 24 de Septiembe 2002, para La Gaceta de Linux


La Experimentación es divertida. Después de todo, una de las cosas que hace a Linux tan interesante para tanta gente es la habilidad de jugar con la configuración y ver que pasa- Admito que es el mas importante factor para mi. Uno de los problemas con eso, es que algunos tipos de pruebas pueden conducir a serios problemas. Casi como cortar la rama de una árbol en el que estamos sentados.

Una gran cantidad de personas escribe a la Pandilla de las respuestas con una consulta parecida a esta:

"Querida pandilla: Tengo un cartucho de dinamita atada al CPU, y no tengo miedo de usarla. Ahora que tengo su atención: Tuve un problema mientras trataba de reinstalar..."

Lo que paso al final- después de la policía, los bomberos, y que los corpulentos hombres de abrigos blancos han ido y vuelto- es que se ha caído en el clásico problema "MBR frito": Instalar Linux, darse cuenta que Windows arruiná el MBR, borrar la partición de Linux, tratar de instalar Windows primero... OOPS. El setup de Windows tiene problemas y se detiene.

La razón para todo lo anterior es que se olvidó de desinstalar LILO, que habría escrito el MBR original; por ende, el código de booteo en el MBR trata de pasar el control al núcleo de Linux - y este no está mas ahí.

Nada ayuda. La opción no documentada "fdisk/mbr" que se supone que escriba un nuevo Master Boot Record parece no tener efecto; "fdisk" en modo interactivo se rehusa a borrar particiones "No-DOS"; hasta el detonador falla al explotar. Que hacer, Que hacer...

Por cierto, un factor en los dos primeros problemas tal vez sea el comando "lock" de Windows - por defecto, escribir sin formato 'raw writes' al disco no esta habilitado, y "lock c:" 'traba' al disco para evitar la escritura en el. (Para el último problema, apégate a a los detonadores tipo puente de cable de Diynamita Nobel, y almacenálos apropiadamente. :)
 

    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    Nota: El siguiente consejo borrara completetamente tu Master Boot Record,
    el cual contiene toda la información de tu partición. NO HAGAS ESTO a
    menos que sepas que ese es exactamente el resultado que buscas -dejará
    tu HD en un estado no booteable, en efecto lo volvera al "estado de fábrica"
    como por ejemplo el tener que reparticionarlo y reformatearlo.
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 

Solución basada en Linux

Si de alguna manera pudes arrancar Linux - diagamos, vía el disquette Tom's Root-Boot - simplemente pudes invocar "dd", de la siguiente manera:

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

Si, eso es todo. ese MBR se ha ido. Obviamente, debes ser root para hacer esto.
 

Solución basada en DOS

Bootear con un disquette de DOS que tenga"debug" en el; ejecuta "debug". en el prompt '-', llena unos 512-bytes de pedazo de memoria con ceros:

f 9000:0 200 0

Arranca el modo asembler con el comando 'a', e ingresa el siguiente código:

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

Presiona <Enter> para salir del modo asembler, respira hondo- y presiona "g" para ejecutar, luego "q" para salir de "debug". Tu HD está ahora en estado virgen, y listo para ser reparticionado y reinstalado.

Obviamente, debe ser root para... oh, oops. Cualquiera que pase por ahí con un disquette de DOS puede hacer esto a tu sistema en cerca de un minuto, incluso en el momento de booteo; Veamos; ¿Dónde estaba el artículo de como asegurar mi máquina linux?...

Referencias

La página de manual de "dd".

Reparación basada en DOS: Idea original y código de Mark Minasi, usado para Limpiar MBRs dañados/infectados en uno de los cursos que yo solía enseñar; todos los comandos/códigos de modificaciones son mios.


Copyright © 2001, Ben Okopnik.
Copying license http://www.linuxgazette.com/copying.html
Publicado en la edición 63 de Linux Gazette, Mitad de Febrero (EXTRA) 2001