हार्ड डिस्क पर संग्रहीत आईएसओ फ़ाइल से मैं बूट कैसे करूं?


12

मुझे पता है कि मैं बूट करने योग्य सीडी / डीवीडी बना सकता हूं या यूएसबी को लाइव कर सकता हूं और इससे बूट / इंस्टॉल कर सकता हूं। लेकिन मान लीजिए मैं वर्तमान में GNU / Linux चला रहा हूं और मेरे पास एक और GNU / लिनक्स की ISO फाइल है जिसे मैं अपनी हार्ड डिस्क पर इंस्टॉल करना चाहता हूं, तो क्या मैं सीधे हार्ड डिस्क से आईएसओ से बूट कर सकता हूं और कोशिश कर सकता हूं कि GNU / Linux ऑपरेटिंग सिस्टम ?

जवाबों:


15

हां, आप इसे GRUBबूट लोडर मेनू में मेनू प्रविष्टि जोड़कर पूरा कर सकते हैं ।

आप संपादन करके एक कस्टम GRUB मेनू प्रविष्टि जोड़ सकते हैं /etc/grub.d/40_custom,

कस्टम मेनेंट्री का उदाहरण :

 exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.  

menuentry "Trisquel ISO" {
        set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
        loopback loop (hd0,5)$isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
        initrd (loop)/casper/initrd
}

निर्देश और स्पष्टीकरण:

  1. कमांड setका उपयोग आईएसओ फाइल के पथ को एक चर में स्टोर करने के लिए किया जाता है, यहां isofile

  2. loopbackएक फाइल सिस्टम छवि से एक उपकरण बनाने के लिए प्रयोग किया जाता है। ऐसा करने के लिए, डिवाइस और छवि फ़ाइल को निर्दिष्ट करना आवश्यक है। यहां हमने उपयोग (hd0,5)$isofileकिया जिसमें डिस्क (hd0,5)के पांचवें विभाजन का प्रतिनिधित्व करता है ।

    • नोट करने के लिए अंक: में (hd0,5),
      1 सेंट अंक उस डिवाइस नंबर का प्रतिनिधित्व करता है जो 0यहां से शुरू होता है (यहां: 0 = 1 सेंट डिवाइस) और
      2 एनडी अंक विभाजन संख्या का प्रतिनिधित्व करता है जो 1यहां से शुरू होता है (यहां 5 = 5 वें विभाजन)।
      इसका मत/dev/sda5
    • और चर $isofileमें आईएसओ फ़ाइल का पथ है। तो, आखिरकार यह बन जाता है (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
    • अधिक जानकारी के लिए, पर जाएँ: उपकरणों और फ़ाइलों को कैसे निर्दिष्ट करें

  3. linuxLinux कर्नेल ( vmlinuz ) को फ़ाइल से लोड करने के लिए कमांड का उपयोग किया जाता है । आईएसओ में लिनक्स कर्नेल का मार्ग रखो।

    • कर्नेल उदाहरण का मार्ग प्राप्त करने के लिए ISO की सामग्री पढ़ें / निकालें:

       $ 7z l trisquel_7.0_i686.iso | grep vmlinu
       2014-10-29 21:41:43 .....      5841680      5841680  casper/vmlinuz
       2014-11-03 00:45:09 .....      5844176      5844176  casper/vmlinuz.netinst
      

      इसलिए, /casper/vmlinuzयहाँ इस्तेमाल किया गया था।

  4. initrd कमांड का उपयोग लिनक्स कर्नेल छवि के लिए एक प्रारंभिक रैमडिस्क को लोड करने के लिए किया जाता है, और स्मृति में लिनक्स सेटअप क्षेत्र में उचित पैरामीटर सेट करता है।

    • initrd मेमोरी में एक अस्थायी रूट फ़ाइल सिस्टम लोड करने के लिए एक योजना है। initrdआईएसओ का रास्ता रखो ।
    • पथ प्राप्त करने के लिए ISO की सामग्री पढ़ें / निकालें initrd:

      $ 7z l trisquel_7.0_i686.iso | grep initrd
      2014-11-03 00:45:19 .....     16851900     16851900  casper/initrd
      2014-11-03 00:45:09 .....      9398592      9398592  casper/initrd.netinst
      
  5. अतिरिक्त पैरामीटर जैसे कि boot=casper iso-scan/filename=$isofile noprompt noejectGNU / Linux वितरण के लिए विशिष्ट हो सकता है और Linux के किसी अन्य परिवार के लिए भिन्न हो सकता है। आप यहाँ से विभिन्न परिवार / वितरण के लिए कुछ विन्यास पा सकते हैं ।

    नोट: कुछ वितरण उपयोग किए गए एल्गोरिथ्म / संपीड़न पर निर्भर करते हैं initrd.gzया initrd.lzउपयोग करते हैं।

संपादन के बाद /etc/grub.d/40_custom, GRUB को update-grub2कमांड द्वारा अपडेट किया जाना चाहिए । रिबूट करने पर, आपको कस्टम मेन्यूएंट्री मिलेगी जिसे आपने GRUB स्क्रीन पर जोड़ा है। और आप जीएनयू / लिनक्स वितरण के लाइव वातावरण का उपयोग कर सकते हैं।

आईएसओ से इंस्टॉलेशन करने के लिए, इंस्टॉलर को किसी भी माउंटेड विभाजन को अनमाउंट करने की आवश्यकता हो सकती है; यानी एक और प्रणाली पर मुहिम शुरू की है /isodevice, तो आप कर सकते हैं umount -l /isodevice


वाह, मैं प्रभावित हूं ... मुझे लगा कि यह असंभव होगा, क्योंकि एक नया ओएस स्थापित करने में अक्सर सुधार विभाजन शामिल होते हैं, जिसमें यह विभाजन शामिल हो सकता है कि आपकी आईएसओ फाइल संग्रहीत है।
वाइल्डकार्ड

आपके नमूने GRUB2 का उपयोग करते हैं। सेंटोस 6 GRUB1 (ग्रब विरासत) का उपयोग करता है और ऊपर दिए गए उदाहरण काम नहीं करते हैं।
इकराम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.