Bu soruna bir dizi farklı sorun neden olabilir, bu nedenle tek bir çözüm yoktur. Bu adımlar EC2'de çalışmalıdır.
Kaynak:
Bu sorun Grub'un eski konfigürasyonundaki yerel ve uzak değişiklik çatışmasından kaynaklanıyor . Grub eski ve Grub2 farklı yapılandırma konumları kullanıyor:
- Grub mirası:
/boot/grub/menu.lst
- Grub2:
/boot/grub/grub.cfg
Nedenler:
Muhtemelen bir Amazon EBS Destekli AMI kullanıyorsunuzdur. Örnekler, kök dosya sistemlerini önceden oluşturulmuş bir temel görüntüden (anlık görüntü) oluşturur. Grub yapılandırması anlık görüntüde yazılır, ancak UCF kayıt defteri doğru şekilde temizlenmez. Bu, menu.lstkonfigürasyonun yerel olarak değiştirildiğini düşünen bir anlık görüntünüzün olduğu anlamına gelir . Daha fazla bilgiyi burada bulabilirsiniz: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685
Neden ubuntu grub için UCF kullanıyor: https://askubuntu.com/a/147079
Çözüm (ler):
İşe yarayan genel bir çözüm menu.list'in kaldırılması ve yeniden yapılandırılmasıdır. Bu, ucf kayıt defteri girdisinin ve yapılandırma dosyasının aynı karmaşa çözülmesini sağlar.
#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
İkinci bir çözüm, bakım değişikliklerini otomatik olarak kabul etmek için UCF yapılandırmasını değiştirmektir.
unset UCF_FORCE_CONFFOLD
export UCF_FORCE_CONFFNEW=YES
ucf --purge /var/run/grub/menu.lst
sudo apt-get dist-upgrade -qq --force-yes
Yasal Uyarı:
Bu konu çok geniştir ve kullanım durumları gerekli çözümü etkileyecektir. Mümkünse grub2'ye yükseltmeniz şiddetle tavsiye edilir. Grub2, sistem dosyalarını değiştirmeden yapılandırılabilir.
Ubuntu izleyicide bir dizi farklı çözüm önerisi ve sorun bildirimi de açıldı. Hepsine link vermeyi çok isterdim ama temsilcisi yok.
İyi şanslar :)