गलती से सभी गुठली निकालने के बाद एक सिस्टम को कैसे पुनर्स्थापित किया जाए?


69

मैं पुरानी गुठली को हटाने की कोशिश कर रहा था, लेकिन मैंने अपने उबंटू 11.04 लैपटॉप पर सभी गुठली हटा दी होगी। क्या USB बूट या किसी अन्य सिस्टम पर हार्ड ड्राइव बढ़ते के माध्यम से इसे ठीक करने का कोई तरीका है?


जवाबों:


93

एक लाइव सीडी (या लाइव यूएसबी) में बूट करें, कुछ सिस्टम को माउंट करें, उसमें क्रोकेट करें और कर्नेल स्थापित करें। कर्नेल की एक सफल स्थापना के बाद, फ़ाइल सिस्टम को अनमाउंट करें।

  1. टर्मिनल खोलें
  2. उबंटू विभाजन को माउंट करें: sudo mount /dev/sdXY /mnt
  3. कुछ विशेष विभाजन माउंट करें:

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
  4. (वैकल्पिक) जब आप किसी नेटवर्क से जुड़े हों, तो अपने लाइव वातावरण से DNS सर्वर का उपयोग करें (अन्यथा होस्ट नाम संभवतः हल नहीं किए जा सकते)

    cp /etc/resolv.conf /mnt/etc/resolv.conf
    
  5. में चूरोट /mnt:sudo chroot /mnt
  6. लिनक्स कर्नेल स्थापित करें: apt-get install linux-image-generic(चुरोट के बाद रूट के रूप में आपको कोई भी आवश्यक नहीं है)
  7. कर्नेल की एक सफल स्थापना के बाद, चुरोट को बाहर निकालें और कुछ फाइल सिस्टम को अनमाउंट करें:

    exit
    sudo umount /mnt/sys
    sudo umount /mnt/proc
    sudo umount /mnt/dev
    sudo umount /mnt
    
  8. रिबूट और सीडी या यूएसबी को हटा दें: sudo reboot

यह वही है जो मैंने सुझाया होगा। मैं नहीं देख सकता कि यह काम क्यों नहीं करेगा।
ओली

ठीक है, पुष्टि के लिए धन्यवाद। मैंने अंतिम चरणों को भी जोड़ा है, बिना सोचे-समझे /mnt। उबंटू आमतौर पर फाइल सिस्टम को अनमाउंट / सिंक करने का ख्याल रखता है, लेकिन यह मुझे साफ दिखता है।
लेकेन्स्टाइन

1
@MaheshKatta आपको पहले RAID माउंट करना होगा। तो चरण दो के बजाय (जहां आप एक एकल ड्राइव माउंट करते हैं) आप एक /dev/mdxxxड्राइव की मैपिंग करेंगे - यह मानते हुए कि यह mdadm है।
ओली

4
@James Edit /etc/resolv.conf(इसे हटा दें यदि यह एक सिमलिंक है) और इसमें कुछ ऐसा डालें nameserver 8.8.8.8(Google सार्वजनिक DNS सर्वर)। यदि आवश्यक हो तो इसे बदलें।
लीकेनस्टाइन

3
NVM। ऐसा लगता है कि मुझे फ़ाइल को चेरोट में ही संपादित करना था। हो सकता है कि cp /etc/resolv.conf /mnt/etc/resolv.confचुरोट में जाने से पहले आपको उत्तर में जोड़ना चाहिए । वैसे भी मेरे लिए काम किया
पीटर रेव्स

56

यह विस्तारित प्रक्रिया उन अधिकांश जटिलताओं के लिए जिम्मेदार है, जिनमें इंटरनेट से जुड़ने में समस्याएँ शामिल हैं chroot, यह जानने के लिए कि कौन सा कर्नेल पैकेज स्थापित करने के लिए नहीं है (उबंटू 12.10 से पहले, यह हमेशा नहीं होगा linux-image-generic), यह जानते हुए भी कि कौन सा विभाजन शुरू हुआ या नहीं किस भौतिक ड्राइव में /फाइल सिस्टम है, और एक अलग /bootविभाजन है।

मैंने इसे किसी भी अन्य प्रक्रिया के संदर्भ में यहां नहीं लिखा है, हालांकि आप कुछ समानताएं देखेंगे। मैंने इसे आधार पर किया, शिथिल रूप से, यहां प्रक्रिया पर (हालांकि वे निर्देश कुछ अलग तरह के हैं, मैंने उन्हें बड़े पैमाने पर अनुकूलित किया है, और केवल कुछ आदेशों, गद्य की नकल नहीं की जाती है)।

