MAL - Memória Auxiliar do Lutieri

quarta-feira, fevereiro 07, 2007

Backup da MBR

Apresento-lhes a Estrutura do Master Boot Record(MBR):


Gerenciador de boot(grub, lilo...)
Master Partition Table Assinatura
446 bytes 16 bytes 16 bytes 16 bytes 16 bytes 2 bytes


Ta aí o motivo pelo qual não podemos ter mais do que 4 partições primárias em um disco. Mas isso não é interessante agora....

Tanto o gerenciador de boot quanto a tabela de particionamento do HD são salvos no primeiro setor do HD, a famosa trilha MBR, que contém apenas 512 bytes. Destes, 446 bytes são reservados para o setor de boot, enquanto os outros 66 bytes guardam a tabela de partição.

Caso qualquer 1 dos 66 bytes da tabela de particionamento sejam subscritos ou danificados, você perde acesso a todas as partições do HD. O HD fica parecendo vazio, como se tivesse sido completamente apagado. Mas os dados continuam lá no HD.

Eu fiz um teste da seguinte maneira: Com o cfdisk apaguei a única partição que existia no disco. Salvei, sai, desliguei a máquina, religuei entrei novamente no cfdisk e recriei a partição ocupando todo o disco novamente. E tcharã!!! tudo estava como antes.... todos os arquivos e pastas no seu devido lugar =D

Hora do backup:

Você pode fazer um backup da trilha MBR do HD. Assim você vai poder recuperar tudo caso ocorra qualquer eventualidade. Para isso, use o comando:

# dd if=/dev/hda of=backup.mbr bs=512 count=1

O comando acima vai fazer uma cópia dos primeiros 512 bytes do "/dev/hda" no arquivo "backup.mbr".

execute também um dump das partições com sfdisk:

# sfdisk -d /dev/hda > backup.sf



Nos dois exemplos acima estou supondo que o disco a ser feito o backup seja o 1º disco do 1º canal IDE. Mude de acordo com o seu caso. Se não sabe qual é nem deveria tá mexendo com partição ;-)


Hora do restore:

Para restaurar um backup feito com o dd use:

# dd if=backup.mbr of=/dev/hda

Para restaurar um backup feito com o sfdisk use:

# sfdisk --force /dev/hdb < backup.sf


Que fique bem claro: o comand dd faz o backup de toda a trilha mbr do HD. Ele pega tanto o gerenciador de boot quanto a tabela de partições. Já o comando sfdisk faz um backup só da tabela de partições.

Lembre-se que o backup vai armazenar a tabela de particionamento atual. Sempre que você reparticionar o HD, não se esqueça de atualizar o backup.

Apartir daqui está descrita uma informação que eu achei importante mas nunca testei. Não me responsabilizo por nada -)



Caso o pior aconteça, a tabela de particionamento seja perdida e você não tenha backup, ainda existe uma esperança. O gpart é capaz de recuperar a tabela de partição e salvá-la de volta no HD na maioria dos casos. Você pode executá-lo dando boot pelo CD do Kurumin.

Você pode baixá-lo no: http://www.stud.uni-hannover.de/user/76201/gpart/#download

Baixe o "gpart.linux" que é o programa já compilado. Basta marcar a permissão de execução para ele:

# chmod +x gpart.linux


No Kurumin você pode instala-lo pelo apt-get: apt-get install gpart

Execute o programa indicando o HD que deve ser analisado:

# ./gpart.linux /dev/hda


(ou simplesmente "gpart /dev/hda" se você tiver instalado pelo apt-get)

O teste demora um pouco, pois ele precisará 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)-(17579/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


Veja que é preciso indicar o HD duas vezes. Na primeira você indica o HD que será vasculhado e em seguida em qual HD o resultado será salvo. Em caso especiais, onde você tenha dois HDs iguais por exemplo, você pode gravar num segundo HD, com em: "gpart -W /dev/hda /dev/hdc"

O gpart não é muito eficiente em localizar partições extendidas (hda5, hda6, etc.) em boa parte dos casos ele só vai conseguir identificar as partições primárias (hda1, hda2, hda3 e hda4). Nestes casos, você pode usar o cfdisk ou 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 uma começa, você conseguirá acessar os dados depois.


créditos: Por Carlos E. Morimoto
Fonte: http://www.dicas-l.com.br

Novamente eu peguei esse texto na net e fiz algumas modificações que tornam o entendimente mais simples.


Arrivederci!

0 Comentários:

Postar um comentário

<< Home



Chat with Lutieri G. B.

Subscribe in a reader