Como Knoppix te puede salvar del desastre


Esta tarde, después de un cuelgue de mi Debian GNU/Linux y de tener que darle
al botoncito de reset me he encontrado con un “bonito” kernel panic porque no
se podía montar la partición root (que se supone que estaba en reiserfs).

Este “artículo” (¿?) no pretende en ningún caso ser una guía de recuperación de
desastres ni nada parecido. Simplemente quiero contar como he conseguido
arreglarlo por si a alguien le pasa algo parecido y puede sacar alguna idea que
le ayude a arreglar su situación.

Primeramente quiero agradecer enormemente a los padres de Knoppix por haber creado esta
maravillosa meta-distribución. Ya sé que con discos de
rescate y esas cosas tambien podría haber conseguido recuperar el sistema, pero
con Knoppix todo es mucho más comodo.

¿Qué pasó?

Pues lo que he comentado en la introducción: Por motivos que no vienen al caso,
el sistema se quedó congelado y no me quedó más remedio que darle un botonazo.

Y al reiniciar… Un kernel panic porque no podía montar el root filesystem
(sí, el reiserfs tambien puede darte unos buenos sustos; por lo tanto, no
descuideis vuestras copias de seguridad por mucho que confieis en vuestro
sistema de archivos).

¿Y ahora?, ¿Qué hacemos?

Pues echar mano del cd de Knoppix y arrancar para ver cuales son los
estropicios que han ocurrido en el disco duro.

Después de arrancar, abrimos una “konsole”, tecleamos “sudo bash” y ya tenemos
el root. Vamos a ver como está la situación.

Intentamos montar las particiones una a una y resulta que root y /home (hda7 y
hda8 respectivamente) no son reconocidas como reiserfs. El resto se monta sin
problemas. Bueno, ahora ya tenemos una idea del “alcance de los daños”.

La solución “menos complicada” (pero más laboriosa) sería reinstalar el sistema
y recuperar lo que no se ha perdido de las otras particiones. O bien recuperar
la última copia de seguridad que tengamos. Ambas soluciones implican “perder
cosas” y desaprovechar la oportunidad para aprender algo.

Por lo tanto, primero vamos a intentar recuperar las 2 particiones dañadas.

Primer intento: “reiserfsck /dev/hda7“. Resultado: “reiserfs_open: neither new
nor old reiserfs format found on /dev/hda7
“.

Aprovechando que tenemos konqueror y conexión a Internet gracias a Knoppix,
vamos a San Google (TM) a ver que encontramos. Parece ser que hay que recuperar
el “superbloque” con la opción “–rebuild-sb” (no hacía falta ir tan lejos a
mirarlo, estaba bien clarito en la pagina man de reiserfsck ;-).

En este punto es donde entra en juego la prudencia: el reiserfsck no hace mas
que avisar que antes de hacer nada hagamos copias de seguridad de las
particiones. Aprovechando que en mi disco tengo una partición vacía de tamaño
mayor que las 2 dañadas, vamos a hacer una copia de la partición dañada y
experimentar con el reiserfsck sobre la copia (así si “la cagamos” tendremos
una segunda oportunidad): “dd if=/dev/hda7 of=/dev/hda16” (si no hubieramos
dispuesto de una partición suficientemente grande, existe la posibilidad de
pillar un disco prestado, por ejemplo; si optais por esta opción, no olvideis borrarlo todo antes de devoleverlo).

Hacemos el “reiserfsck –rebuild-sb“, contestamos a las preguntas y luego nos
avisa de que debemos hacer un “reiserfsck –rebuild-tree” (que el manual dice
que debe ser el último recurso -lo es!- y nos avisa otra vez muy mucho de lo de las
copias de seguridad).

Hacemos el “rebuild-tree” y nos dice que ok pero genera un log con las
corrupciones detectadas
(concretamente saca unos 70 mensajes diciendo “name xxx
in directory x xxx points to nowhere xxxx xxxx – removed
“. Probamos de montar
hda16 (“mount /dev/hda16 /mnt/hda16“) y vemos que ya no protesta.

Como la cosa parece que ha ido bien, vamos a hacer el reiserfsck sobre la
partición hda7 (en caso de desastre tenemos los archivos recuperados en
/mnt/hda16).

Una vez “arreglada” la partición hda7 la montamos. Bueno, parece que la cosa a ido bien.
Ahora hay que recuperar manualmente esos archivos de antes. La mayoría son
dispositivos que deberían estar en /dev (nos vamos a /mnt/hda7/dev y vamos
haciendo “./MAKEDEV xxx” según convenga para que el script cree otra vez los
dispositivos perdidos). Hay algun binario de /sbin que tambien se ha perdido
(si tenemos “a mano” otra Debian de similares características pillamos de ahí
los susodichos ficheros y listos).

Repetimos el proceso para hda8 (aquí ha habido más suerte y parece que no se ha
perdido ningún fichero).

Una vez que hemos recuperado las 2 particiones, rebotamos el pc y comprobamos
que arranque normalmente del disco duro y que no falte nada.

Perfecto!, prueba conseguida.

“Moralejas”:

  • Siempre hacer copias de seguridad.
  • Reinstalar siempre debe ser la última opción (hay que agotar todas
    las posibilidades antes).

  • Tener un cd de Knoppix a mano.
  • Si tenemos distintas particiones en nuestro sistema (yo concretamente tengo
    separadas “/”, “/boot”, “/home”, “/usr”, “/var”, “/tmp”, y algunas más para
    datos), la pérdida de una partición no implica perder todo el sistema entero
    (pero por otro lado, dimensionar las particiones és mas complicado y se acaba
    “perdiendo espacio”).

    En fin, como he dicho al principio esto es cualquier cosa menos una guía de
    recuperación de desastres, simplemente me pareció útil compartir mi experiencia
    por si puede servir a alguien que pueda verse en una situación parecida (aunque
    sea sólo para coger alguna idea).

    Dar las gracias a los creadores de Knoppix. Como he dicho antes, con discos de
    rescate tambien puede hacerse todo esto, pero con Knoppix es más cómodo.

  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1683 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.