यह समस्या अलग-अलग समस्याओं की एक श्रेणी के कारण हो सकती है इसलिए एक भी समाधान नहीं है। इन चरणों को EC2 पर काम करना चाहिए।
स्रोत:
समस्या ग्रब विरासत कॉन्फ़िगरेशन में एक स्थानीय और दूरस्थ परिवर्तन संघर्ष के कारण होता है । ग्रुब विरासत और ग्रब 2 अलग-अलग कॉन्फिग स्थानों का उपयोग करते हैं:
- ग्रब विरासत:
/boot/grub/menu.lst
- Grub2:
/boot/grub/grub.cfg
कारण:
आप शायद Amazon EBS-Backed AMI का उपयोग कर रहे हैं। उदाहरण एक पूर्व-निर्मित आधार छवि (स्नैपशॉट) से उनकी रूट फाइल सिस्टम का निर्माण करते हैं। ग्रब कॉन्फ़िगरेशन स्नैपशॉट में लिखा गया है, लेकिन UCF रजिस्ट्री को सही तरीके से शुद्ध नहीं किया गया है। इसका मतलब है कि आपके पास एक स्नैपशॉट है जो सोचता है कि menu.lst
कॉन्फ़िगरेशन स्थानीय रूप से संशोधित किया गया था। अधिक जानकारी यहां पाई जा सकती है: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685
Ubuntu grub के लिए UCF का उपयोग क्यों किया जाता है, इसे यहां बताया गया है: https://askubuntu.com/a/147079
समाधान की):
एक सामान्य समाधान जो कार्य करता है वह मेनू.लिस्ट को हटा रहा है और इसे पुन: कॉन्फ़िगर कर रहा है। यह सुनिश्चित करता है कि ucf रजिस्ट्री प्रविष्टि और कॉन्फ़िगरेशन फ़ाइल उसी हैश का समाधान करती है।
#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
एक दूसरा समाधान यूसीएफ कॉन्फिगरेशन को ऑटो में सुधार कर रहा है ताकि अनुचर परिवर्तनों को स्वीकार कर सकें
unset UCF_FORCE_CONFFOLD
export UCF_FORCE_CONFFNEW=YES
ucf --purge /var/run/grub/menu.lst
sudo apt-get dist-upgrade -qq --force-yes
अस्वीकरण:
यह समस्या बहुत व्यापक है और उपयोग के मामले आवश्यक समाधान को प्रभावित करेंगे। यदि संभव हो तो इसकी अत्यधिक ग्रब 2 में अपग्रेड करने की सिफारिश की गई है। Grub2 को सिस्टम फ़ाइलों को संशोधित किए बिना कॉन्फ़िगर किया जा सकता है।
उबंटू ट्रैकर में खोले गए विभिन्न समाधानों और जारी रिपोर्टों की एक टन भी हैं। मैं उन सभी से लिंक करना पसंद करूंगा, लेकिन उनके पास रेप नहीं है।
सौभाग्य :)