Live-CD do Ubuntu como sistema de recuperação

Além de funcionar como um live-CD, o que permite testar o sistema antes de instalar, o Ubuntu Desktop inclui também o suporte ao AUFS (o sucessor do UnionFS), que permite instalar programas. O AUFS combina os arquivos do CD-ROM com um ramdisk, que é usado para guardar as modificações. Com isso, você pode baixar arquivos, instalar programas usando o apt-get, ou até mesmo compilar programas, com o sistema rodando a partir do CD-ROM.

Embora o Ubuntu não venha com muitas ferramentas de diagnóstico e recuperação pré-instaladas, você pode simplesmente configurar a rede e usar o apt-get para instalar os programas desejados. Com isso, você pode utilizar o sistema para recuperar arquivos em instalações danificadas do Windows (ou de outras distribuições Linux), fazer backup de partições usando o partimage, clonar HDs, regravar o grub, resetar a senha de root e assim por diante, tarefas que eram popularmente executadas usando distribuições live-CD especializadas.

Vamos então a uma lista mais detalhada das tarefas que você pode executar usando um simples CD do Ubuntu:

Particionamento: As versões recentes do Ubuntu trazem o Gparted pré-instalado, disponível através do “Sistema > Administração > Editor de partições”. Ele permite que você use o CD do Ubuntu para particionar o HD para a instalação de outros sistemas, redimensionar partições do Windows e assim por diante.

Regravar o grub: Acontece nas melhores famílias. Ao reinstalar o Windows, originalmente instalado em dual-boot, ele subscreve a MBR, removendo o lilo e fazendo com que a instalação do Linux na outra partição fique indisponível. Nesses casos, a solução é regravar o grub, fazendo com que ele volte à sua posição de direito.

Como o Ubuntu inclui os executáveis do grub mesmo ao rodar em modo live-CD, a configuração é bastante simples. Comece abrindo o prompt do grub, usando o sudo:

$ sudo grub

Dentro do prompt, use os comandos “root” e “setup”, que fazem a gravação na MBR. O primeiro comando especifica a partição onde o sistema está instalado e o segundo especifica o HD, seguindo a nomenclatura do grub. Se o Windows está instalado na primeira partição e a distribuição Linux na segunda, os comandos seriam:

root (hd0,1)
setup (hd0)

Isso regrava o grub, mantendo a mesma configuração usada anteriormente. Em muitos casos, você precisará fazer pequenos ajustes, incluindo a opção de inicializar o Windows, por exemplo. Nesses casos, você precisa apenas montar a partição de instalação do sistema e editar o arquivo “/boot/grub/menu.lst” dentro dela, como em:

$ sudo mkdir /mnt/sda2
$ sudo mount /dev/sda2 /mnt/sda2
$ sudo gedit /mnt/sda2/boot/grub/menu.lst

Resetar a senha de root: Esquecer a senha de root e ficar sem acesso ao sistema é outro caso clássico. Felizmente, este é um problema muito simples de resolver. A menos que você tenha encriptado a partição de instalação do sistema, pode resetar a senha de root através do live-CD, montando a partição onde o sistema está instalado e abrindo um chroot (que permite executar comandos dentro da partição), como em:

$ sudo mkdir /mnt/sda1
$ sudo mount /dev/sda1 /mnt/sda1
$ sudo chroot /mnt/sda1

Com isso, você obtém um prompt de root do sistema instalado dentro da partição, que pode usar para substituir a senha de root usando o comando “passwd”:

# passwd

Como você já está logado como root dentro do terminal, ele simplesmente pedirá a nova senha, sem solicitar a anterior. O mesmo pode ser feito para trocar a senha de qualquer usuário do sistema, como em “passwd gdh”.

O chroot pode ser usado para executar também outros comandos de recuperação. Se o PC foi desligado no meio de um “apt-get upgrade” e agora a inicialização para em algum ponto, resultado da atualização feita pela metade, você pode usar o chroot para terminar o processo:

# dpkg --configure -a
# apt-get upgrade

A principal limitação deste prompt de recuperação é que não é possível rodar ferramentas gráficas, já que o sistema dentro do chroot não tem acesso ao X. É possível exportar a tela, mas isso só funciona bem quando as duas distribuições (dentro e fora do chroot) usam versões similares do X.

Recuperar arquivos na partição do Windows: O uso de live-CDs de distribuições Linux para recuperar arquivos em partições do Windows não é nada novo. Em 2003 já se fazia isso em larga escala usando CDs do Knoppix. Basicamente, basta dar boot usando o live-CD, acessar a partição e copiar os arquivos desejados para um HD externo (ou qualquer outro dispositivo de armazenamento removível) ou para um compartilhamento de rede.

