@PabloBianchi: Esa pregunta tiene exactamente el mismo alcance. Los estoy marcando para un mod para fusionarlos.
David Foerster
Respuestas:
101
Discos
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-utilitypaquete. corrergksudo gnome-disks
O en la versión Ubuntu 16.04 (3.18):
Badblocks
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:
comprobará todo el disco e imprimirá todos los bloques defectuosos encontrados en / dev / sda .
Del badblocksmanual:
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
fscken 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.
En realidad, el manual de badblocks desalienta su uso directo y dirige a los usuarios a e2fsck con la opción "-c" (para verificación de solo lectura) o "-cc" (para verificación de lectura, escritura).
mrówa
2
como nota, el 13.04 ejecuta palimpsest simplemente ejecutando "discos" desde el menú de ubuntu, sin embargo ... No veo una opción para iniciar una autocomprobación (posiblemente porque solo tengo una unidad, y es la que se está ejecutando Ubuntu ...)
rogerdpack
2
@ mrówa, el manual solo dice que haga eso si "la salida de badblocks se va a alimentar a los programas e2fsck o mke2fs"
Jon
1
Ponga información que para enumerar todos los discos use sudo fdisk -l
Kangarooo
2
ahora se llama gnome-disks
endolith el
74
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:
Discos Gnome (anteriormente Gnome Disk Utility, también conocido palimpsest), si hay una GUI disponible, o
en el terminal, mire la salida de lsblke ls -l /dev/disk/by-ide intente encontrar el dispositivo correcto por tamaño, partición, fabricante y nombre del modelo.
Control básico
solo detecta medios que no responden
casi instantáneo (a menos que el medio se hunda o se rompa)
seguro
funciona en medios de solo lectura (por ejemplo, CD, DVD, BluRay)
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).
Autoevaluación INTELIGENTE
minuciosidad ajustable
instantáneo a lento o más lento (depende de la minuciosidad de la prueba)
seguro
advierte sobre posibles fallas en el futuro cercano
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.
funciona en medios de solo lectura (por ejemplo, CD, DVD, BluRay)
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 ( -cen bloques) probados a la vez para mejorar el rendimiento; 16 MiB debería estar bien para la mayoría de los dispositivos.
Comprobación de lectura y escritura no destructiva
muy minucioso
el más lento
bastante seguro (salvo una falla de energía o pánico intermitente del kernel)
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 ! badblocksse 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 -nopción al badblockscomando anterior .
Control destructivo de lectura y escritura
muy minucioso
más lento
BORRA TODOS LOS DATOS EN LA UNIDAD
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 -wopción al badblockscomando 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í.
Gracias, la máquina está funcionando sin monitor, ¿hay alguna forma de acceder a la salida de la verificación después del reinicio?
Guillaume Coté
Creé el archivo y lo reinicié, pero fue realmente rápido y no hay nada nuevo en boot.log.
Guillaume Coté
fsck solo hace una verificación muy rápida, probé la opción -c para verificar el bloque defectuoso.
Guillaume Coté
fsck -c acaba de decir: / dev / sda9: Actualizando el inodo de bloque incorrecto. No tengo información sobre cuántos nodos malos y qué proporción del sistema de archivos representan.
Guillaume Coté
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).
organizar el
20
bloques defectuosos
Puede verificar si hay bloques defectuosos ejecutando el comando
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-resultpara una prueba de lectura-escritura no destructiva. Eso generará un archivo llamado bad-blocks-resultcon 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.
Luego, puede ejecutar 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í .
Para continuar con badblocks fuera de plazo o si se olvidó de exportar el sector defectuoso en un archivo de texto (como yo) esta respuesta le ayudará a: superuser.com/a/693000/218025
chelder
¿Puedo usar badblocks para verificar mi partición de Windows? ¿O de alguna manera puede dañarlo?
Privado
1
@Private Si tiene una nueva pregunta, utilice el enlace "Hacer una pregunta" en la parte superior.
John
El fsckcomando falla con btrfslos sistemas de archivos.
Gran solución, si el dispositivo es compatible con SMART. Muchas unidades flash extraíbles (baratas) y discos duros muy antiguos no lo hacen.
David Foerster
Inicialmente me quedé perplejo cuando me smartctlinformaron: "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 .
nobar 01 de
10
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)
badblockscon -wo con los fscksectores 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.
Pablo A
4
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 dddebido 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 pves 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 ddrescueen el administrador de paquetes.
Esto no detectará problemas que aparezcan solo durante el acceso de escritura y no informará la región afectada del medio de almacenamiento que uno tendría que solucionar o solucionar el problema. dd count=1También es bastante rápido a menos que el medio de almacenamiento esté completamente roto (o no sea compatible).
Si tiene una partición que NO PUEDE PERDER LOS DATOS, siga estos pasos
Determine qué partición desea verificar si hay un sector defectuoso utilizando
$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 /
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-disksDELETE / REMOVE la partición a mano usando el signo "-"
Usando gnome-disksCREATE una nueva partición y selecciona la opción "lenta" que verificará el espacio dado para errores
Respuestas:
Discos
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):
Badblocks
También puedes usar
badblocks
solo para verificar, o para verificar y corregir primero, escriba el resultado en un archivo temporal:
comprobará todo el disco e imprimirá todos los bloques defectuosos encontrados en / dev / sda .
Del
badblocks
manual: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.fuente
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
els -l /dev/disk/by-id
e intente encontrar el dispositivo correcto por tamaño, partición, fabricante y nombre del modelo.Control básico
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:
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).
Autoevaluación INTELIGENTE
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:
Cheque de solo lectura
Para probar la integridad de lectura de todo el dispositivo sin escribir en él, podemos usar
badblocks(8)
así: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.Comprobación de lectura y escritura no destructiva
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 forzadabadblocks
, 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 albadblocks
comando anterior .Control destructivo de lectura y escritura
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 albadblocks
comando anterior .fuente
fsck: comprueba y repara un sistema de archivos Linux. Invocarlo usando
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:
Alternativamente, puede iniciar desde un Live CD y ejecutar la verificación desde allí.
fuente
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).bloques defectuosos
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 llamadobad-blocks-result
con los sectores dañados.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í .
fuente
fsck
comando falla conbtrfs
los sistemas de archivos.smartctl
IMO smartctl es una herramienta mejor. Probablemente tengas que instalarlo primero
Entonces
para imprimir datos de estado de la unidad, atributos y resultados de pruebas disponibles. Para dejar de fumar menos, escriba
q
. Alternativamentesimplemente imprimir datos de salud.
Para comenzar una nueva prueba automática corta (unos minutos) o larga (hasta muchas horas) en segundo plano:
GSsmartControl ( página de inicio ) y Gnome Disks son interfaces gráficas si lo prefiere.
Ver también
fuente
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
Inserta tu disco
Escriba los datos de prueba en el espacio libre en la unidad (verifique dónde está montada su unidad
lsblk
)Lee los datos de prueba
Referencia:
Badblocks funciona bien, pero no está diseñado para detectar unidades flash falsas y es posible que no informe de ningún error .
fuente
badblocks
con-w
o con losfsck
sectores marcados como defectuosos / dañados para que no se usen. ¿f3 puede devolver algo comoCorrupted: 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:
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 quepv
es básicamente una versión mejorada decat
. Es posible que no se instale de manera predeterminada, pero se puede instalar consudo 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.fuente
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 constatus=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 erroresfuente
bionic beaver
Maneja las comprobaciones de disco de manera diferente?