आपने सभी कर्नेल पैकेज हटा दिए हैं, और उबंटू एक कर्नेल स्थापित किए बिना बूट नहीं कर सकता है। तो समाधान एक लाइव सीडी / डीवीडी / यूएसबी से बूट करने के लिए है, chrootस्थापित सिस्टम में, और इसमें एक कर्नेल स्थापित करें।

  1. उबंटू लाइव सीडी / डीवीडी या लाइव यूएसबी फ्लैश ड्राइव से बूट करें।

  2. उबंटू ट्राई करें ( उबंटू स्थापितकरें ) का चयन करें

  3. जब डेस्कटॉप आता है, तो सुनिश्चित करें कि आप इंटरनेट से जुड़े हैं। यदि आप नहीं हैं, तो इंटरनेट से कनेक्ट करें। यह देखने का एक तरीका है कि क्या आप इंटरनेट से जुड़े हैं, वेब ब्राउज़र खोलना है। आप अपने वेब ब्राउज़र में लाइव सीडी / डीवीडी / यूएसबी सिस्टम में इस आस्क उबंटू उत्तर को लाकर बाकी निर्देशों का पालन भी कर सकते हैं। मैं दृढ़ता से ऐसा करने की सलाह देता हूं।

  4. के साथ एक टर्मिनल विंडो खोलें Ctrl+ Alt+ T

  5. टर्मिनल विंडो में, अपने विभाजन को सूचीबद्ध करने के लिए इस कमांड को चलाएँ:

     sudo parted -l
    

    आप कुछ इस तरह देखेंगे (लेकिन यह बिल्कुल ऐसा नहीं होगा ):

    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sda: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    
    Number  Start   End     Size    Type      File system     Flags
     1      1049kB  20.4GB  20.4GB  primary   ext4            boot
     2      20.4GB  21.5GB  1072MB  extended
     5      20.4GB  21.5GB  1072MB  logical   linux-swap(v1)
    
    
    Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
    has been opened read-only.
    Error: Can't have a partition outside the disk!
    
  6. आपके द्वारा प्राप्त आउटपुट की जांच करें, उस विभाजन के डिवाइस नाम को निर्धारित करने के लिए जिसमें उबंटू सिस्टम की /फाइलसिस्टम है जो हार्ड ड्राइव पर स्थापित है (जो कि आप मरम्मत कर रहे हैं)।

    • यदि आपके पास केवल एक ext4विभाजन है, तो वह एक है।

    • यदि आपके पास एक से अधिक ext4विभाजन हैं, तो यह संभवतः पहला है। हालांकि, अगर पहला एक बहुत छोटा है - एक गीगाबाइट से कम - तो वह एक अलग /bootविभाजन हो सकता है (याद रखें कि एक भी)।

      कृपया ध्यान दें कि किसी विभाजन के bootतहत सूचीबद्ध किया गया है या नहीं , Flagsइसका बहुत ही कम हिस्सा है या नहीं /boot। मेरी प्रणाली, जिसकी जानकारी ऊपर सूचीबद्ध है, का अलग विभाजन नहीं है /boot

    • विभाजन के लिए डिवाइस का नाम भौतिक ड्राइव के लिए डिवाइस के नाम से शुरू होता है, Diskजिसे दूसरी पंक्ति में तुरंत बाद कहा जाता है । फिर बस उस के अंत में विभाजन संख्या जोड़ें। इसलिए, उस विभाजन का उपकरण नाम जिसमें मेरा / फाइल सिस्टम है /dev/sda1। यहाँ दो लाइनें हैं जहाँ मुझे वह जानकारी मिली:

      Disk /dev/sda: 21.5GB
       1      1049kB  20.4GB  20.4GB  primary   ext4            boot
    • यदि आपके पास एक से अधिक भौतिक ड्राइव हैं, तो आपको एक से अधिक लिस्टिंग प्राप्त होंगी जैसे कि ऊपर दिखाया गया है। लेकिन जब तक आपके पास एक और यूनिक्स जैसी प्रणाली स्थापित नहीं हो जाती, तब तक शायद आपके पास केवल एक ड्राइव होगी जिसमें ext4विभाजन होते हैं , कम से कम बिना किसी अन्य ड्राइव पर जानबूझकर बनाए गए। यदि आपके पास ext4विभाजनों के साथ कई ड्राइव हैं , तो ext4आपके /फ़ाइल सिस्टम में जो विभाजन है वह संभवतः एक ड्राइव पर है जिसमें एक विभाजन भी हैlinux-swap

    • यह संभव है कि आपके उबंटू सिस्टम का /फाइल सिस्टम इसके अलावा अन्य प्रकार के विभाजन पर हो ext4। जब ऐसा होता है, तो यह लगभग हमेशा होता है ext3, और लगभग हमेशा एक काफी पुरानी प्रणाली पर। यह इस मामले के लिए बहुत असामान्य है, जब तक कि आप जानबूझकर चीजों को इस तरह से सेट न करें।

    उस विभाजन का डिवाइस नाम याद रखें जिसमें आपका /फाइल सिस्टम था (या इसे लिख लें)। यदि यह इससे भिन्न है /dev/sda1, तो आप /dev/sda1नीचे के चरणों में इसे बदल देंगे ।

    (यदि ऐसा लगता है कि आपके पास एक अलग /bootविभाजन है, तो उसके लिए डिवाइस का नाम भी याद रखें।)

  7. माउंट /करने के लिए फाइल सिस्टम /mnt, और इसकी माउंट /devफाइल सिस्टम:

    sudo mount /dev/sda1 /mnt
    sudo mount --bind /dev /mnt/dev
  8. जांचें कि क्या आप जिस टूटे हुए उबंटू सिस्टम की मरम्मत कर रहे हैं, उसका एक अलग /bootविभाजन है जिसे अलग से माउंट किया जाना चाहिए। (यदि आप सुनिश्चित हैं कि यह नहीं है, तो आप इसे छोड़ सकते हैं।)

    जांचने के लिए, दौड़ें:

    ls /mnt/boot
    

    यदि आउटपुट है (जैसे grub memtest86+.bin memtest86+_multiboot.bin, लेकिन जरूरी नहीं कि वास्तव में), तो टूटी हुई प्रणाली /bootउसी के विभाजन पर है /और आपको इसे एक्सेस करने के लिए कुछ भी माउंट करने की आवश्यकता नहीं है।

    लेकिन अगर कोई आउटपुट नहीं है, तो आपको /bootफाइलसिस्टम माउंट करना होगा :

    sudo mount BOOT-PARTITION /mnt/boot

    विभाजन BOOT-PARTITIONके डिवाइस नाम के साथ बदलें /boot(चरण 6 ऊपर देखें)।

  9. chroot टूटी प्रणाली में, शेष महत्वपूर्ण वर्चुअल फाइल सिस्टम को माउंट करें, और कुछ महत्वपूर्ण पर्यावरण चर सेट करें:

    sudo chroot /mnt
    mount -t proc none /proc
    mount -t sysfs none /sys
    mount -t devpts none /dev/pts
    export HOME=/root
    export LC_ALL=C
    
  10. निर्धारित इंटरनेट का उपयोग के भीतर से काम करता है chrootद्वारा pingकुछ विश्वसनीय मेजबान है कि पिंग्स के लिए सामान्य रूप से प्रतिक्रिया करने के लिए जाना जाता है ing:

    ping -c 5 www.google.com
    

    आपको कुछ इस तरह से देखना चाहिए:

    PING www.l.google.com (74.125.131.147) 56(84) bytes of data.
    64 bytes from vc-in-f147.1e100.net (74.125.131.147): icmp_req=1 ttl=44 time=61.3 ms
    64 bytes from vc-in-f147.1e100.net (74.125.131.147): icmp_req=2 ttl=44 time=62.3 ms
    64 bytes from vc-in-f147.1e100.net (74.125.131.147): icmp_req=3 ttl=44 time=61.8 ms
    64 bytes from vc-in-f147.1e100.net (74.125.131.147): icmp_req=4 ttl=44 time=63.8 ms
    64 bytes from vc-in-f147.1e100.net (74.125.131.147): icmp_req=5 ttl=44 time=66.6 ms
    
    --- www.l.google.com ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4006ms
    rtt min/avg/max/mdev = 61.367/63.212/66.608/1.897 ms
    
    • यदि यह ज्यादातर ऐसा दिखता है, और पहले की संख्या % packet loss100 से कम है, तो इंटरनेट कनेक्शन chrootकाम कर रहा है:

      5 packets transmitted, 5 received, 0% packet loss, time 4006ms

      यह काम कर रहा है, इसलिए आप चरण 11 को छोड़ सकते हैं ।

    • यदि यह ज्यादातर ऐसा दिखता है, और इससे पहले की संख्या % packet loss100 है, तो कनेक्शन को समस्या निवारण की आवश्यकता है। सुनिश्चित करें कि लाइव सीडी सिस्टम पर कनेक्शन (उदाहरण के लिए, एक वेब ब्राउज़र के माध्यम से, या एक अलग, गैर- chrootएड टर्मिनल टैब / विंडो में एक ही कमांड चलाकर ) काम करता है। सुनिश्चित करें कि आप सही ढंग से कमांड टाइप कर रहे हैं। उपयोग करें www.google.comयदि आप नहीं किया गया है।

    • यदि आउटपुट ऊपर की तरह नहीं दिखता है, लेकिन इसके बजाय कहते हैं ping: unknown host www.google.com, तो नेटवर्किंग अभी तक काम नहीं कर रही है chroot

  11. में नेटवर्किंग सेट करें chrootजब तक आपको unknown hostचरण 10 में कोई त्रुटि नहीं मिली, तब तक इस चरण को छोड़ दें ।

    नेटवर्किंग सेट करने के लिए, टूटी हुई सिस्टम की hostsफ़ाइल का बैकअप लें , और लाइव सीडी सिस्टम hostsऔर resolv.confफ़ाइलों की प्रतिलिपि बनाएँ । (आपको उस टूटे हुए सिस्टम के संस्करण का बैकअप लेने की आवश्यकता नहीं है resolv.conf, क्योंकि वह फ़ाइल स्वचालित रूप से ऑन-द-फ्लाई के रूप में पुनर्जीवित हो जाती है।)

    एक नया टर्मिनल टैब ( Ctrl+ Shift+ T) खोलें , या यदि आप चाहें, तो एक नया टर्मिनल विंडो ( Ctrl+ Shift+ N, या सिर्फ Ctrl+ Alt+ T)। इसमें ये कमांड चलाएँ:

    sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
    sudo cp /etc/hosts /mnt/etc/hosts
    sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
    exit
    

    ( exitअंत में कमांड नया टैब / विंडो बंद करता है।)

    सुनिश्चित करें कि इंटरनेट एक्सेस काम करने के लिए ऊपर दिए गए चरण 10 को दोहराएं chroot। यह होना चाहिए।

  12. यह पता लगाएं कि किस कर्नेल पैकेज को स्थापित किया जाना चाहिए। आमतौर पर, यह होगा linux-image-generic। लेकिन हमेशा नहीं।

    यदि आप सुनिश्चित नहीं हैं कि कौन सा स्थापित करना है, तो यह आंशिक रूप से उस पर निर्भर करेगा जिस पर उबंटू रिलीज़ स्थापित है, और आंशिक रूप से अन्य जानकारी पर। क्या आप वाकई जो उबंटू रिहाई द्वारा स्थापित किए गए नहीं हैं, तो इस आदेश को चला रहे हैं (में से यह पता लगाने chroot, नहीं एक अलग टर्मिनल विंडो / टैब में):

    lsb_release -r
    
    • उबंटू 12.10 पर (अगला उबंटू रिलीज़, वर्तमान में विकास में), यह हमेशा रहेगा linux-image-generic। ( यह , यह , और यह देखें )

    • उबंटू 12.04 एलटीएस पर, संभावनाएं हैं linux-image-genericऔर linux-image-generic-pae। (पिछले संस्करणों के विपरीत, 12.04 में अब अलग सर्वर और डेस्कटॉप कर्नेल नहीं है।)

      • यदि स्थापित उबंटू प्रणाली (जो आप ठीक कर रहे हैं) 64-बिट संस्करण है, उपयोग करें linux-image-generic। ( linux-image-generic-paeकेवल 32-बिट सिस्टम पर लागू होता है।)

        32-बिट Ubuntu सिस्टम को 32-बिट या 64-बिट कंप्यूटर पर स्थापित करना संभव है। इसके अलावा, आप 32-बिट स्थापित प्रणाली को ठीक करने के लिए 32-बिट या 64-बिट लाइव सीडी का उपयोग कर सकते हैं। तो अगर आप नहीं जानते कि क्या स्थापित Ubuntu प्रणाली 32-बिट या 64-बिट है, इस आदेश चलाकर (में से जाँच chroot, नहीं एक अलग टर्मिनल विंडो / टैब में):

        dpkg-architecture -qDEB_HOST_ARCH_BITS
        

        आउटपुट 32या तो होगा 64

        (कृपया ध्यान दें कि uname -mहै नहीं यह जानकारी प्राप्त करने के लिए एक सही तरीका है, क्योंकि तब भी जब में चलाने chroot, कि आप में से वास्तुकला बता देंगे चल गिरी है, जो लाइव सीडी सिस्टम के कर्नेल और नहीं स्थापित (टूट) सिस्टम के कर्नेल है।)

      • यदि स्थापित उबंटू प्रणाली (जो आप ठीक कर रहे हैं) 32-बिट संस्करण है, तो उपयोग करने के लिए सबसे अच्छा कर्नेल इस बात पर निर्भर करेगा कि रैम कितना है। मेरा सुझाव है:

        • linux-image-generic अगर आपके पास 3 जीबी से कम रैम है
        • linux-image-generic-pae यदि आपके पास 3 जीबी रैम या अधिक है।

        (यह कैसे Ubuntu के संस्थापक चुनता है जो एक स्थापित करने के लिए, जब से संस्थापक पीएई कर्नेल स्थापित करने की क्षमता प्राप्त की है। देखें संकल्प करने के लिए इस बग । आप को जानने के लिए क्या पीएई है चाहते हैं, देखना यह विकिपीडिया लेख । आप चाहते हैं Ubuntu में PAE के बारे में जानें, इस Ubuntu विकी पृष्ठ को देखें ।)

        यदि आपको नहीं पता कि आपके पास कितनी रैम है, तो यह पता लगाने के लिए इस कमांड को चलाएं:

        grep MemTotal /proc/meminfo
        

        यह किलोबाइट्स में सूचीबद्ध है । गीगाबाइट में बदलने के लिए 1,048,576 (1024 2 ) से भाग दें।

        • 3 गिग्स = 3,145,728 केबी
    • पर उबंटू विज्ञप्ति से पहले 12.04, संभावना संभावनाएं हैं linux-image-generic, linux-image-generic-paeऔर linux-image-server

      • यदि आप एक उबंटू सर्वर सिस्टम चला रहे हैं, तो उपयोग करें linux-image-server
      • अन्यथा, 12.04 सिस्टम के लिए ऊपर दी गई सलाह का पालन करें।
  13. यह वह क्षण है जिसकी आप प्रतीक्षा कर रहे हैं! टूटी हुई प्रणाली में एक कर्नेल स्थापित करें।

    (पहले की तरह, जहां स्पष्ट रूप से इंगित किया गया है, सिवाय इसके कि, ये आदेश chrootअलग टर्मिनल विंडो / टैब में नहीं, बल्कि चलाए जाते हैं ।)

    apt-get update
    apt-get -y install linux-image-generic

    बदलें linux-image-genericजो कुछ अन्य गिरी पैकेज आप अगर अलग, ऊपर चरण 12 में स्थापित करने का निर्णय लिया है।

  14. यदि आपको नेटवर्किंग स्थापित करने के लिए चरण 11 का प्रदर्शन करना था chroot, तो पुरानी hostsफ़ाइल को पुनर्स्थापित करें । यदि आपने चरण 11 को छोड़ दिया है, तो इस चरण को भी छोड़ दें।

    इसे पुनर्स्थापित करने के लिए, यह कमांड चलाएँ:

    cp /etc/hosts.old /etc/hosts
    
  15. फ़ाइल सिस्टम अनमाउंट करें, इसमें exitसे बाहर chroot:

    umount /proc || umount -lf /proc
    umount /sys /dev/pts
    exit
    sudo umount /mnt/dev /mnt
    
  16. लाइव सीडी / डीवीडी / यूएसबी सिस्टम को बंद करें, लाइव सीडी / डीवीडी या यूएसबी फ्लैश ड्राइव को हटा दें। हार्ड ड्राइव पर स्थापित सिस्टम में बूट करें, जिसे आपने अभी मरम्मत की है। आपने इसमें एक कर्नेल पैकेज स्थापित किया है (और स्थापना के भाग के रूप में, यह जो कर्नेल प्रदान करता है उसे GRUB2 बूट बैक में जोड़ा जाएगा)। यदि सब कुछ सही ढंग से काम करता है, तो आपका सिस्टम समस्याओं के बिना बूट होना चाहिए। (मुझे लगता है कि यह संभव है कि इस बार सामान्य से थोड़ा अधिक समय लगेगा।)

