Esse problema pode ser causado por vários problemas diferentes, portanto, não há uma solução única. Essas etapas devem funcionar no EC2.
Fonte:
O problema é causado por um conflito de alteração local e remoto na configuração herdada do Grub . O Grub legado e o Grub2 usam diferentes locais de configuração:
- Legado do Grub:
/boot/grub/menu.lst
- Grub2:
/boot/grub/grub.cfg
Causas:
Você provavelmente está usando uma AMI com o Amazon EBS. As instâncias constroem seu sistema de arquivos raiz a partir de uma imagem base pré-criada (instantâneo). A configuração do grub é gravada no instantâneo, mas o registro do UCF não é limpo corretamente. Isso significa que você tem um instantâneo que acha que a configuração menu.lst
foi modificada localmente.
Mais informações podem ser encontradas aqui: link
Por que o ubuntu usa UCF para o grub é explicado aqui: link
Solução (s):
Uma solução geral que funciona é remover o menu.list e reconfigurá-lo. Isso garante que a entrada do registro e o arquivo de configuração do ucf sejam resolvidos para o mesmo hash.
#Remove the menu.lst config.
sudo rm /boot/grub/menu.lst
# Generate a new configuration file.
sudo update-grub-legacy-ec2 -y
#Upgrade the configuration
sudo apt-get dist-upgrade -qq --force-yes
Uma segunda solução é modificar a configuração do UCF para aceitar automaticamente as mudanças do mantenedor
unset UCF_FORCE_CONFFOLD
export UCF_FORCE_CONFFNEW=YES
ucf --purge /var/run/grub/menu.lst
sudo apt-get dist-upgrade -qq --force-yes
Aviso:
Esse problema é muito amplo e os casos de uso afetarão a solução necessária. Se possível, é altamente recomendável atualizar para o grub2. O Grub2 pode ser configurado sem modificar arquivos do sistema.
Há também uma tonelada de diferentes soluções oferecidas e relatórios de problemas abertos no rastreador ubuntu. Eu adoraria ligar para todos eles, mas não tenho o representante.
Boa sorte :)