DevSecOps

17 out, 2012

Backup e recuperação do MBR em Linux

Publicidade

Neste artigo, abordarei o backup e a recuperação do MBR em Linux. Este tipo de backup é especialmente útil a usuários que têm vários sistemas operacionais instalados em um mesmo computador (multi-boot). A recuperação  do MBR a partir do backup pode também ser utilizada para eliminar alguns tipos de vírus que afetam o MBR, como alguns bootkits, ou, ainda, para recuperar o MBR caso ele venha a ser corrompido, alterado ou mesmo perdido.

Em sistemas multi-boot, tendo o backup do MBR previamente feito e atualizado, é possível instalar ou reinstalar o MS-Windows após os outros sistemas operacionais, não sendo necessário instalá-lo primeiro para evitar que ele sobrescreva o MBR, impedindo a inicialização do computador a partir de outros sistemas operacionais.

1. O MBR

O MBR (Master Boot Record ou, em português, Registro Mestre de Inicialização) corresponde aos 512 bytes armazenados no primeiro setor do HD master do computador. Resumidamente falando, são os primeiros 512 bytes do HD master. O MBR armazena, estruturadamente, os seguintes dados:

  • Os primeiros 446 bytes armazenam o Setor de Boot;
  • Os 64 bytes seguintes armazenam a Tabela de Partições do HD;
  • Os 2 bytes finais são reservados para Assinatura.

Ao ligar o computador, o sistema realiza, nesta ordem, os seguintes passos:

  1. Executa um teste automático dos componentes eletrônicos da placa-mãe do computador, este teste chama-se POST (Power On Self Test);
  2. Carrega dados do BIOS (Basic Input Output System) e faz a reprogramação do suporte de I/O;
  3. Lê o MBR e executa o carregador de boot (boot loader) registrado nos primeiros 446 bytes do MBR; o carregador de boot inicializará o sistema operacional adequado, ou o selecionado pelo usuário em computadores com multi-boot.

2. Problemas mais frequentes relacionados ao MBR

Os problemas mais frequentes que afetam o MBR são:

  1. Infecção ou corrupção do MBR em virtude da ação de vírus fazendo, muitas vezes, com que o seu HD pareça estar em branco (parecendo uma perda total dos dados armazenados no HD) ou impedindo a inicialização do sistema; há também um tipo especial de vírus, conhecidos como bootkits, que ficam gravados no MBR e podem ser inicializados antes do sistema operacional da máquina, permanecendo em execução após a inicialização do sistema operacional, e sendo mais difíceis de detectar;
  2. Crashs do MBR que ocorrem, em muitos casos, devido a quedas de energia elétrica;
  3. Modificação do Setor de Boot do MBR quando da instalação do MS-Windows em computadores com multi-boot, impedindo o boot a partir de outros sistemas operacionais previamente instalados no mesmo computador.

3. Backup do MBR em Linux

O backup do MBR deve ser feito sempre em uma mídia externa. O mais comum é fazê-lo em um pendrive. Nunca faça e/ou mantenha o backup do MBR no próprio HD da máquina, pois, em caso de problemas com o MBR, o seu backup não terá nenhuma utilidade!

Mantenha o seu backup do MBR atualizado. Sempre após reparticionar o seu HD (ou excluir alguma partição existente), redimensionar partições existentes, reformatar alguma partição com um tipo de sistema de arquivos diferente do anterior ou, ainda, instalar ou reinstalar algum sistema operacional ou carregador de boot, teste para verificar se tudo está funcionando conforme o planejado e, em caso positivo, faça ou atualize o backup do MBR do computador.

O backup do MBR pode ser feito a partir do Linux já instalado em seu HD ou a partir de um Live CD da distro Linux de sua preferência. Neste último caso, não será necessário instalá-lo no computador, bastando apenas inicializar o computador a partir do Live CD.

Para fazer o backup do MBR em um pendrive, no Linux, siga os seguintes passos:

    1. Abra o Terminal;
    2. Logue-se como usuário root utilizando o comando su;
    3. Digite e execute um dos seguintes comandos, conforme o tipo do HD master de seu computador:
      • HD master do tipo SCSI:
      # dd if=/dev/sda of=/media/USB/MBR.bkp bs=512 count=1
      • HD master do tipo IDE:
      # dd if=/dev/hda of=/media/USB/MBR.bkp bs=512 count=1

Pronto! O backup do MBR de seu computador já está salvo no pendrive.

