Como interpretar a saída de badblocks


44

As páginas de manual para badblocks não parecem mencionar o que os três números na saída significam em particular:

Passe concluído, 7 blocos inválidos encontrados (erros 7/0/0)
Passe concluído, 120 blocos inválidos encontrados (erros 0/0/120)

Eu estou supondo que é "Erros ao ler / escrever / comparar". Alguém pode me esclarecer?

Respostas:


46

Seu palpite está correto.

O código fonte fica assim:

if (v_flag)
    fprintf(stderr,
            _("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"),
            bb_count, num_read_errors, num_write_errors, num_corruption_errors);

Portanto, seus erros de leitura / gravação / corrupção. E corrupção significa comparação com dados escritos anteriormente:

if (t_flag) {
    /* test the comparison between all the
       blocks successfully read  */
    int i;
    for (i = 0; i < got; ++i)
        if (memcmp (blkbuf+i*block_size,
            blkbuf+blocks_at_once*block_size,
            block_size))
            bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR);
}

Perfeito. Procurando na fonte a única coisa que deveria ter me ocorrido, mas de alguma forma não ocorreu. Obrigado. :)
Tomalak

Obviamente, essa também é a razão pela qual não há mensagens de erro do kernel no (0/0/120 errors)caso.
21713 Tomalak

Uma possível causa para erros de corrupção é que algo mais foi gravado no disco enquanto badblocksestava em execução; nesse caso, não seria um erro (exceto erro do usuário).
Frostschutz

Nesse caso, é um disco suspeito que estou usando exclusivamente com badblocks. Nenhum outro processo grava nele. Existe uma maneira de visualizar o arquivo de saída com a lista de setores defeituosos, além de calcular manualmente sua posição?
Tomalak

-8

Errado. Se badblocks diz algo que não é "nenhum erro encontrado", significa:

  • Desligue a máquina imediatamente
  • Obter um disco de substituição
  • Ore para que dados importantes de $ GOD_OF_BACKUPS estejam seguros
  • Faça o que for necessário para configurar o novo disco e copie os dados do antigo

Opcionalmente, você pode manter o disco ao redor para entretenimento ou como peso de papel.

(Discos modernos têm um conjunto de cilindros extras para remapeamento blocos defeituosos, como não há nenhuma maneira de fabricar discos sem eles, e os usuários gritou diabos quando viram a lista de bloqueio ruim. Se blocos ruins não aparecer, isso significa que esse espaço Como os modos de falha comuns dos discos rotativos fornecem um número exponencialmente crescente de blocos defeituosos, ver alguns meios de que o disco normalmente tem algumas horas restantes.)


10
Essa nem era a questão.
Tomalak

1
Nunca execute badblocksem um disco com dados importantes. Se o disco apresentar um erro, badblockspoderá causar danos extras, mesmo no modo de gravação não destrutivo, se não puder gravar os dados originais novamente devido ao erro.
Frostschutz

@frostschutz, O -nteste deve ser somente leitura?
21813 vonbrand

3
Não, -né gravação não destrutiva. Por isso, escreve, mas restaura os dados originais após o teste. O que pode falhar devido a erros. Apenas para leitura badblocks, acredito que você não use nenhuma opção.
Frostschutz

Não é um conselho ruim, mas não se encaixa na pergunta. Você poderia ter feito uma resposta no estilo de perguntas e respostas.
neverMind9 17/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.