Por que o fsck não está funcionando para mim?

0

Eu tenho alguns setores defeituosos no meu disco rígido, então eu segui o guia de este site

Para detectar os setores defeituosos, fiz o seguinte comando:

sudo badblocks /dev/sda5 > /media/3865-6163/sda5

Isso funcionou bem, o próximo passo é executar o seguinte comando:

sudo fsck -l /media/3865-6163/sda5 /dev/sda5

Por algum motivo, isso não funciona para mim e me dá a seguinte mensagem:

ubuntu@ubuntu:/media/3865-6163$ sudo fsck -l /media/3865-6163/sda5 /dev/sda5
fsck from util-linux 2.20.1
Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
        [-I inode_buffer_blocks] [-P process_inode_size]
        [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
        [-E extended-options] device

Emergency help:
 -p                   Automatic repair (no questions)
 -n                   Make no changes to the filesystem
 -y                   Assume "yes" to all questions
 -c                   Check for bad blocks and add them to the badblock list
 -f                   Force checking even if filesystem is marked clean
 -v                   Be verbose
 -b superblock        Use alternative superblock
 -B blocksize         Force blocksize when looking for superblock
 -j external_journal  Set location of the external journal
 -l bad_blocks_file   Add to badblocks list
 -L bad_blocks_file   Set badblocks list
ubuntu@ubuntu:/media/3865-6163$ 

Por que isso não está funcionando?

    
por oshirowanen 20.11.2012 / 19:52

2 respostas

1

Você não quer usar badblocks . Unidades modernas são SMART e são capazes de relatar erros e remapear quaisquer setores que sejam ruins para um pool de reposição. A unidade só pode remapear setores quando você tenta escrever para eles. Se o utilitário de disco informar que a unidade tem algumas realocações pendentes, você poderá forçá-las a gravar zeros em todo o disco:

sudo dd if=/dev/zero of=/dev/sda

Depois disso, não deve haver mais setores pendentes. Se os setores forem fisicamente danificados, a contagem de setores realocados aumentará. Se os dados tivessem sido simplesmente embaralhados, a escrita de zeros na mídia os corrigiu sem a necessidade de realocar o setor.

Se você acabar com setores que ainda estão pendentes ou offline_uncorrectable ou mais do que alguns setores realocados, é necessário substituir a unidade.

    
por psusi 20.11.2012 / 20:01
0

Bem, a manpage do e2fsck (o aplicativo sendo chamado pelo wrapper fsck se for um sistema de arquivos ext2 / 3/4) declara o seguinte

Note that the block numbers are based on  the  blocksize  of  the  filesystem.
Hence,  badblocks(8) must be given the blocksize of the filesys‐
tem in order to obtain correct results.  As a result, it is much
simpler  and safer to use the -c option to e2fsck, since it will
assure that the correct parameters are passed to  the  badblocks
program.

Então é só usar

sudo e2fsck -c /dev/sda5
    
por andrekeller 20.11.2012 / 20:07