Se, por outro lado, os dados foram apagados mas o HD continua funcionando perfeitamente, é quase sempre possível recuperar utilizando os softwares adequados. Desde que os arquivos deletados ainda não tenham sido sobrescritos por outros, você vai conseguir recuperá-los em mais de 90% dos casos.
O primeiro passo ao perceber que os arquivos foram deletados ou que o HD foi acidentalmente formatado é desligar o micro imediatamente, reduzindo as chances de que novos arquivos sejam gravados sobre os antigos. Quanto menos tempo o micro permanecer ligado, maior as chances de recuperar os dados.
O próximo passo é fazer uma imagem binária do HD. Uma imagem binária é uma cópia bit a bit do HD, incluindo o conteúdo da trilha MBR, a tabela de partições e todos os dados. A imagem binária permite que o conteúdo do HD (incluindo os arquivos deletados) sejam restaurados posteriormente. Ela é um “seguro” que permite retornar ao estágio original depois de qualquer tentativa malfadada.
Uma das ferramentas mais simples e mais eficazes para fazer isso é o “dd“, um pequeno utilitário padrão do Linux, disponível em qualquer distribuição.
Para usá-lo, instale um segundo HD, maior que o primeiro, onde será guardada a cópia. A imagem binária possui sempre exatamente o mesmo tamanho do HD, de forma que um HD de 80 GB, resultará em uma imagem de também 80 GB, mesmo que ele possua apenas 5 GB ocupados. A ideia da imagem binária é salvar não apenas os arquivos que o sistema “vê”, mas sim todos os dados armazenados nos discos magnéticos, incluindo seus arquivos deletados.
Em seguida, dê boot usando uma distribuição Linux live-CD com que tenha familiaridade, como o Ubuntu, Knoppix, Kanotix, Sidux ou outro. Depois de terminado o boot, abra uma janela de terminal e logue-se como root. Na maioria dos live-CDs, você pode fazer isso digitando simplesmente:
$ sudo su
Em outros, você encontrará um link para abrir um terminal como root em algum lugar do menu.
Chame agora o “gparted“, rodando o comando no terminal. Use-o para ver como o sistema detectou seus HDs e assim ter certeza de qual é o dispositivo referente ao HD de origem e qual é o do HD de destino. Por padrão, os HDs são detectados como:
- Master da IDE primária:
/dev/hda - Slave da IDE primária:
/dev/hdb - Master da IDE secundária:
/dev/hdc - Slave da IDE secundária:
/dev/hdd
- Primeiro HD SATA:
/dev/sda - Segundo HD SATA:
/dev/sdb - Terceiro HD SATA:
/dev/sdc - Quarto HD SATA:
/dev/sdd
Dentro de cada HD, as partições primárias são numeradas de 1 a 4 e as estendidas de 5 em diante. A primeira partição do primeiro HD SATA, por exemplo, seria vista pelo sistema como “/dev/sda1“.
Depois de identificados os HDs, o primeiro passo é montar a partição do HD maior, onde será armazenada a imagem. Como disse, esta partição deve ter um volume de espaço livre equivalente ou superior ao tamanho do HD onde estão os dados a se recuperar.
Se o HD destino é o “/dev/sdb” e você vai salvar a imagem na primeira partição primária, então os comandos para montá-la seriam:
# mkdir /mnt/sdb1 # mount /dev/sdb1 /mnt/sdb1
Você deve montar apenas o HD destino. O HD de origem permanece desmontado, pois o sistema se limitará a fazer uma cópia de baixo nível, sem tentar entender os dados gravados.
Para gerar a imagem do HD “/dev/sda”, salvando-a no arquivo “sda.img”, dentro da partição que acabamos de montar, o comando seria:
# dd if=/dev/sda of=/mnt/sdb1/sda.img
A cópia binária é sempre demorada. Se a transferência de dados entre os dois HDs ficar em média a 30 MB/s, por exemplo, a cópia de um HD de 80 GB demoraria pouco mais de 45 minutos. Infelizmente o dd não exibe um indicador de progresso, por isso o melhor a fazer é deixar o micro fazendo seu trabalho e ir se preocupar com outra coisa.
Outra opção é fazer a cópia diretamente para o segundo HD. Esta segunda opção é até preferível, pois você pode fazer todo o processo de recuperação diretamente no segundo HD (com a cópia), sem sequer precisar se arriscar a mexer no HD original. O segundo HD não precisa ser idêntico ao primeiro, nem possuir exatamente a mesma capacidade. A única regra é que ele seja do mesmo tamanho ou maior que o primeiro.
Neste caso, você indica diretamente os dois dispositivos no comando do dd, com ambos desmontados. Para criar uma cópia do /dev/sda, no /dev/sdb (apagando todo o conteúdo do disco de destino), o comando seria:
# dd if=/dev/sda of=/dev/sdb
Este mesmo comando pode ser usado para clonar HDs, em casos onde você precisa instalar o sistema em vários micros iguais. Existem formas mais rápidas de fazer isso, usando programas como o Partimage, mas o dd também funciona.