Volver

Recuperación del sistema con Knoppix

Qué hacer cuando el disco se daña

Carla Schroder (dworks-at-bratgrrl.com)
Consultora de Tux Computing
Octubre 23 de 2003

Traductor: Dardo A. Valdez.

Este artículo explica como acceder, usando un Knoppix, a un sistema Linux que no se puede arrancar normalmente, cómo conseguir permiso de lectura-escritura para los archivos, cómo administrar particiones y sistemas de archivo y cómo copiar archivos a distintos medios de almacenamiento y a locaciones en red. Se puede usar Knoppix para detectar y configurar hardware y para crear particiones y sistemas de archivos y puedes hacerlo todo desde las excelentes herramientas gráficas de Knoppix o desde la línea de comando.

Knoppix, un Linux completo y arrancable desde un CD se ha vuelto mi disco de rescate favorito. Una excelente introducción a Knoppix apareció un par de meses atrás en el artículo de DeveloperWorks "Knoppix gives bootable, one-disk Linux" de Cameron Laird.

Mis herramientas de rescate anteriores eran el disquete Root Boot de Tom, 'lo mejor de GNU/Linux en un solo disquete' y el CD SuperRescue de Peter Anvin 'un CD de rescate sobrecargado'. Ambos discos de rescate basados en Linux, de los primeros que aparecieron. Uno de mis trucos favoritos para hacer demostraciones es una reconstrucción completa desde cero del sistema, usando solo el disco Root Boot de Tom y una conexión a Internet.

Desde que los CDROMS se volvieron el estándar en PCs, siempre cargo varios Cds 'SuperRescue' que está basado en Red Hat 7.2 y es muy bueno, pero algo viejo, y no tiene soporte para hardware como USB o dispositivos wireless que sí están presentes en versiones más nuevas de las últimas distribuciones.

Nace una estrella

Knoppix, el chico nuevo del barrio, ofrece algunas características impresionantes:

La última característica es muy importante para mi, ya que estoy en un área donde no está disponible la conexión de banda ancha, solo dial-up, lo que hace que bajar 700 mb se vuelva impráctico.

Knoppix viene con lo mejor de Debian y KDE, además de sus propias herramientas. En este artículo, vamos a ver cómo hacer ciertas cosas, tanto desde la línea de comando como con las herramientas gráficas. Tendrás que adecuar los valores que uses a tu propio sistema, como por ejemplo, números de partición, nombres de archivo y de hosts de red.

Comenzando

Si quieres ejecutar KDE u otro entorno gráfico y/o administrador de ventanas, necesitarás al menos 96 MB de RAM y un procesador Pentium o equivalente. En modo texto, se necesitan 20 MB para desenvolverse tranquilamente, incluso si estamos en un viejo 486. Un detalle: se va a usar la partición swap que ya tengas en el disco.

Opciones de Booteo

Luego de bootear el CD, Knoppix va a hacer una pausa de 30 segundos en el prompt, antes de continuar. Hay muchas opciones de booteo disponibles; si quieres ver cuales son, pulsa F2. Esta es la línea que usé en mi sistema:
knoppix lang=es knoppix wheelmouse knoppix desktop=icewm

El idioma de teclado configurado por defecto es alemán, así que siempre arranco con la opción lang=es. Por defecto Knoppix arranca en el entorno KDE, knoppix 2 hace que bootee en modo texto, sin iniciar X, failsafe inicia el sistema haciendo una mínima detección de hardware (mucho menos propensa a cualquier fallo, justamente).

Knoppix se ejecuta completamente en la memoria de la computadora, o si esto te suena poco técnico, en un ramdisk. De hecho, puedes ver el ramdisk en el árbol de archivos del sistema. Recuerda que a veces puede ser lento ya que tiene que bajar los ejecutables desde CD, que es mucho más lento que un disco duro. Puede también ser instalado al disco duro (dejamos eso para otro día).

Rescatando un sistema Linux que no puede arrancar

Este sería el escenario más común de rescate. A veces algo sale mal y boom!, tu Linux ya no arranca. No hay problema: arranca Knoppix y te encuentras con todas tus particiones locales listas para ser accedidas desde íconos en el escritorio del último KDE (o navegando en el árbol de directorios, en /mnt). Haz un clic en cualquiera de esos íconos y verás todos tus archivos; pero, sabiamente, están montados solo para lectura. De nuevo, no hay problema: pulsa con el botón derecho en el ícono apropiado para ver la opción 'Cambiar a modo lectura/escritura'. Esto monta el sistema de archivos de la partición en modo lectura/escritura y ahora ya podrás editar cualquier archivo en él.

