@ PabloBianchi: Essa pergunta tem exatamente o mesmo escopo. Estou sinalizando-os para um mod para mesclá-los.
David Foerster
Respostas:
101
Discos
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-utilitypacote. Corregksudo gnome-disks
Ou no Ubuntu 16.04 versão (3.18):
Badblocks
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:
irá verificar o disco inteiro e imprimir todos os blocos defeituosos encontrados em / dev / sda .
Do badblocksmanual:
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
fsckpor 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.
Na verdade, o manual do badblocks desencoraja o uso direto e direciona os usuários ao e2fsck com a opção "-c" (para verificação somente leitura) ou "-cc" (para verificação de leitura e gravação).
Mrówa
2
como nota, no 13.04, você executa o palimpsest apenas executando "discos" no menu do ubuntu, no entanto ... eu não vejo uma opção para iniciar um autoteste (possivelmente porque eu tenho apenas uma unidade e é a única em execução Ubuntu ...)
rogerdpack 11/11
2
@ mrówa o manual diz apenas fazer isso se "a saída do badblocks vai ser alimentado aos programas e2fsck ou mke2fs"
Jon
1
Colocar a informação que para listar todos os discos usar sudo fdisk -l
Kangarooo
2
isso agora é chamado de discos gnome
endolith
74
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:
Discos Gnome (anteriormente conhecido como Gnome Disk Utility, também conhecido como palimpsest), se uma GUI estiver disponível, ou
no olhar do terminal na saída lsblke ls -l /dev/disk/by-ide tentar encontrar o dispositivo correto por tamanho, particionamento, fabricante e nome do modelo.
Verificação básica
detecta apenas mídias totalmente não responsivas
quase instantâneo (a menos que o meio seja girado ou quebrado)
seguro
funciona em mídia somente leitura (por exemplo, CD, DVD, BluRay)
À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.)
Autoteste SMART
precisão ajustável
instantâneo a mais lento ou mais lento (depende da exaustividade do teste)
seguro
alerta sobre falha provável em um futuro próximo
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.
funciona em mídia somente leitura (por exemplo, CD, DVD, BluRay)
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 ( -cem blocos) testados ao mesmo tempo para melhorar a taxa de transferência; 16 MiB deve ser bom para a maioria dos dispositivos.
Verificação não destrutiva de leitura e gravação
muito completo
mais lento
bastante seguro (exceto uma falha de energia ou pânico intermitente do kernel)
À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 ! badblocksse 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, badblocksnã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 -nopção ao badblockscomando acima .
Verificação destrutiva de leitura e gravação
muito completo
Mais devagar
APAGA TODOS OS DADOS DA UNIDADE
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 -wopção ao badblockscomando 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í.
Obrigado, a máquina está funcionando sem monitor, existe uma maneira de acessar a saída da verificação após a reinicialização?
Guillaume Coté
Criei o arquivo e reiniciei, mas foi muito rápido e não há nada de novo no boot.log.
Guillaume Coté
O fsck apenas faz uma verificação muito rápida, tentei a opção -c para verificar o bloco defeituoso.
Guillaume Coté
O fsck -c acabou de dizer: / dev / sda9: Atualizando o inode do bloco inválido. Não tenho informações sobre quantos nós defeituosos e qual proporção do sistema de arquivos eles representam.
Guillaume Coté
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).
organize
20
badblocks
Você pode verificar se há badblocks executando o comando
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-resultpara um teste de leitura e gravação não destrutivo. Isso irá gerar um arquivo chamado bad-blocks-resultcom 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.
Em seguida, você pode executar 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 .
Para continuar com a badblocks mais tarde ou se você se esqueceu de exportar o setor ruim para um arquivo de texto (como eu) esta resposta irá ajudá-lo: superuser.com/a/693000/218025
chelder
posso usar badblocks para verificar minha partição do windows? Ou de alguma forma pode danificá-lo?
Privado
1
@ Privado Se você tiver uma nova pergunta, use o link "Fazer uma pergunta" na parte superior.
John
O fsckcomando falha com btrfssistemas de arquivos.
Ótima solução, se o dispositivo suportar SMART. Muitas unidades flash removíveis (baratas) e discos rígidos muito antigos não.
David Foerster
Inicialmente fiquei perplexo quando smartctlrelatado: "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 .
No1
10
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)
badblockscom -wou com fscksetores 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.
Pablo A
4
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 dddevido 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 ddrescueno gerenciador de pacotes.
Isso não detectará problemas que aparecem apenas durante o acesso de gravação e não informará a região afetada da mídia de armazenamento que seria necessária para corrigir ou solucionar o problema. dd count=1também é bastante rápido, a menos que o meio de armazenamento esteja totalmente quebrado (ou não seja suportado).
Se você tiver uma partição que NÃO PODE PERDER OS DADOS, siga estas etapas
Determine qual partição você deseja verificar setor defeituoso usando o
$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 /
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-disksDELETE / REMOVE a partição manualmente usando o sinal "-"
Usando gnome-disksCREATE uma nova partição e selecione a opção "lenta" que verificará o espaço especificado quanto a erros
Respostas:
Discos
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):
Badblocks
Você também pode usar
badblocks
para apenas verificar ou verificar e corrigir, primeiro grave o resultado em um arquivo temporário:
irá verificar o disco inteiro e imprimir todos os blocos defeituosos encontrados em / dev / sda .
Do
badblocks
manual: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.fonte
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
els -l /dev/disk/by-id
e tentar encontrar o dispositivo correto por tamanho, particionamento, fabricante e nome do modelo.Verificação básica
À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:
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.)
Autoteste SMART
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:
Verificação somente leitura
Para testar a integridade de leitura de todo o dispositivo sem escrever nele, podemos usar o
badblocks(8)
seguinte: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.Verificação não destrutiva de leitura e gravação
À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 aobadblocks
comando acima .Verificação destrutiva de leitura e gravação
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 aobadblocks
comando acima .fonte
fsck - verifique e repare um sistema de arquivos Linux. Invoque-o usando
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:
Como alternativa, você pode inicializar a partir de um Live CD e executar a verificação a partir daí.
fonte
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).badblocks
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 chamadobad-blocks-result
com os setores danificados.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 .
fonte
fsck
comando falha combtrfs
sistemas de arquivos.smartctl
IMO smartctl é uma ferramenta melhor. Você provavelmente precisará instalá-lo primeiro
Então
para imprimir dados de integridade da unidade, atributos e resultados de teste disponíveis. Para sair menos, digite
q
. alternativamenteapenas imprimir dados de saúde.
Para iniciar um novo autoteste curto (alguns minutos) ou longo (até muitas horas) em segundo plano:
GSsmartControl ( página inicial ) e Discos Gnome são front-ends gráficos, se você preferir.
Veja também
fonte
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
Insira sua unidade
Escreva dados de teste no espaço livre na unidade (verifique onde a sua unidade está montada
lsblk
)Leia os dados do teste
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 .
fonte
badblocks
com-w
ou comfsck
setores de marca como ruins / danificados, para que não sejam usados. f3 pode retornar algo comoCorrupted: 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:
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 quepv
é basicamente e versão aprimorada docat
. Pode não ser instalado por padrão, mas pode ser instalado comsudo 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.fonte
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 comstatus=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 errosfonte
bionic beaver
com verificações de disco de maneira diferente?