Sospecho que puede haber un sector defectuoso en un disco. Usé el sistema de archivos ext3.
¿Qué herramienta es el mejor equivalente de la herramienta de comprobación de errores de Windows?
Sospecho que puede haber un sector defectuoso en un disco. Usé el sistema de archivos ext3.
¿Qué herramienta es el mejor equivalente de la herramienta de comprobación de errores de Windows?
Respuestas:
Para verificar si hay sectores defectuosos, verifique los datos SMART, probablemente los mejores accesibles al iniciar la utilidad Discos ( Palimpsest ). Incluso si no ve ningún bloque malo allí, inicie una autocomprobación para asegurarse.
El programa está incluido en el gnome-disk-utility
paquete. corrergksudo gnome-disks
O en la versión Ubuntu 16.04 (3.18):
También puedes usar badblocks
sudo badblocks -sv /dev/sda
solo para verificar, o para verificar y corregir primero, escriba el resultado en un archivo temporal:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
comprobará todo el disco e imprimirá todos los bloques defectuosos encontrados en / dev / sda .
Del badblocks
manual:
Nota importante: si la salida de badblocks se va a alimentar a los programas e2fsck o mke2fs, es importante que el tamaño del bloque se especifique correctamente, ya que los números de bloque que se generan dependen mucho del tamaño de bloque utilizado por el sistema de archivos . Por esta razón, se recomienda encarecidamente que los usuarios no ejecuten bloques malos directamente, sino que usen la opción -c de los programas e2fsck y mke2fs.
fsck
fsck
en sí mismo no lo ayudará a encontrar sectores defectuosos, peor aún, si hay muchos sectores defectuosos, puede dañar sus datos aún más. Úselo solo cuando el disco esté sano.
A lo largo de esta respuesta, supondré que una unidad de almacenamiento aparece como un dispositivo de bloque en la ruta /dev/sdc
. Para encontrar la ruta de una unidad de almacenamiento en nuestra configuración actual, use:
palimpsest
), si hay una GUI disponible, olsblk
e ls -l /dev/disk/by-id
e intente encontrar el dispositivo correcto por tamaño, partición, fabricante y nombre del modelo.A veces, un medio de almacenamiento simplemente se niega a funcionar. Todavía aparece como un dispositivo de bloque para el kernel y en el administrador de discos, pero su primer sector que contiene la tabla de particiones no es legible. Esto se puede verificar fácilmente con:
sudo dd if=/dev/sdc of=/dev/null count=1
Si este comando da como resultado un mensaje sobre un "error de entrada / salida", nuestro disco está dañado o no puede interactuar con el núcleo de Linux como se esperaba. En el primer caso, con un poco de suerte, un especialista en recuperación de datos con un laboratorio debidamente equipado puede rescatar su contenido. En el último caso, vale la pena probar un sistema operativo diferente. (Me he encontrado con unidades USB que funcionan en Windows sin controladores especiales, pero no en Linux u OS X).
Los dispositivos que lo admiten pueden consultarse sobre su estado de salud a través de SMART o recibir instrucciones para realizar autocomprobaciones de integridad de minuciosidad diferente. Esta es generalmente la mejor opción, pero generalmente solo está disponible en discos duros (no antiguos) y unidades de estado sólido. La mayoría de los medios flash extraíbles no lo admiten.
Más recursos e instrucciones:
Para probar la integridad de lectura de todo el dispositivo sin escribir en él, podemos usar badblocks(8)
así:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Esta operación puede llevar mucho tiempo, especialmente si la unidad de almacenamiento está realmente dañada. Si el recuento de errores aumenta por encima de cero, sabremos que hay un bloqueo incorrecto. Podemos abortar la operación de manera segura en cualquier momento (incluso con fuerza como durante una falla de energía), si no estamos interesados en la cantidad exacta (y tal vez la ubicación) de los bloques defectuosos. Es posible abortar automáticamente en caso de error con la opción -e 1
.
Nota para el uso avanzado: si queremos reutilizar la salida para e2fsck
, necesitamos establecer el tamaño del bloque ( -b
) al del sistema de archivos contenido. También podemos ajustar la cantidad de datos ( -c
en bloques) probados a la vez para mejorar el rendimiento; 16 MiB debería estar bien para la mayoría de los dispositivos.
A veces, especialmente con medios flash, solo se produce un error al intentar escribir. (Esto no descubrirá de manera confiable los medios (flash), que anuncian un tamaño mayor que el que realmente tienen; use Fight Flash Fraud en su lugar).
¡NUNCA use esto en una unidad con sistemas de archivos montados ! badblocks
se niega a operar en esos de todos modos, a menos que lo fuerce.
¡No interrumpas esta operación con fuerza ! Ctrl+ C(SIGINT / SIGTERM) y esperar una terminación prematura elegante está bien, pero killall -9 badblocks
(SIGKILL) no lo está. Tras una terminación forzada badblocks
, no se puede restaurar el contenido original del rango de bloques actualmente probado y se sobrescribirá con datos basura y posiblemente dañará el sistema de archivos.
Para usar comprobaciones de lectura-escritura no destructivas, agregue la -n
opción al badblocks
comando anterior .
Como arriba, pero sin restaurar el contenido de la unidad anterior después de realizar la prueba de escritura, por lo tanto, es un poco más rápido. Como los datos se borran de todos modos, la terminación forzada permanece sin consecuencias negativas (adicionales).
Para usar verificaciones destructivas de lectura y escritura, agregue la -w
opción al badblocks
comando anterior .
fsck: comprueba y repara un sistema de archivos Linux. Invocarlo usando
fsck /dev/sda1
donde / dev / sda1 es la unidad que desea verificar. Ver 'man fsck' para más detalles.
También hay un comando 'badblocks' que comprueba un dispositivo en busca de bloques defectuosos.
La unidad debe desmontarse cuando se verifica, por lo que para verificar la partición raíz, debe crear un archivo 'forcefsck' en la raíz de la partición y reiniciar. El dispositivo se verificará en el próximo arranque:
sudo touch /forcefsck
sudo reboot
Alternativamente, puede iniciar desde un Live CD y ejecutar la verificación desde allí.
sudo dumpe2fs -b /dev/sda9
. Pero creo que es mejor si el disco se ocupa de los sectores defectuosos, no del sistema de archivos (SMART, bloques defectuosos, etc., vea mi publicación).
Puede verificar si hay bloques defectuosos ejecutando el comando
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
para una prueba de lectura-escritura no destructiva. Eso generará un archivo llamado bad-blocks-result
con los sectores dañados.
-n Usar el modo de lectura-escritura no destructivo. Por defecto, solo se realiza una prueba no destructiva de solo lectura.
-s Muestra el progreso de la exploración escribiendo un porcentaje aproximado de finalización del paso de bloques defectuosos actuales sobre el disco.
-v Modo detallado.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
para decirle al sistema de archivos dónde están los sectores defectuosos y alejar los datos de ellos, si es posible.Puede encontrar más información al respecto aquí .
fsck
comando falla con btrfs
los sistemas de archivos.
IMO smartctl es una herramienta mejor. Probablemente tengas que instalarlo primero
sudo apt-get install smartmontools
Entonces
sudo smartctl -a /dev/sda | less
para imprimir datos de estado de la unidad, atributos y resultados de pruebas disponibles. Para dejar de fumar menos, escriba q
. Alternativamente
sudo smartctl -H /dev/sda
simplemente imprimir datos de salud.
Para comenzar una nueva prueba automática corta (unos minutos) o larga (hasta muchas horas) en segundo plano:
sudo smartctl -t [short|long]
GSsmartControl ( página de inicio ) y Gnome Disks son interfaces gráficas si lo prefiere.
smartctl
informaron: "Puente USB desconocido", "Especifique el tipo de dispositivo con la opción -d". Encontré los datos que necesitaba en: smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) es otra opción que también debe detectar unidades flash falsas (unidades flash cuya capacidad real es una fracción de la capacidad anunciada):
Instalar F3
sudo apt install f3
Inserta tu disco
Escriba los datos de prueba en el espacio libre en la unidad (verifique dónde está montada su unidad lsblk
)
f3write /media/$USER/D871-DD7C/
Lee los datos de prueba
f3read /media/$USER/D871-DD7C/
Referencia:
Badblocks funciona bien, pero no está diseñado para detectar unidades flash falsas y es posible que no informe de ningún error .
badblocks
con -w
o con los fsck
sectores marcados como defectuosos / dañados para que no se usen. ¿f3 puede devolver algo como Corrupted: 16.01 MB (32784 sectors)
, pero los marca como sectores defectuosos? ¿O todavía necesitamos bloques malos para eso? Estoy tratando condumpe2fs -b
y parece ID no marca.
Puede probar y leer todo el disco, mientras muestra un indicador de progreso:
time sudo pv /dev/sdc >/dev/null
Ciertos problemas de disco se manifestarían como errores de E / S informados. Esto es un poco mejor que dd
debido al indicador de progreso y porque la interfaz de línea de comandos es un poco más estándar y un poco menos propensa a errores tipográficos . Tenga en cuenta que pv
es básicamente una versión mejorada de cat
. Es posible que no se instale de manera predeterminada, pero se puede instalar con sudo apt-get install pv
.
Un enfoque similar es leer el disco con una de las varias herramientas disponibles que son específicamente conscientes de los errores de E / S del disco, y tienen la característica de "esforzarse por rescatar datos". Buscar ddrescue
en el administrador de paquetes.
dd count=1
También es bastante rápido a menos que el medio de almacenamiento esté completamente roto (o no sea compatible).
ddrescueview
dd
tiene un indicador de progreso con status=progress
.
Si tiene una partición que NO PUEDE PERDER LOS DATOS, siga estos pasos
$fdisk -l commnd
Supongamos que la partición para verificar se llama / dev / sdPTC (partición para verificar) y que tiene otra partición para almacenar los resultados montados en la carpeta / scan / resultPath /
2. Entonces puedes ejecutar este comando
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
que determinará cuáles son los bloques defectuosos del dispositivo dado y los almacenará en un archivo llamado badsectors.txt
fsck
comando para decirle a Ubuntu que no use los sectores defectuosos mencionados en el archivo badsectors.txt.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
De esa forma, la vida útil del disco duro aumenta un poco hasta que obtenga uno nuevo para reemplazarlo.
Si tiene una partición completa que desea verificar en busca de sectores físicos defectuosos y PUEDE PERMITIR PERDER TODOS LOS DATOS en esa partición o está VACÍA, siga estos pasos
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Verifique y vuelva a verificar que no haya datos importantes en esa partición
Usando gnome-disks
DELETE / REMOVE la partición a mano usando el signo "-"
Usando gnome-disks
CREATE una nueva partición y selecciona la opción "lenta" que verificará el espacio dado para errores
bionic beaver
Maneja las comprobaciones de disco de manera diferente?