El usuario por defecto es knoppix. Para operaciones que requieran privilegios de root vas a necesitar hacer su y asignar una clave:

knoppix@ttyp0[knoppix]# su
root@ttyp0[knoppix]# passwd

Para montar un sistema de archivos desde la línea de comandos:

root@ttyp0[knoppix]# mount -t reiserfs -o rw /dev/hda5 /mnt/hda5

Para desmontar:

root@ttyp0[knoppix]# umount /mnt/hda5

Si obtienes un mensaje de error 'No se pudo desmontar dispositivo, el dispositivo está ocupado' ("Could not unmount device, device is busy"), algo está leyendo esa partición (un proceso), así que cierra tantos archivos y programas como puedas (si es que no sabes exactamente cual es el que está bloqueando el desmontaje).

Como sabes que punto de montaje y sistema de archivo especificar ? Mira en /etc/fstab:

root@ttyp0[knoppix]# cat /etc/fstab
...
# Added by Knoppix
/dev/hda5 /mnt/hda5 reiserfs noauto,users,exec 0 0

Detección del Hardware
Antes de empezar a editar y revisar archivos como loco, es a menudo provechoso examinar la información que pueda obtenerse acerca del hardware. Knoppix es excelente para esto ya que tiene las últimas versiones de las buenísimas herramientas de sistema fdisk, lspci, iwconfig, ifconfig, dmesg, /proc, y otras. Comprobar la información del hardware es muy útil para ver que tan compatible es con Linux antes de comprar un PC. Especialmente con placas de sonido, softmodems, y placas de red ya que los fabricantes a menudo cambian los chipsets manteniendo el nombre del producto. Knoppix tiene también varios archivos de sonido, para un testeo rápido del audio (como el sonido de apertura de la pantalla de bienvenida).

Y por supuesto KDE provee una muy buena GUI para hacer todo lo anterior; en System > Info Center.

Rescatando archivos de datos
Usualmente la primera tarea de rescate es copiar archivos fuera del disco con problemas. Este es mi método favorito cuando hay un gran número de archivos: instalar un segundo disco duro, arrancar Knoppix, y luego copiar los archivos desde el disco en problemas al recién instalado. Incluso si no tienes uno de esos espectaculares discos cambiables en caliente o esas cajas para hacer removibles discos 'normales', no vas a tardar demasiado en sacarle la tapa a la máquina y enchufar uno. tienes un disco nuevo en blanco o uno viejo que hay que borrar y reformatear ? Ningún problema, lo hacemos todo desde Knoppix.

Particionando y formateando
Primero instala el segundo disco duro. Luego arranca Knoppix y abre un shell root. Si ya hay particiones en el segundo disco, simplemente reformatea las que necesites. Ten en cuenta que los discos SCSI comienzan con sd, y los IDE con hd. Este comando muestra las particiones existentes en el disco (usá los valores apropiados para tu sistema):

root@ttyp0[knoppix]# fdisk -l /dev/hdb

Para formatear una partición del disco:

root@ttyp0[knoppix]# mkfs.ext2 -c /dev/hdb1

Esto creará un sistema de archivo ext2 normal en tu partición. -c comprueba la partición en busca de bloques malos. Claro que puedes crear el tipo de sistema de archivo que quieras: ext3, ReiserFS:

root@ttyp0[knoppix]# mke2fs -j -c /dev/hdb1
root@ttyp0[knoppix]# mkreiserfs /dev/hdb1

Qué ¿ No tienes particiones ? Bueno aquí está el procedimiento para crearlas con el comando fdisk desde la línea de comando. Es una manera segura de hacerlo ya que los cambios no se escriben al disco hasta que ingreses el comando para que sea así. Así que puedes probar diferentes opciones y ver como quedaría la tabla de particiones sin correr el riesgo de cometer errores y sin hacer ningún cambio. Esta secuencia de comandos crea una partición:

root@ttyp0[knoppix]# fdisk /dev/hdb

Escribe "m" en cualquier momento para ver una lista de los comandos de fdisk. Luego, escribe "n" para crear una nueva partición. Ahora escribe "p" para crear una partición primaria. Presiona Enter dos veces para aceptar los ajustes por defecto o si no quieres usar el disco entero para la partición, acepta el ajuste por defecto (para el punto de inicio), una sola vez y luego selecciona el tamaño que quieres:

