"Backupeando" a MBR

Publicado por br_tux em 17/04/2012

[ Hits: 8.433 ]

 


"Backupeando" a MBR



Nesta dica irei explicar sobre uma técnica que pode ser muito útil em casos de problemas com a MBR.

MBR é o acrônimo de Master Boot Record e esta localizada no primeiro setor do HD, ou seja, nos primeiros 512 bytes. Dentro da MBR existem informações da estrutura do HD, como por exemplo partições, gerenciador de boot, código de arranque do sistema operacional, etc...

Como podem ocorrer erros na MBR ou até mesmo ela pode ser sobrescrita durante a instalação de um novo sistema operacional, é uma boa prática que façamos o backup da mesma para corrigir esses problemas.

Para fazer o backup da MBR devemos executar o seguinte comando como root:

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

Linux: 'Backupeando' a MBR

Neste comando foram utilizadas as seguintes opções:
  • if: informa o caminho de seu HD. Ex: Um HD SATA trabalhando como Master terá /dev/sda como caminho.
  • of: especifica o caminho do backup que será gerado. Obs: Você pode colocar em um local de seu agrado.
  • bs: especifica o tamanho do bloco que será copiado.
  • count: informa a quantidade de vezes o valor de bs será copiado.

Para restaurar a MBR devemos executar o comando:

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

Linux: 'Backupeando' a MBR

Neste comando, o if passa a especificar o local do arquivo de backup e o of informa o HD.

Se por um acaso, sua MBR for sobrescrita ou apresente erros que impeçam o carregamento do sistema, não se desespere, existe uma solução. Primeiramente você deve possuir o backup de sua MBR e um Live CD de qualquer distribuição Linux.

1º Passo: Dê o boot no sistema pelo Live CD, quando o sistema carregar, entre no terminal monte a partição do seu Linux e restaure o seu backup como no exemplo abaixo:

sudo mkdir /mnt/sistema
$ sudo mount /dev/sda1 /mnt/sistema
$ sudo dd if=/mnt/sistema/mbr.backup of=/dev/sda


Neste comando utilizamos o sudo para que possamos executar o comando dd sem possuir a senha do root.

Pronto, feito isso a próxima inicialização do sistema ocorrerá com sucesso.

Espero que tenham gostado.

Fui.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Instalando driver da NVIDIA no Zenwalk Linux

Escolhendo a faixa de áudio e legenda nos vídeos em formato OGM

Como configurar o terceiro botão do mouse serial no Slackware

Como remover o LILO do seu Computador

Habilitando o GDM na inicialização do Slackware 10

  

Comentários
[1] Comentário enviado por Miqueloti em 17/04/2012 - 10:45h

Boa dica, o dd já me salvou muitas vezes em 2008 quando trabalhava com suporte em um lab de informática, possuia 40 maquinas com hardware identico e windows xp, fazia backup de todo hd. Quando dava um problema bizarro no windows era só restaurar!!!

Favoritei a dica, irei manter um backup a partir de agora da MBR também!!!

[2] Comentário enviado por danniel-lara em 17/04/2012 - 12:17h

Parabéns pela dica , simples e eficiente

[3] Comentário enviado por removido em 17/04/2012 - 14:06h

Usar dd direto na restauração apaga quaisquer mudanças nas partições

Para restaurar *** apenas e se for o caso *** o setor de boot, usa-se:

dd if=/mnt/sistema/mbr.backup of=/dev/sda count=1 bs=446

Eu nunca me lembro desse número, então eu googlei.

Explicação:

**** 446 + 64 + 2 = 512


* 446 bytes - Bootstrap.
* 64 bytes - Partition table.
* 2 bytes - Signature.

Isso *** se e somente se *** for para restaurar *** apenas *** o boot e não as partições.

[4] Comentário enviado por brn_tux em 17/04/2012 - 15:55h

O Listeiro 037 tem razão, esse comando de restauração que eu coloquei na dica apagará as alterações na tabela de partições, ou seja, se quando você fez o backup da MBR só tinha o Linux instalado no HD, posteriormente você instalou o Windows, a MBR foi sobrescrita e você restaurar a MBR com o comando que eu coloquei, o Windows não vai aparecer na tabela de partições da MBR. Então eu aconselho usar o comando que o Listeiro 037 colocou para restaurar a MBR.

Obrigado pela contribuição Listeiro 037.

[5] Comentário enviado por removido em 17/04/2012 - 16:27h

Mas ele restaura também a estrutura de partições.

Eu tinha uma partição de 20 GB com uma instalação de linux de 200 MB gravada em CD.

Quando eu queria restaurar o conjunto da obra, eu recuperava a MBR integralmente e depois fazia uma loucura com o dd em cima da partição:

dd if=sistema.img.bz2 | bunzip2 -c > /dev/sdax

E para criar o arquivo era o contrário:

dd if=/dev/sdax | bzip2 -c -9 > sistema.img.bz2

dd manda direto pro pipe. bzip2 e bunzip2 com a opção "-c" jogam na saída-padrão. A opção "-9" faz compactação para tamanho menor possível.

Com isso aí não precisava criar a imagem e depois compactar. Nem descompactar e aplicar na partição.

Acho que era isto.

Era mais prático que refazer a instalação, selecionar pacote a pacote, desinstalar o desnecessário e ajustar umas coisas.

E o tempo dava quase na mesma. Prá compactar 512 bytes, o tamanho compactado ficava maior no final.

No caso que você descreveu o comando é isto mesmo. Ele recupera estrutura antiga no caso de uma restauração "FULL" do disco.

[6] Comentário enviado por emccomputadores em 17/04/2012 - 18:58h

nunca imaginei alguém fazendo o backup da MBR, muito interessante.

[7] Comentário enviado por neto_nunes em 19/04/2012 - 09:12h

Bruno Henrique, talvez esta seja a contribuição que eu procuro na internet há vários dias.

Tenho um notebook com quatro partiçõeso, sendo uma com o Windows 7 (primeiro a ser instalado). Outra tem o Lubuntu. Uma terceira reservei para um port x86 do Android, e a quarta para dados.

Meu problema, me parece, reside justamente na sobrescrição de MBR, pois quando instalo o Android-x86 o Lubuntu não aparece mais no Grub e vice-versa. Fiz a edição do Grub criado pelo Android, com a indicação da partição do Lubuntu, mas quando o escolhi no Grub recebi justamente uma informação sobre a MBR.

Neste sentido, você me indica realizar o backup da MBR do Lubuntu? Em caso positivo, da forma que você indicou ou como sugere Listeiro 037? Para o Lubuntu, por ser uma distro derivada do Debian, o comando é o mesmo ou sofreria alguma alteração?

Obrigado pela orientação.

[8] Comentário enviado por brn_tux em 19/04/2012 - 15:47h

neto_nunes no Lubuntu o comando é o mesmo que no Debian. Para você resolver esse problema, você tinha que ter feito o backup da MBR antes do problema acontecer. Você fez o backup antes da MBR ser sobrescrita?

[9] Comentário enviado por neto_nunes em 19/04/2012 - 16:24h

Não, mas vou reinstalar tudo na máquina.
Espero que funcione direitinho. Darei um feedback depois.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts