En esta
oportunidad, vamos a ver como podemos realizar comprobaciones e intentar
reparar nuestro disco rígido en gnu/linux. Lo primero que vamos a necesitar es un live cd, eso es muy sencillo
de conseguir, a mi me gusta mucho DSL Damm Small Linux (DESCARGAR) ya que es muy liviano, tiene bastantes
herramientas y carga practicamente en cualquier pc, digo esto porque a
veces tenemos esas pc's viejitas donde un Live CD de Ubuntu, por ejemplo, no
carga.
- Porque cuando intentamos por ejemplo compilar algo a mano nos devuelve errores de "hdaIO dma" Entrada y Salida
- fdisk -f nos indica que tenemos errores
- Al formatear ya nos indica que hay sectores defectuosos
Nosotros trataremos de repararlo, pero, no siempre se logra, si el disco tiene una falla física, es decir, se raya algunos de los platos, esto es imposible de recuperar, ahora si la falla es "Lógica" podemos correr algunas herramientas que aquí detallo:
- GPART
- Badblocks
- e2fsck
- fsck
Estas son algunas herramientas, hay muchas mas y si quieren pueden comentarlas, sin ningún inconveniente.
Lo primero que debemos hacer , es crearnos un backup de nuestros archivos, ya que siempre es conveniente trabajar con el disco limpio, también se recomienda hacer un formateo de bajo nivel, pero nosotros nos centramos a reparar en lo posible el disco.
Una vez que tenemos hecho nuestro backup, vamos a iniciar con un live CD , pero no debemos montar la partición a reparar, en nuestro caso HDA1.
Ahora comenzamos borrando todo el disco para ver si nos tira algún error
# dd if=/dev/zero of=/dev/hda1
Si nuestro disco tiene algún error seguramente nos dirá algo como lo siguiente
end_request: I/O error, dev 03:01 (hda), sector 2738288
Trataremos de repararlo, podemos bajarnos "gpart" , pero deberemos instalarlo en nuestro Live CD, sino sacar el disco, ponerlo en otra pc con Linux, y correrlo desde ahí, esto es incomodo, prefiero trabajar con un live cd.
Ahora vamos a intentar reparar este bloque, para eso corremos
# badblocks -f -s /dev/hda
Esto sera de solo lectura, es decir, no aplicara ninguna modificación, ahora si queremos reparar ejecutamos
# badblocks -w -s /dev/hda
Una vez finalizado esto, esperemos ver reparado los sectores defectuosos, como he dicho anteriormente, si los errores son físicos ya no podemos hacer nada.
Por ultimo vamos a correr fsck para chequear y reparar algún error en un sistema de archivo, la sintaxis seria
# fsck /dev/hda
Las posibles salidas serán :
0 - Sin errores
1 - Errores de sistema de archivo corregidos
2 - Reiniciar el sistema
4 - Errores en el sistema de archivos sin reparar
8 - Error operacional
16 - Error de sintaxis
32 - fsck cancelado por el usuario
128 - Error de librerías
Ahora en el caso de que la partición sea extendida corremos e2fsck
# e2fsck /dev/hda1
Las salidas son iguales a las de fsck así que no las vuelvo a detallar.
Por ultimo si esto no les funciona o nos les repara el disco, pueden probar el formateo de bajo nivel, pero ya puedo adelantarles que los sectores del disco son irreparables.
Que hacemos ahora si tenemos sectores que no podemos reparar, pues lo siguiente:
Desde un live cd ejecutamos
# fdisk -l /dev/hda
Device Boot Start End Blocks Id System
/dev/hda1 * 1 4801 38564001 83 Linux
38564001 es la cantidad de bloques, ahora vamos a separar los defectuosos
# badblock /dev/hda > badblocks
Esto nos puede llevar mucho tiempo, correrlo en una noche y en lo posible con nice. Ahora vamos a crear el sistema de archivos ext3 pero omitiendo los bloques dañados
# mkfs.ext3 -l badblocks /dev/hda1
Una vez terminado este proceso, montamos /dev/hda1 en por ejemplo /mnt/hda y ejecutamos df -h para ver la cantidad en MB de bloques dañados.
Fuentes:
1. http://angelferras.wordpress.com/2009/10/15/reparar-discos-con-sectores-defectuosos-en-linux/
2. http://mgsanchezs.wordpress.com/2010/09/06/reparar-sectores-danados-de-discos-duros-o-memorias-flash-con-linux/
3. http://www.ubuntu-es.org/node/163731
4. http://linuxsix.blogspot.com/2008/10/reparacion-del-hard-disk-con-sectores.html
No hay comentarios:
Publicar un comentario