गलती से डिलीट / बूट फोल्डर और रिबूट


16

मैंने गलती से अपने फाइल सिस्टम से / बूट फोल्डर को डिलीट कर दिया, रिबूट किया, और अब मुझे जो भी मिलता है वह यह है:

error: file '/boot/grub/i368-pc/linux.mod' not found.

grub rescue>


यह अलग है, इस मामले में, / बूट फ़ोल्डर पूरी तरह से हटा दिया गया था। न केवल कुछ फ़ाइलों से, धन्यवाद।
इमाद नौरी

मैं किसी भी सवाल के जवाब पर कोई बात नहीं करता, इसे ठीक करने के लिए पर्याप्त हैं ..
ग्रीम

पर्याप्त रूप से, वास्तव में सभी उत्तरों को नहीं पढ़ा। मैं हमेशा पूरी बात के पुनर्निर्माण का सुझाव दूंगा, बल्कि यह समझने की कोशिश करूंगा कि जो चीज गायब थी, वह काम करने की कोशिश कर रहा था, इसलिए किसी के पास भी था। आधा समय लेता है।
Cthulhu Tentacles

7
हटाने की तुलना में बहुत बड़ी गलती /boot, निश्चित रूप से, इस सिस्टम को ठीक करने से पहले रिबूट करना है।
एंथन

जवाबों:


36

ऊप्स!

यहाँ क्या करना है:

  1. लाइव डिस्ट्रो बूट करें। यह आपका उबंटू इंस्टॉलेशन डिस्क या कोई दूसरा हो सकता है जैसे कि नोप्पिक्स

  2. उस ड्राइव / विभाजन का पता लगाएं, जहाँ आपने अपना रूट फाइल सिस्टम स्थापित किया है। ऐसा करने के लिए आप एक टर्मिनल खोल सकते हैं और sudo parted -lया तो चला सकते हैं sudo fdisk -l। यदि आप नहीं बता सकते हैं, तो अपने प्रश्न को संपादित करें और आउटपुट जोड़ें।

  3. यह मानते हुए कि आपका रूट विभाजन जो आपको अंतिम चरण से मिला है /dev/sdxy( xएक और अक्षर yहोना चाहिए और एक नंबर होना चाहिए), फिर एक टर्मिनल में निम्नलिखित कमांड चलाएं:

    mkdir mnt
    sudo mount /dev/sdxy mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot mnt
    
  4. अब आप एक chrootपर्यावरण के अंदर होंगे जिसका अर्थ है कि यहां कमांड चलाना उन्हें आपके इंस्टॉल किए गए सिस्टम पर चलाने के बराबर है। पहली चीज जो आप करना चाहते हैं, वह डिवाइस पर GRUB2 को फिर से इंस्टॉल करना है ताकि यह सही फाइलों को /bootफ़ोल्डर में कॉपी कर दे। ऐसा करने के लिए निम्नलिखित ड्राइव को चलाएं जो आपका रूट विभाजन चालू है (यानी /dev/sdxyसंख्या ( y) हटाए जाने के साथ))

    grub-install /dev/sdx
    
  5. अब आप यह पता लगाना चाहते हैं कि आपने कौन से पैकेज स्थापित किए हैं जिनके बूट डायरेक्टरी में फाइलें हैं और उन्हें पुनर्स्थापित करें। यह उन कर्नेल छवियों को बदल देगा जिन्हें अन्य चीजों के बीच हटा दिया गया है। संकुल खोजने की कमांड है:

    dpkg -S /boot
    

    और उन्हें पुनः स्थापित करने के लिए:

    apt-get --reinstall install ...
    

    जहां ...पहले कमांड से संकुल के नाम से प्रतिस्थापित किया जाता है। कॉमा को शामिल न करें, बस अलग करने के लिए रिक्त स्थान के साथ पैकेज के नाम हैं।

    इस कदम को संभवतः इंटरनेट एक्सेस की आवश्यकता होगी (जब तक कि पैकेज कैश में पहले से ही न हो), इसलिए सुनिश्चित करें कि समस्या होने पर आप कनेक्ट हैं।

  6. चूँकि आपने अपनी गुठली हटा दी होगी और उन्हें पुनः स्थापित कर लिया होगा, इससे स्वतः ही GRUB2 अद्यतन शुरू हो जाना चाहिए। लेकिन बस के मामले में वे नहीं चला सकते हैं:

    update-grub
    
  7. रिबूट और चीजों को अब तय किया जाना चाहिए। एक समस्या जो मैंने पिछली बार की थी जब मैंने कुछ ऐसा ही किया था तो यह था कि विंडोज इंस्टॉल हो जाता है, जो बग update-grubके chrootकारण चलने पर नहीं मिलता है os-prober। यदि यह कोई समस्या है, तो केवल sudo update-grubपुन: सुधारित सिस्टम में चलाएँ ।


@ ओलिवर, धन्यवाद मैं मूल रूप से /dev/sdaxहर जगह था फिर इसे बदल दिया /dev/sdxy
ग्रीम

महान जानकारी के लिए थैंक्स - इसने मुझे बचाया, एक जोड़ के साथ। चूंकि मेरे पास एक सॉफ़्टवेयर RAID है, इसलिए मुझे यहां दिए गए निर्देशों का भी पालन करना पड़ा: help.ubuntu.com/community/Grub2/Installing chroot पद्धति का उपयोग करके mdadm शुरू करने के लिए और RAID सदस्यों को इकट्ठा करने और तदनुसार mounts करने के लिए। फिर, चेरोट के बाद, इस उत्तर में वर्णित पैकेजों को फिर से स्थापित करें और सब कुछ ठीक है!
बिटफीडलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.