Marcio Cunha

Como clonar discos NVMe corrompidos no Linux com ddrescue

Aprenda a recuperar dados de unidades SSD NVMe corrompidas e com setores danificados no Linux usando o utilitário ddrescue para maximizar a extração de blocos.

Marcio Cunha•4 min
Também disponível em:EnglishEspañol
Resumo
  • Unidades NVMe corrompidas exigem ferramentas de baixo nível que ignoram falhas de leitura sem travar o kernel do sistema operacional.
  • O utilitário ddrescue realiza leituras em fases estratégicas priorizando blocos saudáveis antes de insistir nos setores danificados.
  • O mapeamento em arquivo de log permite pausar e retomar o processo de clonagem sem perder o progresso obtido.
  • Monitorar a temperatura e o desgaste prévio da mídia evita perdas catastróficas adicionais durante a operação de resgate.
  • A conversão de blocos legíveis para uma imagem íntegra viabiliza análises posteriores de sistemas de arquivos danificados.

Por que o ddrescue é indispensável para salvar SSDs NVMe

Quando um disco de estado sólido NVMe (memória não volátil de alta velocidade ligada diretamente ao barramento PCI Express) começa a corromper dados ou apresentar falhas severas de leitura, o sistema operacional costuma travar ao tentar acessá-lo. Ferramentas tradicionais de cópia simplesmente abortam a operação no primeiro setor defeituoso encontrado. Na prática, isso significa que você perde o acesso a gigabytes de informações preciosas apenas porque alguns blocos específicos falharam. É exatamente nesse cenário crítico que o ddrescue entra como a melhor solução do mercado.

Diferente do comando tradicional dd, projetado para cópias lineares perfeitas, o ddrescue foi construído desde o início para lidar com mídias danificadas. Ele utiliza um algoritmo inteligente de salvamento que divide o processo em etapas de resgate rápido e raspagem profunda. Antes de iniciar o procedimento de emergência, vale lembrar que monitorar a integridade física do componente com ferramentas especializadas, conforme detalhado no artigo sobre como monitorar temperatura de discos NVMe no Linux, ajuda a entender se o problema decorre de superaquecimento ou desgaste natural dos chips de memória flash.

Compreendendo os riscos e os limites do hardware

Unidades NVMe trabalham em velocidades vertiginosas, comunicando-se através de pistas PCIe diretamente com o processador. Quando ocorre corrupção interna no controlador do SSD ou degradação das células de armazenamento NAND, a controladora interna pode entrar em um loop infinito de tentativas de correção de erro, o que trava o barramento e faz o Linux congelar. Na prática, forçar leituras contínuas sem uma estratégia de recuo pode queimar o pouco que restou de vida útil da unidade.

Portanto, o primeiro passo antes de executar qualquer comando de resgate é conectar a unidade NVMe afetada a uma controladora estável, de preferência em uma máquina de bancada ou utilizando um adaptador USB-NVMe com boa dissipação térmica. Se você também lida com manutenção de componentes eletrônicos e bancada, vale consultar as orientações de diagnóstico em como testar MOSFET de potência na bancada com multímetro para garantir que a alimentação elétrica da placa principal esteja perfeitamente estável e livre de flutuações de tensão.

Preparando o ambiente de resgate no Linux

Antes de colocar a mão na massa, certifique-se de que você possui um sistema Linux rodando a partir de um pendriveライブ ou de uma partição secundária íntegra, pois nunca devemos tentar recuperar dados gravando na própria unidade corrompida. O utilitário ddrescue geralmente está disponível nos repositórios oficiais das principais distribuições, podendo ser instalado rapidamente através do gerenciador de pacotes.

Abra o terminal e execute o comando correspondente à sua distribuição para instalar o pacote gnu-ddrescue. Em seguida, utilize comandos de listagem de hardware para identificar exatamente qual é o identificador de bloco atribuído ao seu SSD NVMe danificado, como /dev/nvme0n1. Essa identificação precisa evita erros catastróficos de sobrescrita em discos saudáveis conectados à mesma máquina de recuperação.

Executando o comando de clonagem em fases

O processo de clonagem com o ddrescue opera em duas grandes etapas fundamentais: a fase de salvamento direto (scraping/rescue) e a fase de trimagem ou repetição de leituras difíceis. Na primeira etapa, o programa copia tudo o que consegue ler facilmente. Na segunda, ele foca exclusivamente nos blocos que retornaram erros de leitura, tentando extrair algum fragmento útil.

Para iniciar o processo de forma segura e gerar um arquivo de mapa de log essencial para retomar a clonagem caso ocorra uma queda de energia, utilize o comando estruturado abaixo no seu terminal Linux:

ddrescue -d -r3 /dev/nvme0n1 /mnt/backup/imagem_nvme.img /mnt/backup/mapfile.log

Neste comando, a flag -d ativa a leitura direta ignorando o cache do kernel, o que evita que o sistema operacional tente adivinhar blocos e trave a controladora. Já a flag -r3 indica que o utilitário tentará ler três vezes os setores problemáticos antes de desistir definitivamente daquela região específica.

Validando a imagem clonada e recuperando os arquivos

Assim que o ddrescue concluir as passagens de raspagem e o mapa de log indicar que todos os blocos possíveis foram extraídos, o próximo passo consiste em verificar a integridade da imagem gerada. Como o SSD original possuía setores danificados, é altamente provável que o arquivo de imagem final contenha lacunas de dados corrompidos ou zerados.

Você pode montar essa imagem em um diretório virtual de leitura para inspecionar o sistema de arquivos e resgatar os documentos salvos. Caso o sistema de arquivos interno também tenha sido afetado pela corrupção, ferramentas complementares de varredura profunda podem ser aplicadas diretamente sobre o arquivo de imagem montado, garantindo que o resgate dos arquivos vitais seja concluído com o máximo de aproveitamento possível.

Considerações finais sobre a recuperação de dados em NVMe

Recuperar dados de unidades NVMe corrompidas exige paciência, conhecimento técnico e ferramentas de baixo nível que respeitem as limitações físicas do hardware danificado. O uso do ddrescue combinado com uma estratégia cuidadosa de isolamento do barramento garante que a maior quantidade possível de blocos legíveis seja extraída antes que o SSD pare de responder por completo. Manter rotinas rigorosas de backup e monitorar preventivamente a saúde dos dispositivos de armazenamento continua sendo a melhor defesa contra perdas catastróficas de dados na infraestrutura moderna.