Em um sistema Linux, o GNU ddrescue é um utilitário que pode ser usado para corrigir e copiar unidades. Aplica-se a unidades flash, DVDs, discos rígidos, partições e qualquer meio de armazenamento. Ao replicar dados em blocos, ele realiza a recuperação de dados. Confira este tutorial sobre como instalar e usar o GNU Ddrescue para recuperar dados no Ubuntu.
Neste artigo, você vai aprender:
Parte 1. O que é o GNU Ddrescue?
O GNU ddrescue é uma ferramenta de recuperação de dados para discos rígidos, DVDs, CDs e outras mídias de armazenamento digital. Ele copia blocos de armazenamento brutos, como setores de disco, de um dispositivo ou arquivo para outro, enquanto lida inteligentemente com erros de leitura para reduzir a perda de dados, removendo setores bons de blocos lidos parcialmente.
A operação básica do Ddrescue é completamente automatizada. Você não precisa esperar por um erro, parar o programa, reiniciá-lo de uma posição diferente e assim por diante. Os dados são recuperados quando você usa o recurso de arquivo de mapa do Ddrescue (somente os blocos necessários são lidos). Quando reconhece setores defeituosos, o Ddrescue não grava zeros na saída e não trunca o arquivo de saída, a menos que solicitado. Como resultado, cada vez que você o executa no mesmo arquivo de saída, ele tenta preencher as lacunas sem apagar os dados salvos anteriormente.
Se você tiver duas ou mais cópias danificadas de um arquivo, cdrom, etc., e executar o Ddrescue em todas elas, uma de cada vez, com o mesmo arquivo de saída, você deve obter um arquivo completo e sem erros. Isso ocorre porque a probabilidade de a mesma área estar danificada em todas as cópias é baixa (se os erros estiverem localizados aleatoriamente).
Características
- O Ddrescue funciona apenas em arquivos de entrada e saída pesquisáveis (acesso aleatório) porque precisa ler e gravar em locais aleatórios.
- Se o seu sistema suportar, o Ddrescue pode ler o arquivo de entrada diretamente do disco, ignorando o cache do kernel.
- O Ddrescue também inclui um 'modo de preenchimento' que permite sobrescrever seletivamente partes do arquivo de saída, o que pode ser útil para limpar dados, marcar áreas ruins ou até mesmo "reparar" setores danificados em alguns casos.
- Um dos pontos fortes do Ddrescue é que ele é independente de interface para que possa ser usado com qualquer dispositivo suportado pelo seu kernel (ATA, SATA, SCSI, unidades MFM antigas, disquetes ou até mesmo cartões de mídia flash como SD).
Opções de download
O GNU Ddrescue funciona em sistemas operacionais semelhantes ao Unix, e aqui estão os anos e as versões do GNU ddrescue quando foi lançado.
- 2014: GPL-2.0 ou posterior
- 2007: GPL-3.0 ou posterior
- 2004: GPL-2.0 ou posterior
História do GNU Ddrescue
O GNU ddrescue é um software de código aberto escrito na linguagem de programação C++ que foi lançado pela primeira vez em 12 de agosto de 2004 (18 anos atrás). Também está disponível como um componente binário na maioria das distribuições do Linux.
Parte 2. Dicas para usar o Ddrescue com segurança
- O GNU Ddrescue é uma ferramenta poderosa, como qualquer outra. Para usá-lo com segurança, você deve primeiro compreender o que ele faz, seguido de algumas informações sobre os dispositivos nos quais ele faz essas coisas.
- NUNCA tente recuperar uma partição montada em r/w. A cópia resultante pode precisar ser mais eficaz. É preferível que a partição a ser recuperada não esteja montada, mesmo que seja somente leitura.
- NÃO repare um sistema de arquivos em uma unidade com erros de E/S; você certamente perderá mais dados.
- Quaisquer dados armazenados em um dispositivo ou partição serão substituídos se você usá-los como destino.
- Na reinicialização, alguns sistemas podem alterar os nomes dos dispositivos. Verifique os nomes dos dispositivos antes de reiniciar o Ddrescue se você reiniciar.
- Se você interferir na recuperação e depois reiniciar, todas as partições parcialmente copiadas devem ser ocultadas antes que qualquer sistema operacional que tente montar e "consertar" as partições que encontrar possa tocá-las.
Parte 3. Como instalar o Ddrescue no Ubuntu
Antes de começar, você deve instalar o Ddrescue em seu sistema. A ferramenta geralmente não é instalada por padrão, mas é simples de instalar a partir dos repositórios de software online da sua distribuição.
Execute o seguinte comando abaixo para instalar o ddrescue com o gerenciador de pacotes do seu sistema. Siga estes passos para instalar em qualquer uma das principais distribuições do Linux:
- Para instalar o ddrescue no Ubuntu, Debian ou Linux Mint.
$ sudo apt install gddrescue
- Para instalar o ddrescue no Fedora, CentOS, AlmaLinux e Red Hat:
$ sudo dnf install ddrescue
- Para instalar o ddrescue no Arch Linux e Manjaro.
$ sudo pacman -S ddrescue
Parte 4. Pequeno tutorial sobre o Ddrescue com exemplos
Este tutorial destina-se a pessoas já familiarizadas com o comando dd. Se você não estiver familiarizado com o dd, você deve primeiro pesquisar na internet por algum material introdutório sobre o dd e o GNU Ddrescue.
Com o passar do tempo, uma unidade com falha desenvolve mais e mais erros. Portanto, você deve salvar os dados de uma unidade imediatamente ao ver o primeiro erro. Seja cauteloso porque toda vez que uma unidade danificada é ligada e pode gerar dados.
Seria melhor se você usasse o Ddrescue para fazer uma cópia do disco que está falhando e, em seguida, tentasse reparar a cópia. Se seus dados são importantes, use a primeira cópia como fonte para fazer uma segunda cópia e tente reparar a segunda cópia. Se algo der errado durante o processo de reparo, ainda terá a primeira cópia como backup.
Se você estiver tentando recuperar uma partição inteira, repare a cópia primeiro com e2fsck ou outra ferramenta apropriada para o tipo de partição que está tentando recuperar, depois monte a cópia reparada em algum lugar e tente recuperar os arquivos dentro dela.
Se a tabela de partição estiver danificada, salve o disco inteiro antes de reparar a tabela de partição e as partições na cópia. E se a unidade danificada não estiver listada em /dev, ela não poderá ser recuperada. Não com o ddrescue, pelo menos.
Exemplo 1: Resgate totalmente automático de um disco inteiro com duas partições ext2 em /dev/sda para /dev/sdb. Você não é obrigado a particionar /dev/sdb antecipadamente, mas se a tabela de partições em /dev/sda estiver danificada, você deve recriá-la em /dev/sdb.
ddrescue -f -r3 /dev/sda /dev/sdb mapfile
fdisk /dev/sdb
e2fsck -v -f /dev/sdb1
e2fsck -v -f /dev/sdb2
Exemplo 2: Mova uma partição ext2 de /dev/sda2 para /dev/sdb2. Você deve primeiro usar o fdisk para criar a partição sdb2 com o tipo e tamanho adequados.
ddrescue -f -n /dev/sda2 /dev/sdb2 mapfile
ddrescue -d -f -r3 /dev/sda2 /dev/sdb2 mapfile
e2fsck -v -f /dev/sdb2
mount -t ext2 -o ro /dev/sdb2 /mnt (ler arquivos resgatados de /mnt)
Exemplo 3: Ao tentar resgatar toda a unidade /dev/sda para /dev/sdb, /dev/sda trava na posição 12345678.
ddrescue -f /dev/sda /dev/sdb mapfile # /dev/sda trava aqui
(reinicie /dev/sda ou reinicie o computador)
(reinicie a cópia a uma distância segura do setor problemático)
ddrescue -f -i 12350000 /dev/sda /dev/sdb mapfile
(depois copie de trás para frente para o setor problemático)
ddrescue -f -R /dev/sda /dev/sdb mapfile
Exemplo 4: Ao transferir dados de /dev/sda para /dev/sdb, /dev/sdb falha e você deve transferir dados para uma terceira unidade, /dev/sdc.
ddrescue -f -n /dev/sda /dev/sdb mapfile1 # /dev/sdb falha aqui
ddrescue -f -m mapfile1 /dev/sdb /dev/sdc mapfile2
ddrescue -f -n /dev/sda /dev/sdc mapfile2
ddrescue -d -f -r3 /dev/sda /dev/sdc mapfile2
Exemplo 5: Ao resgatar uma partição em /dev/sda1 para o arquivo hdimage, /dev/sda1 para de responder e começa a responder erros de leitura, permitindo que o ddrescue registre o restante da partição como não violada.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 falha aqui
(reinicie /dev/sda ou reinicie o computador)
ddrescue -n -A -i<pos> -O /dev/sda1 hdimage mapfile
(se /dev/sda1 falhar novamente, reinicie /dev/sda ou reinicie o computador e
depois repita o comando acima tantas vezes quantas forem necessárias até
obter sucesso. <pos> é a posição onde a unidade parou de responder)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Exemplo 6: Após resgatar uma partição de /dev/sda1 para o arquivo hdimage, sda1 desaparece de /dev.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 falha aqui
(reinicie /dev/sda ou reinicie o computador e depois repita o
comando acima tantas vezes quantas forem necessárias)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Exemplo 7: Ao resgatar uma partição de /dev/sda1 para o arquivo hdimage, a tabela de partições de /dev/sda torna-se ilegível e o sistema operacional não reconhece mais sda1 em /dev. A solução é mover o arquivo de mapa e ler a partição restante sda1 de /dev/sda. Você deve saber o deslocamento da partição sda1 na unidade sda e o tamanho de sda1.
ddrescue /dev/sda1 hdimage mapfile # a tabela de partição falha aqui
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue -i<offset> -o0 -s<size> /dev/sda hdimage shifted_mapfile
Exemplo 8: Depois de salvar uma partição em /dev/sda1 no arquivo hdimage, expanda hdimage para copiar a unidade inteira em /dev/sda sem copiar novamente a partição copiada anteriormente /dev/sda1. A solução é renomear o arquivo de mapa, copiar os dados de sda1 para seu local final em hdimage e ler os dados restantes de /dev/sda. Você deve saber o deslocamento da partição sda1 na unidade sda e o tamanho de sda1.
ddrescue /dev/sda1 hdimage mapfile # resgate a partição
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue --same-file -o<offset> -s<size> --reverse hdimage hdimage
ddrescue /dev/sda hdimage shifted_mapfile # resgate o restante da unidade
Parte 5. Usando o Ddrescue para recuperar dados no Ubuntu - guia completo
Passo 1. Abra um terminal de linha de comando e identifique o endereço do dispositivo para o disco rígido ou partição que deseja clonar. Você pode fazer isso com ferramentas como lsblk, fdisk, etc.
$ lsblk
Passo 2. A partição será então copiada para um arquivo de imagem usando a seguinte sintaxe de comando. No exemplo abaixo, estamos usando /dev/sdX, mas você pode substituí-lo facilmente por sua partição ou dispositivo. O conteúdo será salvo em um arquivo backup.img.
$ sudo ddrescue -d /dev/sdX backup.img backup.logfile
Observação: A opção -d instrui o ddrescue a ignorar o cache do kernel e, em vez disso, acessar o disco diretamente.
Passo 3. Se você tentar recuperar dados de um disco corrompido, adicione a opção -r após a primeira tentativa descrita acima. Ele diz ao ddrescue para tentar novamente os setores defeituosos para recuperar o máximo de dados possível. Após a opção, você pode especificar o número de tentativas.
$ sudo ddrescue -d -r3 /dev/sdX backup.img backup.logfile
Passo 4. O novo arquivo de imagem será copiado para um disco ou partição diferente. Para isso, podemos usar o comando dd.
$ sudo dd if=backup.img of=/dev/sdX
Alternativamente, use o comando ddrescue.
$ sudo ddrescue -f backup.img /dev/sdX clone.logfile
A opção -f indica que nossa saída está sendo enviada para um dispositivo de bloco em vez de um arquivo.
Passo 5. Se você quiser clonar um disco ou partição diretamente para outro sem usar um arquivo de imagem, use a seguinte sintaxe. Neste exemplo, estamos clonando a partição /dev/sdX1 para /dev/sdX2.
$ sudo ddrescue -d -f /dev/sdX1 /dev/sdX2 clone.logfile
Depois de concluir os passos anteriores, você poderá acessar o armazenamento clonado e ver todos os seus arquivos, pois o ddrescue os recuperou com sucesso.
Parte 6. Removendo/desinstalando o Ddresuce do Ubuntu
Depois de recuperar seus dados no Ubuntu usando o Ddrescue, você pode desinstalá-lo para liberar espaço. Veja como desinstalar o ddrescue do Ubuntu 12.04 LTS. Usando o comando apt, você pode desinstalar facilmente este pacote do sistema operacional Linux.
Passo 1. O seguinte comando pode ser executado para remover o ddrescue:
sudo apt-get remove ddrescue
Passo 2. Para remover o pacote ddrescue e suas dependências, use o seguinte comando:
sudo apt-get remove --auto-remove ddrescue
A execução desse comando desinstalará o ddrescue e todas as suas dependências, que não são mais necessárias no sistema.
Remova completamente o ddrescue e todos os arquivos de configuração:
Passo 3. Como ele exclui todos os arquivos e dados de configuração, o seguinte comando deve ser usado com cuidado:
sudo apt-get purge ddrescue
Passo 4. Como alternativa, execute este comando para excluir todos os arquivos de configuração e dados associados ao pacote ddrescue. Você não pode recuperar os dados excluídos, então use este comando com cuidado.
sudo apt-get purge --auto-remove ddrescue
Parte 7. [Opcional] Instalando o Recoverit - uma ferramenta GUI para recuperação de dados do Linux
Usar o GNU ddrescue para Linux pode ser um pouco complicado para usuários com pouco conhecimento da linha de comando; felizmente, existe uma ótima alternativa – Wondershare Recoverit para Recuperação de Dados do Linux. É uma solução de recuperação de dados para sistemas operacionais Linux com interface gráfica. Você pode usá-lo para recuperar arquivos excluídos ou perdidos de dispositivos Linux com apenas alguns cliques.
Wondershare Recoverit - seu software de recuperação do Linux seguro e confiável
Mais de 5.481.435 de pessoas já baixaram.
Recupera documentos, fotos, vídeos, músicas, e-mails e outros mais de 1.000 tipos de arquivos perdidos ou excluídos de forma eficaz, segura e completa.
Compatível com todas as principais distribuições do Linux, incluindo Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.
Auxilia em mais de 500 cenários de perda de dados, como exclusão, formatação de disco, travamento do sistema operacional, queda de energia, ataque de vírus, partição perdida e muito mais.
A interface simples permite recuperar dados de discos rígidos do Linux com apenas alguns cliques.
Funciona através de uma conexão remota. Você pode recuperar dados perdidos mesmo quando seu dispositivo Linux travar.
Aqui está um guia passo a passo para usar o Wondershare Recoverit Linux Recovery para executar a recuperação de dados para que você possa recuperar seus arquivos importantes o mais rápido possível.
Passo 1. Selecione a recuperação do Linux
Instale o Wondershare Recoverit depois de baixá-lo. Em seguida, abra e selecione NAS e Linux como a primeira opção, seguido de Recuperação do Linux.
Passo 2. Conecte-se a um dispositivo Linux remotamente
Preencha os campos necessários para estabelecer uma conexão remota. Quando terminar, pressione o botão Conectar. Depois disso, o Recoverit executará uma pesquisa automatizada de arquivos ausentes.
Passo 3. Recuperação de arquivos e salvamento de dados
A quantidade de dados digitalizados determina a duração do processo de digitalização, que pode ser vista na barra inferior. Você pode parar de pesquisar quando encontrar o arquivo que deseja recuperar.
Após a verificação, você pode examinar os arquivos para garantir que contenham os dados que deseja recuperar. Em seguida, escolha Recuperar.
Seguindo as instruções do software, você pode salvar os arquivos recuperados. Clique em Recuperar para obter os dados restaurados. Selecione um local diferente daquele onde o arquivo foi perdido.
Para Windows XP/Vista/7/8/10/11
Para macOS X 10.10 - macOS 13
Conclusão:
Este tutorial apresenta o GNU ddrescue para Linux. Além disso, você aprenderá como instalar a ferramenta GNU ddrescue em todas as principais distribuições Linux e usá-la para recuperação. E também fornecemos a melhor alternativa ao GNU ddrescue, que é o Wondershare Recoverit Linux Recovery para operações de recuperação mais fáceis e menos complicadas.