Hoje após correr o script de actualização, smxi na Debian do meu laptop, por alguma razão que não sei qual, uma vez que não estava a ver o que ela estava a fazer, ao fazer reboot deparei-me com o seguinte erro no GRUB2:
GRUB Loading.
WELCOME to GRUB!
Entering rescue mode?
error: the symbol `grub_loaded_is_loaded? not found
grub rescue>
Confesso que ainda não tinha olhado para o GRUB2, como tal a única coisa que me lembrei foi de escrever help a ver se apareciam alguns comandos, mas nada.
No scroogle também apenas encontrei isto.
Resolvi entrar à bruta e reinstalar o GRUB2, convém frisar que num dos updates anteriores há uns tempos atrás, o update tinha feito o upgrade do GRUB para o GRUB2 sem qualquer problema.
Eis o que fiz para reinstalar o GRUB2.
1. Peguei num livecd do #!Crunchbang 9.04.1 (mental note, colocar a multidistro Katana numa pen USB) e fiz reboot, após este carregar havia que descobrir a partição onde está instalado o boot da Debian.
$sudo fdisk -l (é um L)
Disk /dev/sda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x34fe34fd
Device Boot Start End Blocks Id System
/dev/sda1 1 131 1052226 82 Linux swap / Solaris
/dev/sda2 * 132 1667 12337920 83 Linux
/dev/sda3 1668 9733 64790145 5 Extended
/dev/sda5 1668 3200 12313791 83 Linux
/dev/sda6 3201 9733 52476291 83 Linux
Reparem onde está o asterisco, é essa a partição a usar.
2. Montar essa partição a partir do livecd
$sudo mount /dev/sda2 /mnt
3. Reinstalar o GRUB2
$sudo grub-install ?root-directory=/mnt/ /dev/sda
(reparem que agora apenas dou a indicação do disco e não da partição, sda sem o 2)
O problema é que isto deu outro erro, queixava-se de um problema qualquer relativo ao ficheiro device.map
Resolvi renomear o ficheiro para device.map.bak e corri de novo o comando acima.
Desta vez tudo correu bem.
4. Fazer reboot, ou seja reiniciar a partir do disco rígido.
Se tudo tivesse corrido bem no ponto 3, sem que tivesse sido necessário renomear o ficheiro device.map, agora seguir-se-ia
$sudo update-grub ou na Debian #update-grub
Mas como não correu tudo bem, dei por mim novamente no ecrã do GRUB2 que me tinha aparecido a quando do upgrade automático do GRUB para GRUB2 o qual indicava que após o boot caso tudo corresse bem que deveria correr o seguinte comando
#upgrade-from-grub-legacy
And that?s it, tudo a bombar.
A propósito o excelente livro Linux in a Nutshell tem muita e boa info sobre o GRUB.
Fonte: Dicas Debian
Escolhas do editor