अस्वीकरण: मैंने हर संभव उबंटू प्रणाली पर उपरोक्त प्रक्रिया का परीक्षण नहीं किया है, इसलिए यह संभव है कि इसमें एक गलती है जिसे मैंने नहीं पहचाना है।

भविष्य में, मैं हमेशा दो गुठली रखने की कोशिश कर रहा हूं । यदि उनमें से किसी एक कारण से काम करना बंद हो जाता है (आप GRUB2 बूट मेनू में अन्य का चयन कर सकते हैं) तो दो का होना अच्छा है। इसके अलावा, यदि आप दो कर्नेल रखने का इरादा रखते हैं और आप गलती से एक से अधिक की स्थापना रद्द करते हैं, तो आप अभी भी बूट करने के लिए एक से अधिक हैं।


1
यह लिनक्स का सबसे अच्छा लिखित विवरण हो सकता है कि मैंने कभी पढ़ा लिनक्स में कुछ जटिल कैसे किया जाए। धन्यवाद
जिंकएक्स

वाह, यह कितना सुपर-सहायक है! बहुत धन्यवाद!
राफेल Cieaklak

2
बहुत बहुत धन्यवाद एलियाह - मेरी सभी लिनक्स छवियों को मूर्खतापूर्ण तरीके से हटाने के बाद, आपने मेरी बेकन को बचाया। मेरे पास केवल एक हिचकी थी जो चरण में थी: sudo cp /etc/resolv.conf /mnt/etc/resolv.conf मुझे "cp: झूलने वाले सिम्क्लिन के माध्यम से नहीं लिखना है" /mnt /etc/resolv.conf '"त्रुटि। मैंने इस थ्रेड को पाया और एक पोस्टर द्वारा निर्देशों का पालन किया: "सीएम /etc/resolv.conf /mnt/etc/resolv.conf" से पहले "rm /mnt/etc/resolv.conf"।

