De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Recuperando o Grub Perdido

Colaboração: André Marques Saunite

Data de Publicação: 05 de abril de 2010

Quem nunca instalou um outro SO ou fez alguma besteira e perdeu o Grub (ou lilo)?

Todos seus arquivos estão lá, seu SO está do jeito que você deixou, mas você não consegue iniciar o sistema pois a MBR está incorreta.

Bom, pra resolver é bem simples.

  1. Ligue a máquina com um Live CD de sua preferência, o ideal é que seja o mais similar possível ao sistema instalado, principalmente versão de kernel;

  2. Após o boot, liste as partições existentes para descobrir quais as partições necessárias para o SO:

      # fdisk -l
      
      Disk /dev/sda: 160.0 GB, 160041885696 bytes
      255 heads, 63 sectors/track, 19457 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      Disk identifier: 0x053687be
      
       Device Boot      Start         End      Blocks   Id  System
      /dev/sda1   *           1        5099    40957686    7  HPFS/NTFS
      /dev/sda2            5100       19457   115330635    5  Extended
      /dev/sda5            5100        7649    20482843+   b  W95 FAT32
      /dev/sda6            7650       10199    20482843+   7  HPFS/NTFS
      /dev/sda7           10200       12749    20482843+   b  W95 FAT32
      /dev/sda8           12750       12762      104391   83  Linux
      /dev/sda9           12763       16586    30716248+  83  Linux
      /dev/sda10          16587       19391    22531131   83  Linux
      /dev/sda11          19392       19457      530113+  82  Linux swap / Solaris
    

  3. Crie um mount point e monte sua partição de root:

      # mkdir /mnt/recover
      # mount /dev/sda10 /mnt/recover
    

    Caso você não saiba qual é sua partição de root, monte partição por partição até encontrar, o conteúdo da raiz não será muito diferente disso:

      # ls -1 /
      bin
      boot
      cdrom
      dev
      emul
      etc
      home
      initrd.img
      initrd.img.old
      lib
      lib32
      lib64
      media
      mnt
      opt
      proc
      root
      sbin
      selinux
      srv
      sys
      tmp
      usr
      var
      vmlinuz
      vmlinuz.old
    

  4. Verifique no seu /etc/fstab quais outras partições de sistema existem, se existir elas precisam ser montadas, em geral o que pode ser necessário é:

      /opt
      /tmp
      /usr
      /var
      /boot
    

    Caso seu /etc/fstab mostre o UUID do disco ao invés do dispositivo, você pode descobrir qual é o dispositivo com o comando blkid:

      # blkid /dev/sda10
      /dev/sda10: LABEL="linux" UUID="57c5cf37-4a13-4a85-a088-716e758e6a0b" TYPE="xfs"
    

  5. Monte todas as partições necessárias no seu local correto, por exemplo, para montar a partição /usr, após verificar que ela está presente na partição sda8:

      # mount /dev/sda8 /mnt/recover/usr
    

  6. Certifique-se de que todas as partições necessárias estão montadas, principalmente a partição /boot.

  7. Monte os pseudo devices:

      # mount -t proc none /mnt/recover/proc
      # mount -o bind /dev /mnt/recover/dev
    

  8. Entre no ambiente

      # chroot /mnt/recover /bin/bash
    

  9. Crie o /etc/mtab

      # grep -v rootfs /proc/mounts > /etc/mtab
    

    Nesse ponto, caso você tenha muitas partições de sistema, como /usr por exemplo, é possível que seja necessário editar o arquivo e retirar o prefixo /mnt/recover.

  10. Confira se o /boot/grub/grub.conf ou /boot/grub/menu.lst ou /boot/grub/grub.cfg está correto (o arquivo depende da versão do grub e/ou da configuração).

  11. Execute o grub-install no disco.

      # grub-install /dev/sda
    

  12. Reinicie a máquina e fique feliz!

É possível que, devido ao novo SO instalado, alguns discos mudem de ID para o grub, nesse caso, você receberá uma mensagem de que a partição não é bootável.

Nesse caso, aconselho editar a linha do grub no momento da inicialização (apertando "e") e mudando o (hdX,Y) por valores de outras partições que existem no sistema, até se encontrar qual é a partição de root correta.

Uma vez encontrada a partição correta, inicie o sistema e edite o arquivo de configuração do grub com as informações corretas.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de André Marques Saunite