+1000M

Pulsa "p" en cualquier momento para previsualizar la nueva tabla de particiones. Cuando te parezca que todo está bien, pulsa "w" para grabar los cambios al disco. Por defecto, fdisk crea una partición "type 83", que quiere decir 'Linux'. Para ver la lista de tipos de partición pulsa "l". Para cambiar el tipo de partición pulsa "t". ¿Quieres borrar una partición? Tan fácil como presionar "d" y seguir las instrucciones.

QTParted
Más fácil aún es en KDE, usando QTParted (System > QTParted). QTParted crea, borra, y mueve y redimensiona no destructivamente particiones (incluso NTFS). Así puedes hacer espacio para copiar tus datos sin perder nada.

Copiando archivos desde la GUI
Me gustan los administradores de archivos gráficos. Es mucho más simple hacer drag n' drop que escribir una larga línea de caracteres de comandos. Pulsa los íconos en el escritorio de KDE que representan el disco 'destino' y el disco 'origen', cada uno se abrirá y solo tienes que seleccionar con el ratón los archivos que quieras copiar y arrastrarlos desde el disco 'origen' al disco 'destino´ (aseguráte que el disco 'destino' esté montado en modo lectura/escritura).

Copiando archivos en la línea de comando
Recuerda crear primero, el directorio hacia donde vas a mover los archivos:

# mkdir /mnt/hdb1/home/carla/backup
# cp -r /mnt/hda5/home/carla /mnt/hdb1/home/carla/backup

Clonando un disco entero
Vas a necesitar dos discos duros del mismo tamaño o que el disco 'destino' sea más grande que el disco 'origen'. Aseguráte de no tener particiones montadas en ningún disco. En este ejemplo /dev/hda es el disco 'origen', y /dev/hdb el disco 'destino'. El comando dd hace una copia exacta, byte por byte, incluyendo el MBR (master boot record):

# dd if=/dev/hda of=/dev/hdb

Confusión de Montaje
Si no sabes qué es lo que está montado y donde, no hay problema, /proc te ayuda:

# cat /proc/mounts

Esto te mostrará todos los sistemas de archivo montados, el tipo, el status lectura/escritura y otras informaciones. Cuantos discos duros hay en el sistema ? Uno de estos comandos te lo dirá ( y recuerda que los discos SCSI son sd, y los IDE, hd):

# fdisk -l

o

# dmesg | grep hd

o

# dmesg | grep sd

Copiando datos a un CD
KDE y Knoppix te lo hacen fácil. Asumiendo que tienes una grabadora de Cds, simplemente haz un clic con el botón derecho sobre el ícono de la partición que contiene tus archivos, y pulsa la opción 'Crear CD de Datos con K3b'. Ve a Archivo > Nuevo Proyecto y arrastra los archivos que quieras copiar al CD, luego Mira en el ícono correspondiente de la barra para iniciar la grabación. K3b es muy bueno para auto-detectar/configurar dispositivos y debería hacerlo prácticamente sin tu ayuda. Mira en el artículo de developerWorks, "Burning CDs on Linux" ('Grabando Cds en Linux'), que te enseña a hacerlo desde la línea de comando.

Copiando a otros medios
Discos Zip, disquetes, y dispositivos USB de almacenamiento serán automáticamente reconocidos por Knoppix y sus respectivos íconos colocados sobre el escritorio. Simplemente monta en modo lectura/escritura el medio al que quieres copiar y arrastra los archivos al ícono.

Copiando sobre la red
Puedes configurar Knoppix para que se conecte a una red, igual que cualquier otro Linux. Knoppix tiene su propia herramienta de configuración gráfica: en el menú principal buscá Knoppix > Network/Internet. De nuevo la excelente autodetección de hardware de Knoppix entra en juego, funciona incluso con placas wireless (asumiendo que tenga soporte en Linux). Simplemente contesta las preguntas del asistente y luego todo estará funcionando.

Es tan simple como escribir como root, desde la línea de comando:

# netcardconfig

Una vez que tus parámetros de red estén configurados, hay varias opciones para transferir archivos. cp es perfecta para sistemas de archivos montados localmente, pero para copiar archivos sobre una red no confiable se suele usar scp (secure copy – copia segura), y de hecho Knoppix no te dejará usar otra cosa que no sea scp. Este usa ssh para transferencias encriptadas de archivos y te permite mover archivos sin levantar (ni tener que configurar), NFS o Samba. Vas a necesitar un servidor ssh corriendo en algún lugar de la red para poder transferir los archivos. Este comando, por ejemplo, copia un directorio completo:

