http://www.dicas-l.com.br/arquivo/recuperando_o_grub_perdido.php
Quem nunca instalou um outro SO ou fez alguma besteira e perdeu o Grub (ou lilo)?
Bom, pra resolver é bem simples.
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;
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
- 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
- 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"
- 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çãosda8
:
# mount /dev/sda8 /mnt/recover/usr
- Certifique-se de que todas as partições necessárias estão montadas, principalmente a partição
/boot
.
- Monte os pseudo devices:
# mount -t proc none /mnt/recover/proc # mount -o bind /dev /mnt/recover/dev
- Entre no ambiente
# chroot /mnt/recover /bin/bash
- 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
.
- 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).
- Execute o
grub-install
no disco.
# grub-install /dev/sda
- 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.
No comments:
Post a Comment