@ xcal400 /etc/resolv.confआजकल प्रबंधित है resolvconf, यह NetworkManager का उपयोग करते समय स्वचालित रूप से उत्पन्न हो जाएगा और सुरक्षित रूप से उपयोग rm /etc/resolv.confकिया जा सकता है जैसा कि आपको पता चला है।
लेकेनस्टीन

3
यह एक स्वीकृत उत्तर होना चाहिए। धन्यवाद!
जीन-मिशेल गार्सिया

0

जब मैंने अपना कर्नेल निकाल दिया तो मुझे यह समाधान उबंटू फ़ोरम पर मिला। मैंने हर कदम का पालन किया और व्यवस्था ठीक हो गई। आशा है कि यह आपकी मदद करेगा।

चेरोट काम कर सकता है, चेरोट का मतलब है कि जब आप एक सिस्टम शुरू करते हैं तो आप रूट फाइल सिस्टम को बदलते हैं। उदाहरण के लिए आपने एक लाइव सीडी से शुरुआत की थी लेकिन आप रूट को "/" में बदल देते हैं जहां आपका ubuntu स्थापित है।

कहते हैं कि आपका ubuntu / dev / sda2 पर स्थापित है तो आप निम्न आदेशों की कोशिश कर सकते हैं:

कोड:

