Eu suspeito que pode haver um setor defeituoso em um disco. Eu usei o sistema de arquivos ext3.
Qual ferramenta é o melhor equivalente da ferramenta de verificação de erros do Windows?
Eu suspeito que pode haver um setor defeituoso em um disco. Eu usei o sistema de arquivos ext3.
Qual ferramenta é o melhor equivalente da ferramenta de verificação de erros do Windows?
Respostas:
Para verificar se há setores defeituosos, verifique os dados SMART, provavelmente os melhores acessíveis, iniciando o utilitário Disks ( Palimpsest ). Mesmo se você não encontrar nenhum bloco defeituoso lá, inicie um autoteste para ter certeza.
O programa está incluído no gnome-disk-utility
pacote. Corregksudo gnome-disks
Ou no Ubuntu 16.04 versão (3.18):
Você também pode usar badblocks
sudo badblocks -sv /dev/sda
para apenas verificar ou verificar e corrigir, primeiro grave o resultado em um arquivo temporário:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
irá verificar o disco inteiro e imprimir todos os blocos defeituosos encontrados em / dev / sda .
Do badblocks
manual:
Nota importante: Se a saída de badblocks for alimentada para os programas e2fsck ou mke2fs, é importante que o tamanho do bloco seja especificado corretamente, pois os números de bloco gerados dependem muito do tamanho do bloco em uso pelo sistema de arquivos . Por esse motivo, é altamente recomendável que os usuários não executem badblocks diretamente, mas que usem a opção -c dos programas e2fsck e mke2fs.
fsck
fsck
por si só não ajudará a encontrar setores defeituosos, pior ainda, se houver muitos setores defeituosos, os dados poderão ser danificados ainda mais. Use-o apenas quando o disco estiver íntegro.
Ao longo desta resposta, assumirei que uma unidade de armazenamento aparece como um dispositivo de bloco no caminho /dev/sdc
. Para encontrar o caminho de uma unidade de armazenamento em nossa configuração atual, use:
palimpsest
), se uma GUI estiver disponível, oulsblk
e ls -l /dev/disk/by-id
e tentar encontrar o dispositivo correto por tamanho, particionamento, fabricante e nome do modelo.Às vezes, um meio de armazenamento simplesmente se recusa a trabalhar. Ele ainda aparece como um dispositivo de bloco no kernel e no gerenciador de disco, mas seu primeiro setor que mantém a tabela de partição não é legível. Isso pode ser verificado facilmente com:
sudo dd if=/dev/sdc of=/dev/null count=1
Se este comando resultar em uma mensagem sobre um "erro de entrada / saída", nossa unidade está com defeito ou falha ao interagir com o kernel do Linux conforme o esperado. No caso anterior, com um pouco de sorte, um especialista em recuperação de dados com um laboratório adequadamente equipado pode recuperar seu conteúdo. Neste último caso, vale a pena tentar um sistema operacional diferente. (Encontrei unidades USB que funcionam no Windows sem drivers especiais, mas não no Linux ou OS X.)
Os dispositivos que o suportam podem ser consultados sobre sua saúde através do SMART ou instruídos a realizar autotestes de integridade com diferentes detalhes. Geralmente, é a melhor opção, mas geralmente disponível apenas em unidades de disco rígido (não antigas) e de estado sólido (não antigas). A maioria das mídias flash removíveis não é compatível.
Mais recursos e instruções:
Para testar a integridade de leitura de todo o dispositivo sem escrever nele, podemos usar o badblocks(8)
seguinte:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Essa operação pode levar muito tempo, especialmente se a unidade de armazenamento estiver realmente danificada. Se a contagem de erros for superior a zero, saberemos que há um bloqueio incorreto. Podemos abortar a operação com segurança a qualquer momento (mesmo com força durante uma falha de energia), se não estivermos interessados na quantidade exata (e talvez na localização) dos blocos defeituosos. É possível abortar automaticamente em caso de erro com a opção -e 1
.
Nota para uso avançado: se quisermos reutilizar a saída e2fsck
, precisamos definir o tamanho do bloco ( -b
) para o do sistema de arquivos contido. Também podemos ajustar a quantidade de dados ( -c
em blocos) testados ao mesmo tempo para melhorar a taxa de transferência; 16 MiB deve ser bom para a maioria dos dispositivos.
Às vezes - especialmente com mídia flash - ocorre um erro apenas ao tentar escrever. (Isso não descobrirá de maneira confiável as mídias (flash), que anunciam um tamanho maior do que elas realmente têm; use o Fight Flash Fraud .
NUNCA use isso em uma unidade com sistemas de arquivos montados ! badblocks
se recusa a operar com eles de qualquer maneira, a menos que você o force.
Não interrompa esta operação com força ! Ctrl+ C(SIGINT / SIGTERM) e aguardar o término prematuro normal está ok, mas killall -9 badblocks
(SIGKILL) não está. Em caso de encerramento forçado, badblocks
não é possível restaurar o conteúdo original do intervalo de blocos testado no momento e deixá-lo sobrescrito com dados indesejados e possivelmente corromper o sistema de arquivos.
Para usar verificações não destrutivas de leitura e gravação, adicione a -n
opção ao badblocks
comando acima .
Como acima, mas sem restaurar o conteúdo da unidade anterior após a execução do teste de gravação, é um pouco mais rápido. Como os dados são apagados de qualquer maneira, a terminação forçada permanece sem conseqüência negativa (adicional).
Para usar verificações destrutivas de leitura e gravação, adicione a -w
opção ao badblocks
comando acima .
fsck - verifique e repare um sistema de arquivos Linux. Invoque-o usando
fsck /dev/sda1
onde / dev / sda1 é a unidade que você deseja verificar. Veja 'man fsck' para mais detalhes.
Há também o comando 'badblocks' que verifica um dispositivo, você adivinhou, blocos ruins.
A unidade precisa ser desmontada quando marcada, portanto, para verificar a partição raiz, é necessário criar um arquivo 'forcefsck' na raiz da partição e reiniciar. O dispositivo será verificado na próxima inicialização:
sudo touch /forcefsck
sudo reboot
Como alternativa, você pode inicializar a partir de um Live CD e executar a verificação a partir daí.
sudo dumpe2fs -b /dev/sda9
. Mas eu acho que é melhor se o disco cuidar de setores defeituosos, não do sistema de arquivos (SMART, badblocks etc, veja meu post).
Você pode verificar se há badblocks executando o comando
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
para um teste de leitura e gravação não destrutivo. Isso irá gerar um arquivo chamado bad-blocks-result
com os setores danificados.
-n Use o modo não destrutivo de leitura e gravação. Por padrão, apenas um teste somente leitura não destrutivo é realizado.
-s Mostre o progresso da verificação escrevendo a porcentagem aproximada de conclusão aproximada dos badblocks atuais transmitidos pelo disco.
-v modo detalhado.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
para informar ao sistema de arquivos onde estão os setores defeituosos e afastar os dados deles, se possível.Você pode encontrar mais informações sobre isso aqui .
fsck
comando falha com btrfs
sistemas de arquivos.
IMO smartctl é uma ferramenta melhor. Você provavelmente precisará instalá-lo primeiro
sudo apt-get install smartmontools
Então
sudo smartctl -a /dev/sda | less
para imprimir dados de integridade da unidade, atributos e resultados de teste disponíveis. Para sair menos, digite q
. alternativamente
sudo smartctl -H /dev/sda
apenas imprimir dados de saúde.
Para iniciar um novo autoteste curto (alguns minutos) ou longo (até muitas horas) em segundo plano:
sudo smartctl -t [short|long]
GSsmartControl ( página inicial ) e Discos Gnome são front-ends gráficos, se você preferir.
smartctl
relatado: "Ponte USB desconhecida", "Especifique o tipo de dispositivo com a opção -d". Encontrei os dados necessários em: smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) é outra opção que deve detectar adicionalmente unidades flash falsas (unidades flash cuja capacidade real é uma fração da capacidade anunciada):
Instale F3
sudo apt install f3
Insira sua unidade
Escreva dados de teste no espaço livre na unidade (verifique onde a sua unidade está montada lsblk
)
f3write /media/$USER/D871-DD7C/
Leia os dados do teste
f3read /media/$USER/D871-DD7C/
Referência:
O Badblocks funciona bem, mas não foi projetado para detectar unidades flash falsas e pode não gerar nenhum erro para elas .
badblocks
com -w
ou com fsck
setores de marca como ruins / danificados, para que não sejam usados. f3 pode retornar algo como Corrupted: 16.01 MB (32784 sectors)
, mas marca esses setores como ruins? Ou ainda precisamos de badblocks para isso? Estou tentando comdumpe2fs -b
e parece id não marca.
Você pode testar o disco inteiro enquanto lê um indicador de progresso:
time sudo pv /dev/sdc >/dev/null
Certos problemas de disco se manifestariam como erros de E / S relatados. Isso é um pouco mais agradável do que dd
devido ao indicador de progresso e porque a interface da linha de comandos é um pouco mais padrão e menos propensa a erros de digitação . Observe que pv
é basicamente e versão aprimorada do cat
. Pode não ser instalado por padrão, mas pode ser instalado com sudo apt-get install pv
.
Uma abordagem semelhante é ler o disco com uma das várias ferramentas disponíveis que estão especificamente cientes dos erros de E / S do disco - e têm o recurso de "se esforçar muito para recuperar dados". Procure ddrescue
no gerenciador de pacotes.
dd count=1
também é bastante rápido, a menos que o meio de armazenamento esteja totalmente quebrado (ou não seja suportado).
ddrescueview
dd
tem um indicador de progresso com status=progress
.
Se você tiver uma partição que NÃO PODE PERDER OS DADOS, siga estas etapas
$fdisk -l commnd
Vamos supor que a partição a verificar seja chamada / dev / sdPTC (partição a verificar) e que você tenha outra partição para armazenar os resultados montados na pasta / scan / resultPath /
2.Em seguida, você pode executar este comando
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
que determinará quais são os blocos defeituosos do dispositivo fornecido e os armazenará em um arquivo chamado badsectors.txt
fsck
comando para dizer ao Ubuntu para não usar os setores defeituosos mencionados no arquivo badsectors.txt.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
Dessa forma, a vida útil do disco rígido aumenta um pouco até você obter um novo para substituição.
Se você possui uma partição completa que deseja verificar se há setores físicos defeituosos e PODE AFETAR A PERDA DE TODOS OS DADOS nessa partição ou está VAZIO, siga estas etapas
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Verifique e verifique se não há dados importantes nessa partição
Usando gnome-disks
DELETE / REMOVE a partição manualmente usando o sinal "-"
Usando gnome-disks
CREATE uma nova partição e selecione a opção "lenta" que verificará o espaço especificado quanto a erros
bionic beaver
com verificações de disco de maneira diferente?