Com a inclusão do NTFS-3G, novas possibilidades foram abertas, já que você pode também substituir arquivos dentro da partição. Isso permite que você tente recuperar a partição substituindo arquivos de sistema, repare configurações manualmente, entre outras possibilidades.

Recuperar configurações em uma instalação Linux: Outro caso comum é o uso do live-CD para recuperação de arquivos dentro de uma instalação Linux, para que você possa reinstalar o sistema. Se você precisa apenas de alguns arquivos específicos, a maneira mais simples de copiá-los é simplesmente acessar a partição usando o ícone no desktop e copiar usando o próprio gerenciador de arquivos.

Como o sistema respeita as permissões de acesso dos arquivos dentro da partição, você vai precisar abrir uma instância do nautilus como root para ter acesso completo. Para isso, basta usar o sudo:

$ sudo nautilus

Se, por outro lado, você precisa fazer uma cópia completa do diretório home (incluindo todas as configurações), o melhor é usar o comando “cp -a” (como root), que faz uma cópia exata, mantendo todas as permissões de acesso e incluindo todos os arquivos ocultos e as subpastas, como em:

$ sudo cp -a /media/disk-1/home /media/disk-2/

Você pode gerar também um arquivo compactado usando o tar, como nesse exemplo, onde o backup da partição montada na pasta “/media/disk-1/home” é salvo no arquivo “/media/disk-2/backup-home.tar.gz”:

$ sudo tar -zcvf /media/disk-2/backup-home.tar.gz /media/disk-1/home

Backup e restauração de partições: O Ubuntu pode ser usado também para fazer backup de partições no HD usando o Partimage, que você pode instalar via apt-get. Como ele faz parte do repositório Universe (que fica desabilitado por padrão no modo live-CD), é necessário editar o arquivo “/etc/apt/sources.list”:

$ sudo gedit /etc/apt/sources.list

… e ativar o repositório descomentando a linha:

deb http://archive.ubuntu.com/ubuntu/ jaunty universe

A partir daí, você pode instalá-lo da maneira tradicional:

$ sudo apt-get update 
$ sudo apt-get install partimage

Se você acompanhou meus livros anteriores, o Partimage é um velho conhecido, que indico desde a época do Kurumin. Ele permite criar cópias do conteúdo das partições do HD, gerando imagens que podem ser restauradas posteriormente. Como ele copia apenas os dados dentro da partição (diferente de ferramentas como o dd, que fazem uma cópia bit a bit) e salva tudo em um formato compactado, as imagens geradas são relativamente pequenas, facilitando a cópia em pendrives e compartilhamentos de rede.

A vantagem de utilizá-lo rodando o sistema a partir de um live-CD é que todas as partições do HD ficam desmontadas, permitindo que você faça os backups livremente.

Em resumo, você deve montar a partição (ou o compartilhamento de rede) de destino, onde as imagens serão salvas e, dentro do Partimage, indicar a partição da qual será feito o backup e o arquivo de destino (ou seja, o arquivo dentro da pasta onde foi montada a partição ou o compartilhamento, onde a imagem será salva):

Para restaurar, basta inverter o processo, indicando o arquivo como origem e a partição como destino, usando a opção “Restaurar a partir de um ficheiro de imagem” em vez da “Guardar num novo ficheiro de imagem”. Como o Partimage precisa de acesso completo às partições, é necessário sempre executá-lo como root:

$ sudo partimage

Caso queira fazer um backup completo do HD, que possa ser restaurado em um HD limpo, é necessário fazer também um backup do MBR, onde é armazenada a tabela de partições. Isso pode ser feito usando o dd, como em:

$ sudo dd if=/dev/sda of=/mnt/backup/mbr-sda.img bs=512 count=1

Como de praxe, o “/dev/sda” especifica o device do HD (é preciso indicar diretamente o dispositivo e não a partição), o “/mnt/backup/mbr-sda.img” indica o arquivo onde a cópia será salva (salve de preferência no mesmo diretório das imagens das partições), enquanto o “bs=512 count=1” serve para limitar a cópia aos primeiros 512 bytes da partição.

Na hora de restaurar, você usaria novamente o dd, especificando o arquivo como origem e o device do novo HD como destino:

$ sudo dd if=/mnt/backup/mbr-sda.img of=/dev/sdb

Mais uma vez, devo enfatizar que é necessário muito cuidado ao usar o dd, já que um parâmetro errado pode facilmente fazer com que ele destrua os dados de seu HD de trabalho.

