Como reparar blocos defeituosos no Linux



Experimente Nosso Instrumento Para Eliminar Problemas

Os usuários que inicializam duplamente alguma distribuição do Linux com uma versão do Microsoft Windows podem ocasionalmente tentar reduzir ou aumentar certas partições para deixar mais espaço para um sistema operacional ou outro. Em última análise, você pode receber um aviso do GParted no Linux ou chkdsk no Windows de que havia setores defeituosos. Usuários individuais do Linux podem ocasionalmente obter o mesmo. Apesar disso, os usuários podem realmente receber avisos sobre dois tipos diferentes de setores defeituosos mascarados como os mesmos. Um é a notificação tradicional de setores defeituosos que indicam um problema com a geometria física de um prato de disco ou uma célula de memória NAND. Isso é o que a maioria das pessoas quer dizer quando reclama sobre um bloco ruim, embora haja uma diferença pequena, mas muito técnica, entre um setor ruim e um bloco ruim. No entanto, as máquinas raramente sinalizam setores como ruins.



Eles são conhecidos como setores defeituosos de software ou blocos defeituosos de software e podem ser corrigidos simplesmente por meio de uma operação simples do sistema de arquivos. Considerando o perigo de gravar em blocos defeituosos, no entanto, é sempre uma boa ideia começar sua investigação com uma inspeção de dados SMART ao lidar com um volume fixo. Isso é não destrutivo e pode eliminar problemas de geometria antes de continuar. Se você não estiver trabalhando com um volume fixo, convém iniciar sua investigação com o próximo método a seguir.



Método 1: Verificando os dados SMART

É fácil acreditar que esses setores defeituosos são apenas um erro de software, mas há uma maneira de verificar se é isso. Usando dados SMART, é fácil inspecionar o firmware do próprio disco e ter certeza. Abra o GNOME Disks Utility a partir do Dash in Unity, o menu Whisker no Xfce4, o menu Acessórios no LXDE ou do menu GNOME Applications no KDE. Você também pode iniciá-lo digitando gnome-disks no terminal e pressionando a tecla Enter. Clique no menu ao lado dos controles da janela do lado direito depois de destacar seu disco rígido com o ponteiro na coluna da esquerda. Na maioria das instalações do GNU / Linux, o utilitário Disks usará como padrão o disco rígido principal.



Selecione SMART Data & Self-tests no menu. Você também pode segurar CTRL e pressionar S para abrir esta janela. Isso mostrará a saúde atual de sua unidade. Se os valores estiverem em branco, clique no botão Iniciar autoteste para forçar o disco a executar uma autoverificação. A linha Avaliação geral na parte superior dirá o que o GNOME Disks Utility pensa sobre sua unidade.

Você pode ter que percorrer os atributos SMART, mesmo em uma exibição de tela inteira. Preste atenção especial a uma opção chamada Contagem de realocação. Isso mostra quantos setores já foram realocados. Se houver muitos setores defeituosos, então provavelmente é uma boa ideia substituir a unidade antes que falhe completamente.



Método 2: Verificando o Superbloco Correto

Às vezes, você pode descobrir que os dados SMART mostram tudo em ordem, mas pode ter obtido um erro “Bad Superblock” de alguns utilitários de disco. Se você estivesse trabalhando com cartões SD, cartões de memória USB ou outra memória semelhante, não seria capaz de ler os dados SMART e ainda assim poderia ter alguns erros. Isso pode muito bem ser um problema de software. Considere a questão de executar um comando como:

fsck.ext4 / dev / sda

Isso provavelmente indicará que você tem um superbloco inválido, que se refere ao bloco mestre em seu sistema de arquivos. Este é o resultado de um erro de CLI e não de um bloco defeituoso genuíno. Uma vez que / dev / sdb se refere a uma unidade e não a uma partição, seu comando fsck irá procurar por um superbloco onde não há um e incorretamente pensar que algo estava errado. Felizmente, este não foi um comando destrutivo. Corre:

sudo fsck.ext4 / dev / sda1

Pode ser que agora você diga que seu sistema de arquivos está limpo. Certifique-se de que o número que vem após ext corresponde à versão ext do seu volume.

