Ultimamente (pelo menos nas duas últimas vezes em que liguei o PC) notei que o grub demora uma eternidade para ser iniciado. Eu contei quase 9 minutos entre as mensagens do BIOS e o log do kernel aparece na tela.
A questão é como posso saber o que o grub está fazendo ou esperando? Como posso verificar se o grub está ok?
Há alguns dias, eu removi a tela inicial, para ver o log de texto em cada inicialização. Na maioria das vezes, é rápido e normal. Durante esses 9 minutos o monitor recebe sinal, mas é apenas uma tela preta. NumLock não responde, a coisa toda parece estar congelada, mas não é.
Eu tenho / em um software raid1 desde 2009, pelo menos.
O ataque é relatado como saudável. Durante esses minutos, há uma pequena atividade no disco rígido no primeiro minuto. Os dados do disco rígido SMART são saudáveis. O desligamento no dia anterior foi normal.
Eu tive todas as versões do Ubuntu instaladas neste computador desde 8.04. Eu tenho 12.10 instalado desde outubro. Não há nada de novo neste computador, sem novos discos rígidos, sem alterações nas configurações do BIOS.
Não há log do grub AFAIK e o log do kernel não é interessante porque diz que o kernel inicializou em 28 segundos [kernel PhenomX4: [28.825313] vboxpci: IOMMU não encontrado (não registrado)] então os 9 minutos são antes do kernel iniciar .
* Atualização: 27 de março *
Encontrei o problema, mas ainda não sei a causa. O problema era que o /boot/grub/grub.cfg tinha 11.6 MB e tinha entradas como essa repetidas muitas vezes com pequenas variações. O Grub estava sufocando em um arquivo tão grande para criar seu menu.
menuentry 'Ubuntu 12.10 (12.10) (en /dev/sda1) (en /dev/sda1) (en /dev/sdb1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz--73e06880-5f46-4493-aaef-23fa4ad138f6' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 73e06880-5f46-4493-aaef-23fa4ad138f6
else
search --no-floppy --fs-uuid --set=root 73e06880-5f46-4493-aaef-23fa4ad138f6
fi
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
}
Ainda não sabe por que esse arquivo cresceu tanto?
Atualização 28 de março
Uma grande parte das entradas do menu é gerada pelo /etc/grub.d/30_os-prober.
Line 223: ### BEGIN /etc/grub.d/30_os-prober ###
...
Line 175174: ### END /etc/grub.d/30_os-prober ###
o grub.cfg tem 175191 linhas, de modo que o script representa 99% dos 11,6 MB no arquivo.