Recuperando a MBR através de backup
Caso algum dia a tabela de particionamento lhe deixe na mão, você pode dar o boot com o CD do
Kurumin e regravar o backup com o comando:
# dd if=backup.mbr of=/dev/hda
Neste caso, é extremamente importante que sempre que você reparticionar o HD, atualize o arquivo de backup.
Recuperando a MBR sem backup
Caso a tabela de particionamento seja perdida e você não possua um backup, pode ainda haver uma luz no fim do túnel. O
gpart é capaz de recuperar a tabela de particionamento e salvá-la de volta no HD na maioria dos casos. Você pode executá-lo dando boot pelo CD do Kurumin. Você também pode baixá-lo no site:
Após baixar o
gpart.linux, que é o programa já compilado, é necessário marcar a permissão de execução do mesmo:
# chmod +x gpart.linux
No Kurumin você pode instalá-lo pelo apt-get:
# apt-get install gpart
Execute o programa indicando o HD que deve ser analisado:
# ./gpart.linux /dev/hda
O teste demora um pouco, pois ele lerá o HD inteiro para determinar onde começa e termina cada partição. No final, ele exibe um relatório com o que encontrou:
Primary partition(1)
type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
size: 3145mb #s(6442000) s(63-6442062)
chs: (0/1/1)-(1023/15/63)d (0/1/1)-(6390/14/61)r
Primary partition(2)
type: 131(0x83)(Linux ext2 filesystem)
size: 478mb #s(979964) s(16739730-17719693)
chs: (1023/15/63)-(1023/15/63)d (16606/14/1)-(1579/0/62)r
Primary partition(3)
type: 130(0x82)(Linux swap or Solaris/ x86)
size: 478mb #s(979896) s(17719758-18699653)
chs: (1023/15/63)-(1023/15/63)d (17579/2/1)-(18551/3/57)r
Se as informações estiverem corretas, você pode salvar a tabela no HD usando o parâmetro "-W":
# gpart -W /dev/hda /dev/hda
Como é possível perceber, precisamos indicar o HD duas vezes. Na primeira, indicamos o HD que será vasculhado e em seguida em qual HD o resultado será salvo. Caso você possua dois HDs iguais, é possível salvar o resultado no segundo HD usando o comando:
# gpart -W /dev/hda /dev/hdc
O gpart não tem muita eficiência quando se trata em localizar partições estendidas (hda5, hda6, etc); em boa parte dos casos ele só consegue identificar as partições primárias (hda1, hda2, hda3 e hda4). Nestes casos, podemos usar o cfdisk ou algum outro programa de particionamento para criar manualmente as demais partições (apenas crie as partições e salve, não formate). Se você souber indicar os tamanhos aproximados, principalmente onde cada um começa, você conseguirá acessar os dados depois.
Conclusão
Muitas vezes vemos acontecer com nossos amigos ou com nós mesmos de perder um HD devido a alguma falha na trilha MBR. Na maioria das vezes, sem o usuário saber que poderia ter feito um backup, o HD acaba sendo descartado, o que gera custos na aquisição de um novo HD e na perda de dados muitas vezes importantes.
Espero que este artigo seja de alguma importância para os usuários que querem que seus dados estejam sempre a salvo no caso de alguma eventualidade.
Referência
MORIMOTO, C. E. Linux: ferramentas técnicas. Porto Alegre: Sul Editores, 2005.