Skip to content


Instalação do Grub em um HD que perdeu a MBR

O Grub é um Gestor de Inicialização que suporta diferentes sistemas GNU/Linux, sendo capaz de carregar seu kernel para iniciar o sistema, e sistemas Windows.

Um problema que encontramos as vezes, geralmente quando instalamos o Windows após o Linux, é perder o GRUB. Isso acontece devido ao Windows apagar o conteúdo da MBR, que é a primeira posição do HD, local onde o Grub está localizado. Para recuperá-lo, bastamos seguir alguns passos descritos abaixo.

  1. Primeiramente, devemos iniciar o sistema com um Live CD de qualquer Linux.
  2. Logo após, devemos abrir o terminal como root e descobrir qual é a partição que seu Linux antigo está, para facilitar, dê o comando:
    # cat /proc/partitions
    Se sua saída ficou confusa, execute novamente, mas com o comando:
    # awk ‘{if ($1 != “major” && “z”$1 != “z”) print “/dev/”$4}’ /proc/partitions
    E para encontrar o tipo de sistema de arquivos de cada uma antes de montá-las, utilize o comando file. Um exemplo utilizando sda2:
    # /usr/bin/file -Lks /dev/sda2
    /dev/sda2: Linux rev 1.0 ext3 filesystem data, UUID=c5a4c4c9-82d6-4bc8-9e35-89dcbcb2b77c (needs journal recovery) (large files)
  3. Agora, escolhemos as partições (são as que terminam com números) e as montamos para ver se possui o sistema básico, ou seja, se possui o /bin/bash. Exemplo:
    # mkdir ptemp
    # mount -t ext3 /dev/sda2 ptemp
    # ls /bin/bash
  4. Ao encontrar essa partição, devemos montar o /dev do sistema sobre o /dev da pasta montada, exemplo:
    # mount –bind /dev ptemp/dev
  5. Agora, devemos utilizar o chroot (para maiores detalhes, olhe o post que falei sobre o debootstrap) sobre a pasta:
    # chroot ptemp
  6. Montar o restante das partições (supondo que estejam em partições separadas. Ex: /usr em /dev/sda3) com:
    # mount -a
  7. E instalar o GRUB, informando o HD que deverá ser instalado:
    # grub-install /dev/sda
  8. Como tudo binário, aqui podemos ter duas respostas:
    1. Sucesso:
      Na saída do comando acima, aparecerá:
      Installation finished. No error reported.
      Nesse caso, pule o passo 9.
    2. Erro:
      Na saída do comando acima, aparecerá:
      The file /boot/grub/stage1 not read correctly.
      Nesse caso, vá para o passo 9.
  9. Caso ocorra um erro, você deverá executar o programa Grub e utilizá-lo para a instalação:
    1. Primeiro entre no Grub, digitando:
      # grub
    2. Agora, devemos informar qual é a partição que tem o diretório /boot e então instalar o sistema. Cuidado, as partições no Grub são representadas de uma forma diferente, porém fácil de entender:
      Sempre teremos “(hd” inciando o HD. Depois, temos o número 0(zero) para sda, o número 1(um) para sdb, etc. E depois, temos uma vírgula e o número da partição, porém iniciando com 0(zero), ou seja 0(zero) para partição 1(um), 1(um) para partição 2(dois), e assim por diante. Como exemplo, nosso sda2 seria: (hd0,1)
      Assim, para informar a partição com /boot (em sda2), fazemos:
      grub> root (hd0,1)
    3. Agora pedimos para ele se instalar no HD:
      grub> setup (hd0)
      Note que aqui não informamos a partição
    4. Agora é só dar o comando pra sair do grub:
      quit
  10. Agora devemos desmontar nossas partições de dentro do chroot, para ir mais rápido, dê o comando:
    # umount /* 2> /dev/null
  11. Então sair do chroot:
    # exit
  12. desmontar nosso HD:
    # umount ptmp
  13. E reiniciar o computador.

O Grub, possivelmente não terá a opção do seu Windows, mas você pode adicioná-la facilmente. Para isso, abra o arquivo /boot/grub/menu.lst e insira, no final, as linhas:

# Windows
title        Windows
root         (hd0,0)
chainloader  +1

Prontinho, Grub ativo novamente.

OBS:

  • Para atualizar a lista do grub, execute: update-grub
  • Para entender melhor o chroot, leia sobre o deboostrap

Postado em 🐧 GNU/Linux 🐧.


0 Respostas

Fique por dentro da conversa, assine o Feed deste post   em RSS.



Some HTML is OK

ou, responda este post através de um trackback.