Académique Documents
Professionnel Documents
Culture Documents
Publicado em 06/02/2009 – 20:16
por Carlos Morimoto
Além de funcionar como um liveCD, permitindo testar o sistema antes de instalar, o Ubuntu
Desktop inclui também o suporte ao AUFS (o sucessor do UnionFS), que permite instalar
programas. Como comentei no primeiro capítulo, o AUFS combina os arquivos do CDROM com
um ramdisk, que é usado para guardar as modificações. Com isso, você pode baixar arquivos,
instalar programas usando o aptget, ou até mesmo compilar programas, com o sistema rodando a
partir do CDROM.
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 aptget 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 liveCD 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 em casos em que precisa preparar 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 dualboot, 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 liveCD, 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, você pode resetar a senha de root através do liveCD
montando a partição onde o sistema está instalado e abrindo um chroot, que permite executar
comandos dentro da partição:
$ 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. A principal
limitação deste terminal de recuperação é que não é possível rodar ferramentas gráficas.
Recuperar arquivos na partição do Windows: O uso de liveCDs 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 liveCD, 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 NTFS3G, 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 liveCD 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/disk1/home /media/disk2/
Você pode gerar também um arquivo compactado usando o tar, como em:
$ sudo tar zcvf /media/disk2/backuphome.tar.gz /media/disk1/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 aptget. Como ele faz parte do
repositório Universe (que fica desabilitado por padrão no modo liveCD), é 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/ intrepid universe
A partir daí, você pode instalálo da maneira tradicional:
$ sudo aptget update; sudo aptget 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 liveCD é 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 queria 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/mbrsda.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/mbrsda.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/mbrsda.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 Linux Ferramentas Técnicas, que está disponível online:
http://www.gdhpress.com.br/ferramentas/leia/index.php?p=cap238
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
liveCD, 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 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 a 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 liveCD 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 989d9fd591bc49949af002720a46f443 /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 liveCD 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 aptget. No Ubuntu, os dois
fazem parte do pacote "testdisk":
$ sudo aptget update; sudo aptget 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.