sudo mount /dev/sda2 /mnt
sudo cp /etc/resolv.conf /mnt/etc/
sudo cp /etc/hosts /mnt/etc/
sudo mount --bind /dev/ /mnt/dev
sudo chroot /mnt
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

अब आप रूट हैं "/" / dev / sda2 पर, कर्नेल को स्थापित करने का प्रयास करें

apt-get update
apt-get install linux-image-2.6.32-26-generic
update-initramfs -cv -k all
update-grub

मुझे यहां थोड़ा अनुमान लगाना पड़ा क्योंकि मुझे पहले कभी ऐसा नहीं करना था लेकिन इसके बारे में ऐसा होना चाहिए। अगर आपको कुछ fstab त्रुटि चेतावनी मिलती है (जैसे रूट नहीं मिल सकता है)।

अब आपको कुछ सामानों को साफ करने और माउंट किए गए विभाजन को अनमाउंट करने की आवश्यकता है: कोड:

rm /etc/resolv.conf
rm /etc/hosts
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl
umount /proc # if this doesn't work try umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount /mnt

और आप यह देखने के लिए रीबूट कर सकते हैं कि क्या यह काम किया है।

थ्रेड के लिए URL: http://art.ubuntuforums.org/showthread.php?t=1688928


आप क्यों प्रतिस्थापित /etc/hostsऔर निकालेंगे /sbin/initctl? यह एक कारण के लिए है।
लेकेनस्टेयन