Importante! Note que, em minha máquina, o backup do MBR (arquivo MBR.bkp) foi salvo no pendrive montado no ponto de montagem (diretório) /media/USB/. Verifique, em seu computador, a localização correta do ponto de montagem (diretório) de seu pendrive.

Se você quiser verificar o tipo de arquivo gerado pelo processo de backup do MBR, utilize o comando a seguir (não é necessário estar logado como usuário root para executar este comando):

$ file /media/USB/MBR.bkp

Veja a saída do comando file sobre o arquivo de backup do MBR gerado em minha máquina, na qual tenho dual-boot com os sistemas operacionais openSUSE Linux e MS-Windows Server 2003:

4. Recuperação do MBR com Linux em Live CD

Para recuperar o MBR de seu computador, após ocorrer algum problema com o mesmo, será necessário inicializar a máquina a partir do Live CD da distro Linux de sua preferência e ter em mãos a mídia externa, um pendrive, no qual está salvo o backup mais atualizado do MBR.

Após inicializar a máquina a partir do Live CD do Linux, e ter montado o pendrive contendo o backup do MBR, execute os seguintes comandos para recuperar o MBR de seu computador:

  1. Abra o Terminal;
  2. Logue-se como usuário root utilizando o comando su;
  3. Digite e execute um dos seguintes comandos, conforme o tipo do HD master de seu computador:
    • HD master do tipo SCSI:
    # dd if=/media/USB/MBR.bkp of=/dev/sda
    • HD master do tipo IDE:
    # dd if=/media/USB/MBR.bkp of=/dev/hda

Pronto! O MBR de seu computador já está recuperado. Agora, reinicialize a máquina a partir do HD (não do Live CD do Linux) e verifique se o boot, ou multi-boot, do sistema está funcionando corretamente e se todas as partições do HD foram detectadas com sucesso.

Importante! Note que, em minha máquina, o backup do MBR (arquivo MBR.bkp) foi salvo no pendrive montado no ponto de montagem (diretório) /media/USB/. Verifique, em seu computador, a localização correta do ponto de montagem (diretório) de seu pendrive, bem como o nome correto do arquivo de backup do MBR salvo no pendrive.

5. Instalação do MS-Windows após o Linux em computadores com multi-boot

Quando o MS-Windows é instalado ou reinstalado após outros sistemas operacionais em um computador com multi-boot, a instalação do MS-Windows simplesmente sobrescreve o Setor de Boot do MBR, registrando o seu próprio carregador de boot, impedindo que computador boot a partir dos sistemas operacionais previamente instalados.

Para instalar ou reinstalar o MS-Windows após o ter Linux previamente instalado em um mesmo computador e poder continuar utilizando o multi-boot para escolher qual sistema operacional será utilizado, siga os seguintes passos:

  1. Faça o backup do MBR;
  2. Instale ou reinstale o MS-Windows mesmo após ter o Linux instalado na máquina;
  3. Reinicialize o computador a partir do Live CD do Linux e recupere o backup do MBR, executando no Terminal do Linux, como usuário root, um dos comandos abaixo, conforme o tipo de HD master de sua máquina:
    • HD master do tipo SCSI:
    # dd if=/media/USB/MBR.bkp of=/dev/sda bs=446 count=1
    • HD master do tipo IDE:
    # dd if=/media/USB/MBR.bkp of=/dev/hda bs=446 count=1
  4. Reinicialize normalmente o computador a partir do HD;
  5. Caso o carregador de boot (de multi-boot) anterior à instalação ou reinstalação do MS-Windows não liste o MS-Windows, basta entrar no Linux, que estava previamente instalado em sua máquina, e instale ou atualize a configuração do carregador de boot (de multi-boot) do Linux, geralmente o GRUB, para que o MS-Windows seja detectado e adicionado à lista de opções de sistemas operacionais bootáveis do carregador de boot (de multi-boot).

Pronto! Você já tem o MS-Windows instalado ou reinstalado e o computador em multi-boot.

Importante! Estes procedimentos são válidos se você somente instalar ou reinstalar o MS-Windows, não são aplicáveis caso altere o layout (esquema de particionamento) do HD da máquina. Note que, em minha máquina, o backup do MBR (arquivo MBR.bkp) foi salvo no pendrive montado no ponto de montagem (diretório) /media/USB/. Verifique, em seu computador, a localização correta do ponto de montagem (diretório) de seu pendrive, bem como o nome correto do arquivo de backup do MBR salvo no pendrive.