Cómo reparar bloques defectuosos en Linux

Los usuarios que configuran una partición dual de Linux con una versión de Microsoft Windows pueden intentar reducir o aumentar ciertas particiones para dejar más espacio para un sistema operativo u otro. Eventualmente, podría recibir una advertencia de GParted en Linux o chkdsk en Windows de que había sectores defectuosos. Los usuarios individuales de Linux pueden experimentar lo mismo de vez en cuando. A pesar de esto, los usuarios también podrían obtener anuncios sobre dos tipos diferentes de enmascaramiento sectorial. Uno es el anuncio tradicional sobre sectores defectuosos que indica un problema con la geometría física de un plato de disco o celda de memoria NAND. Esto es lo que la mayoría de la gente quiere decir cuando se queja de un bloqueo defectuoso, aunque hay una pequeña pero muy técnica diferencia entre un sector defectuoso y un bloqueo defectuoso. Sin embargo, las máquinas raras veces se apoyan demasiado en los sectores.

Estos se denominan sectores de software defectuoso o bloques de software defectuoso, y solo se pueden corregir mediante una operación simple del sistema de archivos. Sin embargo, considerando los peligros de escribir en bloques defectuosos, siempre es una buena idea comenzar su investigación con una auditoría de datos SMART mientras se trata de una cantidad fija. Esto no es destructivo y puede debilitar los problemas de geometría antes de continuar. Si no está trabajando con una cantidad fija, es posible que desee comenzar su investigación con el siguiente método.

Método 1: Verifique los datos SMART

Es fácil creer que estos sectores defectuosos no son solo un error de software, sino que hay una manera de verificar si ese es el caso. Cuando se utilizan datos SMART, el firmware del disco en sí es fácil de inspeccionar y saber con certeza. Abra la Utilidad de discos GNOME desde Dash en Unity, el menú Bigote en Xfce4, el menú Accesorios en LXDE o el menú Aplicaciones GNOME en KDE. También puede iniciarlo escribiendo gnome-disks en la terminal y presionando la tecla de entrada. Haga clic en el menú junto a los controles de la ventana en el lado derecho después de resaltar su disco duro con el puntero en la columna de la izquierda. En la mayoría de las instalaciones de GNU / Linux, la utilidad Disk se establecerá de forma predeterminada en un disco duro primario.

Seleccione Datos y autoevaluaciones SMART en el menú. Puede mantener presionada la tecla CTRL y presionar S para abrir esta ventana. Esto mostrará el estado actual de su unidad. Si los valores están en blanco, haga clic en el botón Iniciar autoprueba para obligar a su disco a ejecutar una autocomprobación. La línea de Evaluación general en la parte superior le dirá qué piensa la Utilidad de discos GNOME de su unidad.

Es posible que incluso deba desplazarse por los atributos SMART en una pantalla completa. Preste especial atención a una opción llamada Redistribución de números. Esto le muestra cuántos sectores ya se han reasignado. Si hay muchos sectores defectuosos, probablemente sea una buena idea reemplazar la unidad antes de que falle por completo.

Método 2: buscar el superbloque correcto

A veces, puede encontrar que los datos SMART muestran todo en orden, pero es posible que haya recibido un error de «Superbloque incorrecto» de ciertas utilidades de disco. Si estuviera trabajando con tarjetas SD, memorias USB u otras memorias similares, no podría leer los datos SMART y aún tendría algunos errores. Esto puede muy bien ser un problema de software. Considere la cuestión de ejecutar un pedido como:

fsck.ext4 / dev / sda

Es probable que esto indique un mal suministro, que se refiere al bloque maestro en su sistema de archivos. Esto es el resultado de un error de CLI y no un bloque correcto real. Dado que / dev / sdb se refiere a su unidad y no a su rosario, su comando fsck se verá como un superbloque en caso de que no exista uno y piense erróneamente que algo anda mal. Afortunadamente, esta no fue una orden destructiva. Correr:

sudo fsck.ext4 / dev / sda1

Ahora puede decirle que su sistema de archivos está limpio. Asegúrese de que el número que viene después de ext coincida con la versión ext de sus volúmenes.

También puede obtener este error si intenta ejecutar ext2 / 3/4 fsck en volúmenes FAT12 / 16/32, NTFS o HFS / HFS +. El verificador de coherencia se confunde y piensa que algo está al revés, cuando el tipo de estructura de archivo no coincide realmente con lo esperado. Ejecute fsck.vfat o dosfsck en tamaños grandes sin importar qué versión de tasa de bits esté utilizando. Puede usar el modificador -s después de dosfsck o fsck.vfat (fsck.msdos en algunas versiones de Linux) para marcar los clústeres ilegibles como bloques defectuosos.

Método 3: buscar bloques defectuosos en volúmenes NTFS

Si asume que está arrancando Microsoft Windows y Linux y que tiene errores de superbloques u otros sectores defectuosos en el volumen NTFS, reinicie Windows y desde la línea de comando ejecute chkdsk / rc:, en lugar de c: con la letra de unidad del Volumen NTFS involucrado. Lo más probable es que Windows necesite reiniciarse para completar el escaneo de la superficie. Esto llevará algo de tiempo, por lo que si su sistema operativo no parece responder, esto se debe solo al tiempo involucrado. Si cometió un error acerca de no tener los privilegios adecuados, haga clic con el botón derecho en el menú Inicio y seleccione Ejecutar como administrador antes de continuar.

Si está trabajando con un volumen NTFS exclusivamente en Linux, entonces no tiene tanta ayuda, pero si el error de bloqueo incorrecto se debe a un tipo de desajuste, tiene una forma de corregirlo. Ejecute sudo ntfsfix / dev / sdb1, reemplazando la letra y el número después de / dev / sd con el dispositivo correcto y el identificador de partición. Recuerde que siempre puede ejecutar sudo fdisk-l o volver a la Utilidad de discos GNOME si está instalada para verificar los nombres de todos los volúmenes conectados a su sistema. Puede ejecutarlo como sudo ntfsfix -d / dev / sdb1 si está seguro de que desea limpiar el bit sucio.

Si está seguro de que el volumen NTFS tiene bloques defectuosos que no se deben a la geometría del hardware físico, como cuando clona un disco antiguo con sectores defectuosos en un volumen nuevo, ejecute sudo ntfsfix -bd / dev / sdb1 en lo que sea. instantáneo como tú. Esto restablece la lista de marcadores defectuosos.

Método 4: usar los badblocks de la utilidad de Linux

Después de arrancar en una versión en vivo de ISO Linux o encontrar alguna otra forma de desmantelar un sistema de archivos ext2, ext3 o ext4, puede ejecutar sudo fsck.ext4 -c / dev / sda1 para realizar un escaneo de solo lectura en busca de bloques defectuosos. Por supuesto, necesitará usar el identificador de volumen correcto después de / dev / sd y el número de versión ext después de fsck.ext para ejecutarlo correctamente. Si especifica -cc en su lugar, el programa utilizará una prueba de lectura no destructiva aún más extensa.

Esta es la forma habitual de utilizar la utilidad badblocks, pero también puede utilizarla técnicamente en su forma más solitaria. Ejecute sudo -n badblocks en el nombre de un dispositivo para ejecutarlo por sí solo e informar de badblocks en su terminal. Puede usar la opción -wa para usar las pruebas en modo de escritura, pero no use las opciones -n y -w juntas, ya que son mutuamente excluyentes. No debe usar la opción -wa en un instante que contenga datos, ya que borrará todo limpio. Utilice la opción -n más lenta, ya que conservará sus datos en este caso. La opción -w está bien para los tamaños que no le importa eliminar. La opción -va se puede combinar con cualquiera de los dos y dará una salida verbal a un terminal que es útil para investigar la corrupción de datos. Siempre puede usar la opción -oa con un nombre de archivo de texto para escribir la información y poder verla más tarde. Es posible que desee ejecutarlo como sudo badblocks -nv -o badblocks.log / dev / sdb1 para obtener información, ya que verá mucha información si hay bloques reales.