la utilidad badblocks sigue informando el "último bloque inválido"

Estoy intentando ejecutar badblocks en una unidad con una sola partición. La unidad contiene un sistema de files FreeBSD.

Arranco usando una unidad USB live de Linux. La unidad está desmontada. La salida de fdisk -l es:

  Device Boot Start End Id System /dev/sda1 * 63 976773167+ a5 FreeBSD 

Entonces corro:

 # badblocks -v /dev/sda1 

Y dice:

 badblocks: invalid last block - /dev/sda1 

No puedo encontrar ninguna información útil sobre esto. ¿Estoy usando la utilidad badblocks correctamente aquí? ¿O es esto una indicación de que algo anda mal con el disco?

No, esto no es una indicación de que algo anda mal con el disco. Obtiene este error porque badblocks acepta / dev / sda1 como último argumento de bloque en lugar de aceptarlo como dispositivo.

La syntax en tu pregunta me parece correcta. Intente especificar el argumento del último bloque después del dispositivo:
badblocks -v /dev/sda1 976773167

Si eso no funciona, intente agregar el primer bloque a eso también:
badblocks -v /dev/sda1 976773167 63

Solo para asegurarle que esto no indica que algo anda mal con su disco, este es el resultado cuando agrego un argumento inválido de último bloque "nope":

sudo badblocks -v / dev / sdb1 nope
badblocks: último bloque inválido – nope


Aquí hay un ejemplo de mi historial de bash de la última vez que usé badblocks (se requiere acceso sudo para acceder a estas unidades en mi sistema):
sudo badblocks -v /dev/sdb1

Salida:

Comprobación de bloques 0 a 976751967
Comprobación de bloques defectuosos (testing de solo lectura):

Si cancelo el process después de un time con Ctrl + C la salida es:

Interrumpido en el bloque 7470720

Aquí está la syntax para reanudar el process (ver man badblocks ):
badblocks -v dispositivo [last-block] [first-block]

El "último bloque" es el último bloque que debe leerse en el dispositivo y el "primer bloque" es donde debería comenzar a leerse. Ejemplo:
sudo badblocks -v /dev/sdb1 976751967 7470720

Salida:

Comprobación de bloques 7470720 a 976751967 Comprobación de bloques defectuosos (testing de solo lectura):

El command badblocks en hardware de disco moderno apenas vale la pena en estos días. Esto se debe a que la placa del controller de la unidad identifica los bloques defectuosos internamente y los sustituye desde un bloque "repuesto" inicialmente asignado para el reemploop automático. Si se ha quedado sin estos bloques de repuesto y tiene problemas de locking, le recomiendo encarecidamente replace el disco ya que el hardware está fallando.

Si busca la salud de la unidad, la mayoría de las unidades modernas admiten la interfaz de la unidad SMART para informar del estado del disco. Hay muchas utilidades por ese estado y presenta esta información sobre la salud del disco. Pruebe uno de estos.