Este é apenas um resumo rápido do uso do Partimage, você pode ler mais detalhes sobre ele no capítulo 2 do livro Linux, Ferramentas Técnicas, que está disponível na página da GDH Press: https://www.hardware.com.br/livros/ferramentas-linux/clonando-particoes-com-partimage.html

Clonagem de HDs: O CD do Ubuntu pode ser usado também para clonar HDs de forma fácil, novamente usando o dd. Tudo o que você precisa fazer é instalar o segundo HD, dar boot usando o live-CD, verificar os devices que foram atribuídos aos dos HDs pelo sistema (você pode usar o Gparted, por exemplo) e usar o dd para fazer uma cópia direta de todos os dados, como em:

$ sudo dd if=/dev/sda of=/dev/sdb

Nesse caso, estamos fazendo uma cópia binária de todos os dados do “/dev/sda” para o “/dev/sdb”. Como pode imaginar, o segundo HD deve ter uma capacidade igual ou maior do que o primeiro (a capacidade excedente aparecerá como espaço não particionado), caso contrário você perderá dados e coisas estranhas irão acontecer.

A desvantagem é que a cópia levará várias horas (e o dd não exibirá nenhuma barra de progresso), mas, por outro lado, quem ficará trabalhando será o PC: você pode ir fazer outra coisa e dar apenas uma olhada de vez em quando para ver se a cópia já acabou. Quando a cópia finalmente terminar, o segundo HD conterá uma cópia exata do primeiro e poderá ser usado diretamente no lugar dele.

A vantagem de usar o dd é que ele copiará absolutamente tudo, incluindo o MBR, a tabela de partições, os UUIDs das partições e todos os dados, incluindo até mesmo arquivos deletados que possam ser recuperados usando o Photorec ou outro programa de recuperação. Em outras palavras, o dd é antigo e arcano, mas faz o trabalho.

Se você está em busca de uma alternativa mais moderna, uma boa opção é o Clonezilla (http://clonezilla.org/), um live-CD que inclui diversas ferramentas de cópia e restauração e permite copiar partições ou HDs inteiros de maneira muito prática. Ele possui também uma versão server, que permite fazer as cópias e restaurações através da rede.

Ao fazer a cópia dos arquivos usando outros métodos (usando o comando “cp -a” ou o rsync, por exemplo) você precisará também reinstalar o grub e ajustar os UUIDs das partições do novo HD usando o comando “tune2fs -U”, para que eles utilizem os mesmos UUIDs das partições antigas, como em:

# tune2fs -U 989d9fd5-91bc-4994-9af0-02720a46f443 /dev/sdb1

Isso é necessário por que o Ubuntu referencia as partições no arquivo “/etc/fstab” e no “/boot/grub/menu.lst” pelos UUIDs e não pelos devices. Se os UUIDs das partições mudam, o sistema não consegue mais acessá-las.

É por isso que acaba sendo mais fácil fazer a cópia usando o dd ou o Clonezilla, já que eles são capazes de copiar os UUIDs juntamente com os dados.

Teste de memória: O Ubuntu inclui o bom e velho Memtest86, disponível através da opção “Teste de memória” no boot pelo CD. Ele permite localizar defeitos nos módulos de memória, evitando que você perca tempo tentando instalar em um PC com problemas de hardware.

Ele fica num loop eterno, repetindo os testes e indicando os erros que encontrar até que você se sinta satisfeito. A alma do negócio é ter paciência e deixar ele fazer seu trabalho, concluindo os 8 testes.

Recuperando dados e partições: Você pode também usar o live-CD para recuperar dados ou partições apagados acidentalmente, utilizando o Photorec e o Testdisk.

Assim como no caso do Partimage, eles fazem parte do repositório Universe, que precisa ser ativado dentro do “/etc/apt/sources.list” antes que você possa instalá-los via apt-get. No Ubuntu, os dois fazem parte do pacote “testdisk”:

$ sudo apt-get update; sudo apt-get install testdisk

Apesar do nome, o Photorec é um software de recuperação de uso geral, que permite recuperar arquivos deletados em HDs ou pendrives, desde que eles ainda não tenham sido sobrescritos por outros.

O Testdisk, por sua vez, permite recuperar partições deletadas, salvando o dia em casos em que o HD perde a tabela de particionamento por defeitos (ou pela ação de vírus ou outros softwares nocivos), ou em casos em que você se embanana no particionamento. Ambos podem ser usados para recuperar tanto arquivos e partições Linux quanto dados e partições do Windows.

Você pode ler mais sobre o uso dos dois no capítulo 6 do livro Hardware, o Guia Definitivo:
https://www.hardware.com.br/livros/hardware/recuperado-mbr-tabela-particoes.html

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X