यह अंततः LiveCDCustomization पर आधारित लगता है ; पहले से स्थापित सिस्टम की मरम्मत के लिए कुछ कदम आवश्यक नहीं हैं। विशेष रूप से, के साथ कुछ करने की ज़रूरत नहीं है /sbin/initctlया dbus-uuidgenया dpkg-divert। आपको इंटरनेट से कनेक्ट करने के लिए प्रतिस्थापित करने की आवश्यकता हो सकती है /etc/hosts, लेकिन आमतौर पर नहीं, और यदि आप करते हैं, तो आपको मूल वापस रखना चाहिए। एक स्थापित सिस्टम पर (एक लाइव सीडी के बजाय जो बूट फिर स्क्वैशफॉल्स फाइल सिस्टम को अनपैक करता है), आपको कर्नेल को स्थापित करने के बाद update-initramfsभी नहीं चलना है update-grub
एलियाह कगन जूल

इसके अलावा, चूंकि यह प्रक्रिया किसी भी कर्नेल मेटाफ़ेज को स्थापित नहीं करती है, कर्नेल को बाद में ठीक से अपडेट नहीं किया जा सकता है, जब तक कि मेटाफ़ेज को स्थापित नहीं किया जाता है। इसके अलावा, linux-image-2.6.32-26-genericअधिकांश लोगों को स्थापित करने के लिए सही कर्नेल नहीं होगा।
एलियाह कगन

0

बाद में मैंने कल से ट्रस्टी 14.04 से पुरानी गुठली को हटा दिया (एफटीआर: मैंने दो सबसे हाल के लोगों को नहीं हटाया!) मेरा सिस्टम अब बूट होगा। GRUB दिखाया

Error: File not found
Error: You need to load the kernel first

पता नहीं क्यों।

इसके बाद मैंने एलिया कगन केlinux-image-generic लाइव सीडी से इंस्टॉल करने के उत्कृष्ट निर्देशों का पालन किया । इसने 150 एमबी नए कर्नेल स्थापित किए, लेकिन दुख की बात है कि समस्या का समाधान नहीं हुआ।

सौभाग्य से, मुझे यह पृष्ठ मिला । Boot-Repairउपकरण यह सही, अपने सिस्टम फिर से चल रहा है मिला है।


0

मैं सिर्फ अपने अनुभव को जोड़ना चाहता था जिसे मैं आज विली में अपग्रेड कर रहा हूं। मैंने थोड़ी सफाई की और मैंने खुद को केवल यादगार के साथ पाया। Google ने मुझे समझा कि मैंने गुठली निकाल दी थी। मेरे पास एक बाधा धीमी नेटवर्क थी और इसलिए पूर्ण आईएसओ डाउनलोड करना विकल्प नहीं था। इसलिए मैंने उबंटू मिनिमल सीडी (केवल 40 एमबी) का उपयोग किया और उस पर बूट किया। हार्डवेयर विकल्प का पता लगाने के बाद (जिसने मुझे वायरलेस से कनेक्ट करने में मदद की) मैं शेल विकल्प में चला गया। मैंने @Lekensteyn निर्देशों का पालन किया और मैं सफल रहा। हालांकि कुछ चीजें: आपको resolv.confचेरोट जाने से पहले कॉपी करना होगा या फिर आपके DNS को खराब कर दिया जाएगा और उपयोगकर्ता के लॉग इन होने के बाद कहीं भी sudo की कोई आवश्यकता नहीं है।

मुझे इसका पुराना पता है, लेकिन मुझे लगा कि इस उत्तर को जोड़ने से उन लोगों के लिए मूल्य बढ़ेगा जो इस मुद्दे का सामना करेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.