# scp -rp /mnt/hda5/home/carla 192.168.1.5:/home/carla/tmp

Introducción rápida a SSH
Qué ¿ No tienes un servidor ssh? Si realmente todavía no tienes instalado ssh, aquí tienes una rápida introducción para aprender algo de ssh. Pero antes de entrar en la rutina de la administración de tareas remotas, deberías estudiar ssh más en detalle. Ten en cuenta que un número importante de problemas de seguridad se encuentran (y se solucionan), regularmente.

OpenSSH está incluído en todas las distribuciones populares de Linux y la tuya ya debe incluirlo desde hace tiempo. puedes ver si la tienes instalada escribendo locate sshd. Si no es así bajala e instalala. No necesitas una máquina especialmente rápida, cualquier PC que corra Linux puede correr SSH (incluso la que estás usando de hecho, para recibir los archivos de la máquina Knoppix). Para iniciarlo escribe:

# /etc/init.d/ssh start

Luego todo lo que necesitas tener son cuentas para el mismo usuario en ambas máquinas. Usar la de root es lo más fácil, pero es potencialmente peligroso. Y por supuesto, puedes crear cuentas de usuario en Knoppix según necesites con useradd y passwd. Luego ejecuta el comando scp como en el ejemplo antes mencionado y listo.

La primera vez que te conectes vas a recibir un mensaje: 'La autenticidad del host X no puede establecerse...estás seguro que quieres continuar conectándote?' ( "The authenticity of host X can't be established...are you sure you want to continue connecting?" ). Contesta 'yes' (sí). Te preguntará luego por la clave root del servidor SSH y luego puedes empezar a hacer lo que necesites. Para mover archivos como usuario no-root:

# scp -rp /mnt/hda5/home/carla carla@192.168.1.5:/home/carla/tmp

Abrir un shell root en el sistema host
Esto te permite operar sobre el sistema host como si estuvieras logeado en una cuenta local, aunque estés remotamente logeado en él. Identifica la partición sobre la que está el sistema host, luego abre una terminal root en Knoppix y móntala así:

root@ttyp0[knoppix]# mount /dev/hda1 /mnt/hda1
root@ttyp0[knoppix]# chroot /mnt/hda1
root@Knoppix:/

Pasos en falso de Knoppix
Ejecutar programas desde un CD puede hacer problemáticas las cosas, especialmente en portátiles. Es común que la característica de ahorro de energía arruine una sesión de Knoppix ya que cuando la máquina 'retorna', Knoppix ya no responde. La única solución que conozco es deshabilitar la característica de ahorro de energía o simplemente rearrancar y empezar de nuevo.

A veces, Knoppix se congela durante el arranque y lo hace a medio camino de iniciar KDE (o cualquier sesión X). Cambia a la primera consola virtual (Ctrl + Alt + F1), para ver los mensajes de sistema; estos te dirán donde está el problema. Presiona Alt + F5 para volver a la sesión X. Por ejemplo, uno de mis sistemas de prueba se congelaba haciendo la detección SCSI. ¿Por qué? Quien sabe. Deshabilité la detección añadiendo la línea knoppix no scsi al comando de arranque y luego todo funcionó bien.

El fermento creativo de Knoppix
Linux siempre ha inspirado una asombrosa creatividad. Knoppix ha habilitado un amplio y nuevo sendero en este aspecto, y hay muchos proyectos basados en él. Por ejemplo: Inside Security Rescue Toolkit, OpenGroupware Knoppix, Damn Small Linux, y Overclockix. Lee la sección de Recursos justo abajo, para obtener más información y enlaces hacia howtos de como hacer tu propia distribución Knoppix.

Recursos

Acerca del autor
Carla Schroder es una autora y escritora independiente, y trabaja administrando sistemas Linux y Windows para pymes, y escribiendo Howtos para gente normal. Carla descubrió las computadoras y la alta tecnología en 1994 y es una prueba viviente que personas autodidactas de edad media pueden convertirse en gurús de computadoras. Próximamente publicará un libro en O'Reilly, The Linux Cookbook. puedes contactar a Carla en dworks-at-bratgrrl.com.

Volver