segunda-feira, 20 de outubro de 2008

Don't Panic! Perda de partição? Use TestDisk

Esse é mais um post não relacionado com Química. No entanto, é sobre um programa que salvou meu trabalho relacionado com Química. A história é a seguinte em dois modos: short (direta ao assunto) e verbose (para os que gostam de historinhas).

História modo short

Descrição do problema: Notebook Positivo V21 com Linux Ubuntu 8.04. Sistema operacional não inicializa e aparece a seguinte mensagem logo após as mensagens da BIOS: "Operating system not found".

Análise do problema: O disco rígido é detectado pela BIOS. Usando um CD bootável de uma distribuição Linux, no caso um Ubuntu Linux, foi detectado que não há partições válidas no disco.

Solução:
1. Inicialize o computador usando um CD bootável de uma distribuição Linux de sua escolha. No caso foi usado um Ubuntu Linux versão 8.04.1, que contém um kernel versão 2.6.

2. Baixe o programa TestDisk e salve-o em um pendrive. Esse programa permite a recuperação de partições apagadas. Foi baixada a versão para Linux, kernel 2.6.x i386/x86_64, tar.bz2. Sugiro que leia a documentação para que entenda como ele funciona e seus parâmetros solicitados durante o processo de recupareção.

3. Copie para o Desktop do seu comptador rodando o Linux bootável. Abra um terminal e descompacte o arquivo e execute o testdisk usando os comandos:

$ tar jxvf testdisk-6.10.linux26.tar.bz2
$ cd testdisk-6.10/linux/
$ sudo ./testdisk_static

4. Siga os passos para ele encontrar as partições e sendo encontradas solicite para que escreva.

5. Reincialize o sistema. Se tudo correr bem você não verá mais a mensagem de "Operating system not found" e sim a mensagem "1234F". O sistema ainda não é bootável porque o MRB foi reescrito. Para recuperar o MRB siga as instruções de recuperação do grub nesse documento: Recovering Ubuntu after installing Windows. Após isso o sistema será reinicializável.

História modo verbose

Ontem eu passei a tarde (das 2pm até as 10pm) escrevendo um programa para controlar um robô (para os curiosos, é um programa em Python com a interface gráfica editada no Glade). Foi difícil por que o programa está bem complexo e passei o dia inteiro com uma dor de cabeça. Então, parei para jantar e tomar banho.

Já havia desligado tudo quando resolvi ligar meu notebook novamente. Liguei-o e fui tomar banho. Ao retornar, vejo a mensage:

Operating system not found.

Hmmm.... o que é isso? Reiniciei... Mesma coisa. Entrei na bios e verifiquei que o hd está detectado. Menos ruim. Provavelmente um problema no MRB, onde está instalado o GRUB, responsável pela seleção de boot do sistema operacional. Detalhe: minha máquina só Linux (Ubuntu). Para aumentar a tensão, estava sem nenhum CD de boot do Ubuntu. Portanto, teria que esperar até o dia seguinte para baixar uma nova imagem e fazer um teste.

Bem... pessoas normais estariam em desespero. O ponto é se eu tivesse que perder meus dados, não poderia fazer nada. Há sempre algo que se possa fazer. O que realmente importa é tentar. Então... Don't Panic... Don't Panic...

Tive uma noite de sono maravilhosa, acordei descansado, a cabeça leve sem aquela irritante dor de cabeça do lado direito. Chegando na UTSA, comprei meu café sabor vanila no Einstein Bros, adoçado com açúcar e mel, e um muffin de abóbora (tem abóboras por toda parte por conta do Haloween) e fui para o lab.

Ok... Fiz o dowload de uma imagem do Ubuntu, queimei e bootei. Ao tentar acessar as partições o sistema operacional me informa que não há partições válidas.

Hmmm..... hmmm..... Don't panic.

Pesquisa na net, pelo Google, descubro um programa que promete resolver todos os seus problemas: TestDisk. É um programa livre, GPL, usado para recuperar partições apagadas/perdidas e recuperar o boot do sistema. Roda em tudo quanto é sistema operacional, reconhece tudo quanto é partição e está muito bem documentado. Awesome!

Copiei a versão para Linux kernel 2.6 em um pendrive e espetei no meu notebook já bootado com o Ubuntu Linux. Executei o programa e segui o procedimento. Detalhe: no meu caso, um notebook tip IBM-PC, a partição é do tipo Intel.

Pedi para ele encontrar as partições e ele encontrou! Reescrevi e reiniciei o sistema. Ele não bootou. Don't panic. Nesse caso ele mostrou a mensagem 1234F. Isso é um bom sinal por indicar a presença de partições. Ele está pedindo para dizer qual é a partição bootável. Selecionei 2 mas não aconteceu nada. Claro. O Grub foi apagado!

Voltei o boot pelo CD, segui os passos de recuperação do grub quando ele é apagado.

Recovering Ubuntu after installing Windows

Após a recuperação, reiniciei novamente e o sistema operacional retornou. \o///

Moral da história: Don't panic! As coisas por pior que pareçam sempre tem uma solução (que pode ser aquela que não esperamos). Mas nesse caso deu tudo certo. Não iria valer de nada eu me desesperar.

Estou muito grato por esse grupo de desenvolvedores que fizeram esse projeto. Estou tentando fazer minhas contribuições para fazer esse mundo ser um pouco melhor. E você? O que tem feito para fazer esse mundo ser melhor? Tente contribuir da sua forma.

Arquivo do blog