badblocks continua relatando o “último bloco inválido”

1

Estou tentando executar badblocks em uma unidade com uma única partição. A unidade contém um sistema de arquivos do FreeBSD.

Eu inicializo usando uma unidade USB live Linux. A unidade está desmontada. A saída de fdisk -l é:

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

Então eu corro:

# badblocks -v /dev/sda1

E diz:

badblocks: invalid last block - /dev/sda1

Não consigo encontrar nenhuma informação útil sobre isso. Estou usando o utilitário badblocks corretamente aqui? Ou isso é uma indicação de que algo está errado com a unidade?

    
por Siler 15.10.2014 / 20:19

2 respostas

2

Não, isso não é uma indicação de que algo está errado com a unidade. Você está recebendo este erro porque badblocks está aceitando / dev / sda1 como o argumento do último bloco em vez de aceitá-lo como o dispositivo.

A sintaxe da sua pergunta parece correta para mim. Tente especificar o argumento do último bloco após o dispositivo:
badblocks -v /dev/sda1 976773167

Se isso não funcionar, tente adicionar o primeiro bloco também:
badblocks -v /dev/sda1 976773167 63

Só para garantir que isso não indica que algo está errado com sua unidade, aqui está a saída quando eu adiciono um argumento de último bloco inválido "nope":

sudo badblocks -v /dev/sdb1 nope
badblocks: invalid last block - nope

Aqui está um exemplo do meu histórico bash da última vez que usei badblocks (o acesso sudo é necessário para acessar essas unidades no meu sistema):% sudo badblocks -v /dev/sdb1

Saída:

Checking blocks 0 to 976751967
Checking for bad blocks (read-only test):

Se eu cancelar o processo depois de algum tempo com Ctrl + C, a saída é:

Interrupted at block 7470720

Aqui está a sintaxe para retomar o processo (veja man badblocks ):
badblocks -v device [último bloco] [primeiro bloco]

O "último bloco" é o último bloco a ser lido no dispositivo e "primeiro bloco" é onde deve começar a ler. Exemplo: sudo badblocks -v /dev/sdb1 976751967 7470720

Saída:

Checking blocks 7470720 to 976751967 Checking for bad blocks (read-only test):

    
por 16.10.2014 / 00:09
1

O comando badblocks no moderno hardware de disco rígido dificilmente vale o esforço nos dias de hoje. Isso ocorre porque a placa controladora do inversor identifica os blocos defeituosos internamente e substitui os blocos "sobressalentes" inicialmente alocados para substituição automática. Se você ficou sem esses blocos sobressalentes e está tendo problemas com blocos defeituosos, eu PODERIAMENTE sugerir substituição de disco, já que o hardware está indo mal.

Se você quiser encontrar a integridade da unidade, a maioria das unidades modernas suportam a interface da unidade SMART para relatar a integridade do disco. Existem muitos utilitários por aí que status e apresentam essas informações sobre a saúde do disco lá fora. Tente um desses.

    
por 15.10.2014 / 22:37