25 de diciembre de 2006

Recuperando el sistema con Knoppix

En algunas ocasiones, bien por instalar window$, por fallo de este sistema operativo o simplemente porque nos hemos equivocado trasteando con GRUB hemos provocado un problema que puede llevarnos a tener que reinstalar nuestro linux, en el que tanto tiempo hemos invertido, pero esta solución es en la mayoría de los casos innecesaria :D

Para la recuperación de datos o del gestor de arranque podemos usar desde un disquete hasta un dvd booteable, personalmente prefiero el punto intermedio y uso un live cd de linux, en este caso knoppix (3,9) aunque podríamos usar cualquier otro cd similar: slax, ubuntu o necromantux son sólo otras de las opciones pero he elegido Knoppix por sencillez y porque es la live que más conoce el público no-freak (aunque actualmente Ubuntu estaría por delante, todo el proceso, exceptuando el arranque, es prácticamente similar.


Existen diferentes opciones de arrancar knoppix, generalmente se usan las que hay por defecto con el único cambio del idioma del teclado de inglés a español (tipeando knoppix lang=es), con lo que nos arrancaría un linux basado en debian con un entorno KDE totalmente operativo, aunque existen otras formas de arrancar el sistema o el memtest (test para memoria RAM muy útil) que se pueden ver tecleando F2 o F3.


Existen varias formas de actuación en función de lo que queramos hacer o del sistema operativo que vayamos a recuperar. Ya que no es lo mismo recuperar un window$ que linux


En el caso de window$ y en el que todas las opciones de recuperación hayan fallado (otro día hablaré de los errores-soluciones más clásicos) sólo quedará la posibilidad de salvar los datos que quedan en c: de diferentes maneras.

Antes de pasar a ese apartado primero debemos encontrar los datos a salvar y esto no es demasiado complicado.


Se pueden seguir dos líneas de actuación: prueba y error o la búsqueda del ntfs, dependiendo de cómo estemos iniciando la knoppix o la live que estéis utilizando:


  • Prueba y error: Esta se usa cuando arrancamos el interface gráfico (KDE, fluxbox, IceVM...) y consiste en ir montando todas las particiones existentes hasta que encontremos la que corresponde a c:

  • La busqueda del ntfs: Esta es la opción para aquellos que arrancan en modo consola (knoppix 2 lang=es) y consiste en ejecutar un:

    ..#fdisk -l

    como root (de ahí el ..#), este comando muestra toda la información sobre los discos duros conectados, particiones, tipo y tamaño, así que sólo hay que buscar la partición ntfs que tengamos y montarla, en el caso de tener varias habría que rebuscar en ellas hasta dar con los datos que queremos salvar.

    El comando para montar una partición ntfs es...:

    ..#mount -t ntfs /dev/XXX /mnt/YYY

    Siendo XXX el dispositivo a probar, e YYY la carpeta elegida para montar el dispositivo (por regla general es el mismo nombre).

    Una vez montado el disco duro y para ver el contenido bastaría con ejecutar un

    ls /mnt/YYY

    ls es un comando similar al dir de window$, lista el contenido de una carpeta.


Una vez hayamos encontrado las carpetas que queríamos salvar se pueden seguir otra serie de opciones para guardar los datos:

  • en otra partición del disco duro: Usamos una partición fat32 (compatible con las dos plataformas) para salvaguardar los datos, en caso de no tener otra partición se pueden crear nuevas o redimensionar las existentes con el programa QTparted si estamos usando el entorno gráfico o mediante el comando fdisk via consola:

    ..#fdisk /dev/XdY

    Siendo X el tipo de disco e Y el disco en cuestión (a, b, c).

    Tras esto seguir las instrucciones que aparecen en pantalla o salid de la aplicación y tipead man fdisk para más info.

    Una vez creada la partición tenéis que formatearla con el comando:

    ..#mkfs.vfat -c -F 32 /dev/XdaY

    Haced un man mkfs.vfat para saber más sobre este comando.

    La forma de copiar archivos la especifico en el siguiente punto

  • En otro disco duro: Usando X's es muy sencillo, hay que montar las dos particiones y a la partición de destino hay que añadirle permisos de lectura /escritura haciendo (en KDE) Click Derecho (CD)... Acciones... Cambiar a modo lectura /escritura, tras esto simplemente es seleccionar los archivos a salvar y arrastrarlos a la carpeta destino que hayas creado, también funciona el CD... Copiar - CD... Pegar

    En modo consola también es sencillo (ejecuto un ejemplo práctico en el que hda1 es win y hda2 el destino), siendo root (arrancando en modo consola _"knoppix 2" en el boot_ se es root por defecto) ejecutamos:

    ..#mount -t vfat /dev/hda2 /mnt/hda2

    Monto la partición FAT32 destino (ya se monta con permisos de escritura)

    ..#mkdir /mnt/hda2/backup

    Creo la carpeta de destino de los archivos

    ..#cp -r /mnt/hda1/"Mis\ Datos" /mnt/hda2/backup

    Copia de manera recursiva todos los archivos de una carpeta en la otra

Tras un ratejo termina de copiar los archivos y ya podéis reinstalar window$ tranquilamente :) (podría ser la última vez si tras instalar todo usáis alguna utilidad para clonar discos duros)

En el caso de linux el error más común es la pérdida del gestor de arranque tras la reinstalación de window$ ya que el NTLDR nos ha chafado el GRUB.

Actualmente existen dos modos de reinstalación de GRUB con una vía común que en este caso es el chruteo de la instalación...

Tras arrancar la knoppix, montamos la partición que tenga el linux instalado y ejecutamos un chroot (más info en su página de manual a.k.a. man chroot) sobre la partición:

..#chroot /mnt/XdaY

Tras esto la raíz del sistema cambia de la RAM (knoppix) al sistema linux instalado en el pc, si tuviéramos un sistema basado en debian podríamos trabajar con él de la misma manera en la que lo hacíais hasta que se estropeó.

  • Reinstalar GRUB de manera externa:

    Primero verificamos que el menu.lst del GRUB es correcto:

    ..#vim /boot/grub/menu.lst

    Después instalamos GRUB mediante:

    ..#grub-install --root-directory=/boot /dev/XdaY

    Siendo XdaY el disco que tiene instalado linux.

  • Reinstalar GRUB usando GRUB: Opción para pros ^^

    Arrancamos GRUB

    ..#grub

    Nos arrancará una shell propia de GRUB a la que debemos decirle donde están sus directorios

    ..grub> root (hd0,1) /boot

    Esta línea debe ser particular de cada uno, la pongo a modo de ejemplo para explicarlo gráficamente. Ahí dice que linux está instalado en la segunda partición (1) del primer disco (disco maestro del IDE 0) (En informática los números empiezan en 0), y que en esa partición se encuentra el directorio /boot que contiene los archivos de GRUB

    Tras esto un simple

    ..grub> setup hd0

    seguido de un enter y acompañado con la devolución de un suceeded debería recargar GRUB en vuestro sistema

Para verificar si esto funciona reiniciar el terminal y cruzar los dedos :_D

Suerte con la backup y recordad que lo más útil es: tener separado el sistema operativo de los datos SIEMPRE y tener una copia de la partición instalada y configurada para así no tener que andar con muchas paranoyas cuando se os estropee el sistema.

Un saludo y suerte

·n·

No hay comentarios: