Verificação completa do hd físico

17

Eu gostaria de executar uma verificação física completa, setor por setor, em alguns discos rígidos externos. Tanto quanto eu sei, chkdsknão fornece essa opção.

Existe uma solução alternativa chkdskou um bom substituto? Estou usando o Windows 7 nesta máquina, mas as soluções Linux aplicáveis ​​a partir de um CD ao vivo também são bem-vindas.

Obrigado,

Adam Matan

Adam Matan
fonte
Qual sistema operacional você está executando? Desde que você mencionou chkdsk, eu supor que é o Windows NT, XP, Vista, 7, Server 2003 ou Server 2008.
Rob

Respostas:

28

No Windows NT / XP / Vista / 7, você pode abrir um prompt de CMD e usar

chkdsk /r x:

onde x é a letra da sua unidade USB, supondo que a unidade esteja particionada e tenha uma letra de unidade atribuída a ela.

Sugiro obter um CD ao vivo do Ubuntu e inicializar no Linux, usando badblocks para verificar defeitos físicos.

Use sudo fdisk -lpara listar todas as unidades e suas partições. Para cada unidade :

sudo badblocks -nvs /dev/sdx

onde seu disco rígido é / dev / sdx. Isso executará um teste não destrutivo de leitura / gravação no disco sem fazer uma verificação no sistema de arquivos.

Se você não se importa com os dados, pode fazer isso para fazer uma varredura mais completa:

sudo badblocks -wvs /dev/sdx

A opção -w informa aos badblocks para escrever um padrão conhecido e, em seguida, leia novamente os dados para garantir que eles correspondam ao padrão. Faz isso 4 vezes, usando os padrões 0xaa, 0x55, 0xff e 0x00 (0 e 1 alternados, depois todos os 1 e depois todos os 0). Observe que isso substituirá todos os dados na unidade e também apagará todas as partições.

Se você possui um sistema de arquivos Linux na unidade, pode verificar se há erros no sistema de arquivos e executar badblocks ao mesmo tempo. Primeiro, obtenha a lista de todas as unidades e suas partições:

sudo fdisk -l

Em seguida, para cada partição :

sudo e2fsck -fcc /dev/sdx#

Novamente, / dev / sdx é o disco rígido que você deseja verificar. # é o número da partição (por exemplo, / dev / sdb1). Especificar c duas vezes forçará o fsck a ser executado e usará badblocks para fazer um teste não destrutivo de leitura e gravação. Se você apenas usar a opção c uma vez, os badblocks farão um teste somente leitura.

Eu executo badblocks -wvs em cada novo disco rígido que compro antes de colocá-lo em serviço.

roubar
fonte
11
Eu não acho que o chkdsk / r realmente varre todos os blocos ... ele roda muito mais rápido do que eu esperaria para algo lendo cada bloco. Pode-se notar a opção de teste não destrutivo de badblocks, caso ele já tenha dados nos discos.
davr 6/11/09
@ David: Obrigado; Eu já mencionei o teste não destrutivo de badblocks no comando fsck, mas adicionei um badblocks explícito -vs para ser completo. O chkdsk / r verifica se há blocos defeituosos e leva um bom tempo quando o executo, mas provavelmente não é tão completo quanto os badblocks -w. Tem certeza de que não está pensando em chkdsk / f ou chkdsk / p, que corrigirá apenas erros no sistema de arquivos, mas não verifica blocos defeituosos?
Rob
@ David: Eu pensei em uma coisa ... chkdsk provavelmente não verifica o registro de inicialização ou tabela de partição. Como ele usa apenas um nome de volume (por exemplo, letra da unidade, ponto de montagem ou nome do volume) como argumento, isso sugere que você só pode verificar um volume lógico em busca de erros de mídia e tudo o que estiver fora do volume especificado (partição) será ignorado. Isso não deve fazer muita diferença em termos de velocidade de digitalização. É disso que você está falando?
Rob
11
Seu uso do fsck é realmente uma referência ao e2fsck. O estoque fsck não inclui um -cargumento de linha de comando. Fora isso, boa resposta.
DaveParillo
Você está certo, Dave. Obrigado; Mudei as instruções de badblocks desde o momento em que ele está executando o Windows, mas corrigi as instruções e2fsck e as movi até o fim para qualquer pessoa que cruze com isso e esteja executando o Linux.
Rob
5

Eu gostaria de executar uma verificação física completa, setor por setor, em alguns discos rígidos externos.

Baixe e execute o HD Tune , escolha a unidade que deseja digitalizar no menu suspenso, clique na guia Verificação de erros (verifique se a caixa Verificação rápida está desmarcada) e clique em Iniciar .

insira a descrição da imagem aqui

O HD Tune é gratuito para uso pessoal e portátil (não requer instalação).

Gaff
fonte
11
Freeware?? 15 dias de teste! É apenas HD Tune que é freeware.
6119 Loren Pechtel
desculpas, editei o post ... não faz muita diferença porque o recurso a que estou me referindo está disponível na versão gratuita, como você pode ver na captura de tela.
1

Muitos fabricantes de discos, como a Western Digital e a Seagate, fornecem ferramentas que farão esse tipo de verificação. Geralmente uma ferramenta do Windows.

Dave M
fonte
Até onde eu sei, isso apenas executa o autoteste SMART, que não é uma verificação completa da unidade.
Endolith 06/12/2009
endolith- Os testes da WD semm vão além do SMART. Download gratuito para dar-lhe um tiro se você tem unidade WD
Dave M
1

No Windows, usarei a versão gratuita do HDTune para procurar setores defeituosos. No entanto, o programa Linux BadBlocks é muito melhor, fornecendo uma lista exata de todos os blocos defeituosos e suporta verificação de leitura e gravação (embora a gravação seja destrutiva).

Dentrasi
fonte
2
Os badblocks também têm um teste de gravação não destrutivo. lê o bloco, grava um novo valor, verifica o novo valor e grava o bloco original de volta. portanto, não destruirá nenhum dado válido no disco. A desvantagem é que as operações extras o tornam muito mais lento.
Davr #
1

Qualquer unidade moderna remapeará automaticamente blocos ilegíveis / duvidosos. Normalmente, um sistema operacional não obtém uma falha de leitura de um bloco, a menos que o bloco seja realmente ilegível, e a gravação desse bloco fará com que a unidade remapeie novamente. Isso só falhará se a unidade estiver sem blocos de reposição; nesse caso, é hora de substituí-la!

O resultado é que um sistema operacional que marca "bad blocks" no estilo do scandisk geralmente não faz sentido.

Com isso dito, eu usaria um autoteste estendido SMART. smartmontools deve funcionar. Você também pode obter o número de blocos remapeados.

Note que no linux, uma planície dd if=/dev/sdx of=/dev/null, onde sdx é o dispositivo de bloco do disco, fará uma leitura lógica completa do disco. Se algum bloco estiver ilegível, você receberá um erro. Se você não se importa com os dados desnecessários, dd if=/dev/zero of=/dev/sdxbasta substituir o disco inteiro, fazendo com que a unidade remapeie conforme necessário.

Capitão Segfault
fonte
11
Em vez de usar 'dd', é melhor usar o comando linux 'badblocks', que foi projetado especificamente para esta tarefa.
Davr
11
O que quero dizer é que "essa tarefa" é tão obsoleta quanto o conceito de "bloco ruim".
Captain Segfault
O disco rígido não corrige os blocos defeituosos até que você os escreva. Uma boa maneira de escrever para eles é usar badblocks no modo não destrutivo. : D
endólito 6/12/2009
Eu gostaria que isso fosse verdade. Você está confundindo discos internos com discos externos USB. Os gabinetes de unidades USB precisam de um firmware melhor com os relatórios SMART, dos quais a maioria deles não possui.
Nicolay77
@ endolith Alguns discos rígidos também realocam blocos suspeitos ao ler. Pelo menos alguns HDDs da empresa.
Roland Pihlakas
-1

Nunca gostei muito de unidades externas USB, porque elas realmente não existiam quando algumas das melhores ferramentas como o ScanDisk foram escritas. Eu particularmente gosto da versão do ScanDisk que acompanha o Windows 98 SE.

Portanto, se for uma unidade externa, você provavelmente deve colocá-la em um computador e, em seguida, executar fsck -fa unidade a partir de um LiveCD do Linux, como o CD de recuperação PLD .

onze81
fonte
11
O ScanDisk está obsoleto. O fsck -f forçará o fsck a ser executado, mas não fará um teste físico de mídia.
Rob