Você também pode obter este erro se tentar executar ext2 / 3/4 fsck em um volume FAT12 / 16/32, NTFS ou HFS / HFS +. O verificador de consistência fica confuso e pensa que algo está errado, quando na realidade o tipo de estrutura do arquivo não corresponde ao esperado. Execute fsck.vfat ou dosfsck em volumes FAT, independentemente da versão de bit que você está usando. Você pode usar a opção -t após dosfsck ou fsck.vfat (fsck.msdos em algumas versões do Linux) para marcar clusters ilegíveis como blocos defeituosos.

Método 3: verificação de blocos defeituosos em volumes NTFS

Supondo que você esteja inicializando duas vezes o Microsoft Windows e o Linux e tenha superbloco ou outros erros de setor defeituoso em um volume NTFS, reinicie no Windows e execute chkdsk / rc: na linha de comando, substituindo c: pela letra da unidade do Volume NTFS em questão. O Windows provavelmente terá que reiniciar para completar a varredura de superfície. Isso pode levar algum tempo, então, se parecer que seu sistema operacional não está respondendo, é meramente por causa do tempo em questão. Se você recebeu um erro sobre não ter os privilégios corretos, clique com o botão direito do mouse no prompt de comando no Menu Iniciar e selecione Executar como administrador antes de prosseguir.

Se você estiver trabalhando com um volume NTFS exclusivamente no Linux, então você não tem muito recurso, mas se o erro de blocos defeituosos foi meramente de uma incompatibilidade de tipo, você tem uma maneira de corrigi-lo. Execute sudo ntfsfix / dev / sdb1, substituindo a letra e o número após / dev / sd pelo dispositivo correto e identificador de partição. Lembre-se de que você sempre pode executar sudo fdisk-l ou voltar para o GNOME Disks Utility se estiver instalado para verificar os nomes de cada volume conectado ao seu sistema. Você pode executá-lo como sudo ntfsfix -d / dev / sdb1 se tiver certeza de que deseja que a parte incorreta seja limpa.

Se você tiver certeza de que um volume NTFS possui soft blocks defeituosos que não são devidos à geometria física do hardware, como quando você clonou um disco antigo com setores defeituosos para um novo volume, execute sudo ntfsfix -bd / dev / sdb1 em qualquer volume que você gostaria. Isso redefine a lista de marcadores de bloco inválido.

Método 4: Usando o utilitário Linux badblocks

Tendo inicializado em uma versão ISO Linux ao vivo ou tendo encontrado alguma outra maneira de desmontar um sistema de arquivos ext2, ext3 ou ext4, você pode executar sudo fsck.ext4 -c / dev / sda1 para conduzir uma varredura somente leitura de blocos danificados. Naturalmente, você precisará usar o identificador de volume correto após / dev / sd e o número de versão ext correto após fsck.ext para executá-lo corretamente. Se, em vez disso, você especificar -cc, o programa usará um teste não destrutivo de leitura e gravação ainda mais extenso.

Esta é a maneira normal de usar o utilitário badblocks, mas você pode tecnicamente usá-lo sozinho também. Execute sudo badblocks -n em um nome de dispositivo para executá-lo sozinho e relatar badblocks diretamente em seu terminal. Você pode usar a opção -w para usar um teste de modo de gravação, mas não use as opções -n e -w juntas, pois são mutuamente exclusivas. Em nenhuma circunstância você deve usar a opção -w em um volume que contém dados, pois ela apagará tudo limpo. Use a opção -n mais lenta, pois ela preservará seus dados neste caso. A opção -w é adequada para volumes que você não se importa em apagar. A opção -v pode ser combinada com qualquer um e fornecerá a seu terminal alguma saída detalhada que é útil para inspecionar dados corrompidos. Você sempre pode usar a opção -o com o nome de um arquivo de texto para escrever as informações para que possa examiná-las mais tarde. Você pode querer executá-lo como sudo badblocks -nv -o badblocks.log / dev / sdb1 para obter um instantâneo, uma vez que você verá muitas informações se houver blocos defeituosos genuínos.

5 minutos lidos