As vezes você encontra esta mensagem ao ligar seu computador com o Grub instalado : “Error no such partition”
Para resolver este problema, utilizaremos um LiveCD de alguma distribuição linux. No meu caso utilizarei um Ubuntu.
Aqui colocarei os comandos com a premissa do sudo, pois no caso do sistemaUbuntu, este comando me dá permissões de super-usuário, mas se estiver utilizando o Debian puro ou o Slax, não necessita o sudo.
Sumário
Listando as partições
Primeiro montaremos a partição onde estão os arquivos e o Grub instalado (mas com problemas)
cat /proc/partitions
No meu caso, o que importa são as partições /dev/sda
8 | 0 | 117220824 | sda |
8 | 1 | 24413086 | sda1 |
8 | 2 | 1 | sda2 |
8 | 5 | 28221440 | sda5 |
8 | 6 | 39061504 | sda6 |
8 | 7 | 7811072 | sda7 |
Como meus arquivos estavam na /dev/sda1 usarei aqui como exemplo para demonstrar, mas onde está o /dev/sda1 vocês utilizem o /dev/sdXY de vocês (X=a, b ou c) e Y (1, 2, 3, 4 ou qual a partição)
Montando a partição
Crie um diretorio para trabalho, exemplo um diretório dentro de /media chamado mnt. Lembrando que isto é no caso do Ubuntu
sudo mkdir /media/mnt
Agora montando a partição
sudo mount /dev/sda1 /media/mnt
Montando os arquivos/diretórios que o Grub necessita para detectar o antigo sistema
sudo mount --bind /dev /media/mnt/dev &&
sudo mount --bind /dev/pts/media/mnt/dev/pts &&
sudo mount --bind /proc /media/mnt/proc &&
sudo mount --bind /sys/media/mnt/sys
Estes comandos podem ser digitados diretamente na mesma linha, ele só é executado no [Enter] final.
Mudando para o novo “root”
sudo chroot /media/mnt
Instalando, corrigindo e atualizando o Grub
Agora este comando será executado no /dev/sda (sem colocar o 1), pois estou instalando no DISCO INTEIRO e não somente na partição.
grub-install /dev/sda
grub-install --recheck /dev/sda
update-grub
Desmontando o sistema de arquivos
Agora, desmontamos para que não tenha nenhuma perda de arquivos.
exit &&
sudo umount /media/mnt/sys &&
sudo umount/media/mnt/proc &&
sudo umount/media/mnt/dev/pts &&
sudo umount/media/mnt/dev &&
sudo umount/media/mnt
Digite todos os comandos acima na mesma linha e dê [Enter] no final.
Pronto. Desligue seu sistema e inicie diretamente pelo disco em que foi trabalhado e o Grub funcionará normalmente.
Abraços