गैर-उबंटू से आईएसओ इमेज कैसे बूट करें जैसे फेडोरा या सेंटोस?


26

मैंने पाया कि इसे loopbackनिम्न प्रकार से किया जा सकता है

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

लेकिन यह केवल ubuntu या इसके डेरिवेटिव के साथ काम करता है। अगर मैं अन्य जीवित चित्रों जैसे फेडोरा, सेंट, ओपनस्यूज़ आदि को बूट करना चाहता हूं तो इसे कैसे लिखा जाना चाहिए?

संपादित करें: मुझे कुछ अन्य प्रविष्टियाँ मिलीं, लेकिन उनमें से सभी शायद डेबियन आधारित हैं।

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

EDIT2: कैसे chainload को grubऔर syslinuxसे grub2?

Edit3: मैं किसी भी हटाने योग्य डिवाइस के बिना अन्य लाइव छवियों को बूट करना चाहता हूं और grub2विशिष्ट मेनू प्रविष्टियों का उपयोग करना चाहता हूं grub2


1
यह यूनिक्स अभी भी विषय से दूर नहीं है, और लिनक्स ढेर आदान-प्रदान है बेहतर unix.stackexchange.com
Tachyons

@ रिंजविंड कैसे ??
टैकियन्स

2
सवाल फेडोरा, सेंटोस और ओपनस्यूज के बारे में है। उबंटू के बारे में नहीं। @abcd
Rinzwind

2
वैसे: फेडोरा ऐसा करने में सक्षम नहीं है। सेंटोस मूल रूप से फेडोरा है। dracutइसके खिलाफ एक फीचर अनुरोध है और इसके लिए इसे पैच करने की आवश्यकता है। आप इस पैच को bugzilla.redhat.com
Rinzwind

2
संभव डुप्लिकेट? askubuntu.com/questions/121212/…
जीवाश्म

जवाबों:


19

आइसो से बूटिंग एक ऐसी सुविधा है जिसे डिस्ट्रो द्वारा समर्थित किया जाना चाहिए, और iso-scan/filename=विकल्प फेडोरा या अन्य में काम नहीं करेगा। उन लोगों के पास इस सुविधा के लिए अन्य कर्नेल विकल्प हो सकते हैं या सुविधा का समर्थन नहीं किया जा सकता है।

मैंने फेडोरा 16 डीवीडी को बूट करने का तरीका ढूंढा है, यहां नीचे दिया गया है।

ग्रब से बूटिंग फेडोरा 15 डीवीडी आइसो

मेनेंट्री "फेडोरा 15 (डीवीडी)" {
 insmod लूपबैक
 insmod iso9660 है
 सेट आइसोफाइल = "/ फेडोरा-15-x86_64-DVD.iso"
 लूपबैक लूप (HD0,2) $ आइसोफाइल
 linux (लूप) / आइसोलिनक्स / vmlinuz rootfstype = ऑटो रूट = लाइव: UUID =: $ isofile ro शांत
 initrd (लूप) /isolinux/initrd.img
}

यह मानता है कि आपकी आईएसओ फ़ाइल आंतरिक हार्ड डिस्क के दूसरे विभाजन की जड़ में है।

स्रोत: यह पृष्ठ

आप Google में अन्य वितरण की खोज कर सकते हैं, क्योंकि यह एक डिस्ट्रो-इंडिपेंडेंट फीचर नहीं है।

नोट 1: यह फेडोरा 16 के साथ भी काम करता है, मैंने अभी इसका परीक्षण किया है।
नोट 2: ऐसा लगता है कि जब आप वसा या ext4 विभाजन में आइसो फ़ाइल को रखते हैं तो यह विधि काम करती है।


Grub2 से छोटा आइसो बूटिंग बूटिंग

Grub को grub2 से बूट किया जा सकता है। ध्यान दें कि यह findisoविकल्प के बजाय विकल्प का उपयोग करता है iso-scan/filename, यह दर्शाता है कि आईएसओ से बूटिंग को विभिन्न वितरणों में विभिन्न विकल्पों के रूप में लागू किया गया है।

(मेनेंट्री "ग्रिल छोटा 2009.10" {
  लूपबैक लूप /boot/iso/grml-small_2009.10.iso
  linux (लूप) / बूट / grmlsmall / linux26 findiso = / boot / iso / grml-small_2009.10.iso एपीएम = पावर-ऑफ लैंग = हमें vga = 791 बूट = लाइव नॉमिनेट नॉइप्रोपेप्ट -
  initrd (लूप) /boot/grmlsmall/initrd.gz
}

इस पृष्ठ में Grub2 से अन्य डिस्ट्रोस बूटिंग के कई उदाहरण हैं।


बूटिंग OpenSUSE 13.1 आइसो से लाइव

यहाँ एकमात्र समाधान है जो काम किया है (अन्य सभी ने मुझे एमबीआर पहचानकर्ता को खोजने में विफल कर दिया और रोक दिया)। इस उदाहरण में iso को डायरेक्टरी में पहले डिस्क के तीसरे पार्टिशन में रखा गया है /home/username/

मेनेंट्री "OpenSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  सेट रूट = '(hd0, msdos3)'
  सेट isofrom_device = '/ dev / sda3'
  सेट isofrom_system = '/ home / username / openSUSE-13.1-GNOME-Live-i686.is'
  सेट लोडर = '/ बूट / i386 / लोडर'
  लूपबैक लूप $ isofrom_system है
  linux (लूप) $ लोडर / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro शांत छप $ vt_handoff preloadlog = / dev / null showopts
  initrd (लूप) $ लोडर / initrd
}

सोर्स जनेपो की टिप्पणी है


फेडोरा 17 सूक्ति लाइव Iso

यहां फेडोरा 17 के लिए बूट मेनू grub.cfg प्रविष्टि है। आईएसओ को पहले डिस्क के तीसरे विभाजन में रखा गया है। इसके अलावा फ़ाइल नाम बदल दिया गया है।

मेनेंट्री "फेडोरा लाइव" {
    लूपबैक लूप (HD0,3) /fedora.iso
    linux (लूप) / EFI / BOOT / vmlinuz0 root = live: /fedora.iso rootfstype = ऑटो रो liveimg शांत rhgb rd.luks = 0 rd.md = 0
    initrd (hd0,3) / initrd-fromiso
}

अंतिम नोट: मुझे लगता है कि यह उत्तर एक उदाहरण के रूप में काम करता है। इसे उदाहरणों के साथ अधिक विस्तृत नहीं किया जाना चाहिए।


मैंने फेडोरा 15 के लिए उपरोक्त प्रविष्टि की कोशिश की, लेकिन यह काम नहीं किया। कोई अंदाजा?
राहुल वीरपारा

मेरी प्रविष्टि इस pastebin.com/1ksBVu21
राहुल वीरपारा

3

यहाँ iso फ़ाइलें जो मैंने बूट के उपयोग से समझी हैं grub2

मैंने आईएसओ के बाद सफलतापूर्वक बूट किया है

  • उबंटू सटीक पैंगोलिन 12.04 आईएसओ
  • SystemRescueCd
  • बूट हार्डवेयर डिटेक्शन टूल
  • डॉस मुफ्त में
  • हिरेन की बूट करने वाली सीडी
  • अल्टीमेट बूट सी.डी.

मैंने पाया कि यदि आप अन्य आईएसओ जैसे हिरेन की बूट सीडी आदि को बूट करना चाहते हैं, तो आप MEMDISKउपयोगिता को कर्नेल के रूप में उपयोग कर सकते हैं ।

MEMDISK कहां प्राप्त करें?

Syslinux को यहाँ से डाउनलोड करें । इसे डेस्कटॉप पर ले जाएं।

इसे कार्यशील कैसे करें ?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

फिर नीचे gedit में प्रविष्टियों को चिपकाएँ। आपको बदलने की आवश्यकता होगी set isofile="/path/to/iso-file.iso"

फिर जारी करें update-grub। रिबूट और जाँच करें।

40_customफ़ाइल में मेरी प्रविष्टियाँ ।

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

सभी ISO को चालू रखा जाता है sda6/OSऔर MEMDISKविभाजन पर रखा जाता है जहां ubuntu स्थापित है (जड़ में) और इसका नाम बदलकर memdisk4.05इसे पथ कर दिया गया है/customboot/memdisk4.05

नोट: फेडोरा दिए गए अन्य उत्तर के साथ काम नहीं किया। फिर भी फेडोरा बूट करने की कोशिश कर रहा है :(।


ध्यान दें, जब आईएसओ फाइल को मेमदिस्क और ग्रब के साथ लोड किया जाता है initrd16, तो आईएसओ फाइल 462 एमबी से छोटी होनी चाहिए। संबंधित त्रुटि संदेश: ग्रब: त्रुटि: उपयुक्त मेमोरी टारगेट नहीं पा सका , मेमडिस्क: एमएमडीआईएसडी: कोई रैमडिस्क छवि निर्दिष्ट नहीं है । अधिक जानकारी के लिए यहां और यहां देखें ।
gregn3

2

दुर्भाग्य से इन सिफारिशों में से किसी ने भी मेरी मदद नहीं की। इसलिए मुझे रास्ता मिल गया है और मैं आपके साथ साझा करना पसंद करूंगा। उदाहरण के लिए आपको सेंटो बूट करने के लिए: इसो छवि को डायरेक्टरी में रखें। यदि आपकी रूट dir / dev / sda1 पर आरोहित है, तो dir / iso बनाएं और वहां iso डालें। ग्रब कंसोल पर जाएं (जब मेनू ग्रब प्रेस 'c' दिखाई दे।)

उपयुक्त उपकरण चुनें - HD0 का अर्थ है sda। आपको वह स्थान चुनने की आवश्यकता है जहां आप स्थित हैं।

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

और इसे बूट!


1

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

हालाँकि ... आपको एक बड़े USB ड्राइव पर बहुत अलग डिस्ट्रो ISO होने के लिए मल्टी सिस्टम एक सक्षम उपकरण मिलेगा। मुझे लगता है कि यह वास्तव में बहुत अच्छी तरह से काम करता है, लेकिन आपको इसे पीपीए से स्थापित करना होगा:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

मैं इसका उपयोग करता हूं ताकि मेरे पास Gparted LiveUSB और अन्य उपकरण हो सकें, साथ ही साथ इंस्टालेशन के लिए एक पेनड्राइव पर Ubuntu वाले। एक बोनस के रूप में यह मेनू के लिए एक कस्टम स्प्लैश स्क्रीन की अनुमति देता है, जिसे मैंने ऑस्ट्रेलियाई लोको टीम के लिए लोगो पर सेट किया है।

क्रिस

जैसा कि कहा गया है, मल्टीसिस्टम ग्रब 2 का उपयोग करता है जो आप चाहते हैं। चूँकि इस ऑफ-टॉपिक थ्रेड की अनुमति दी जा रही है, या कम से कम यहाँ पर मल्टीरासिस्टम ग्रब 2 से फेडोरा प्रविष्टि को सहन किया जा रहा है:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

ध्यान दें कि आप आईएसओ से सीधे बूट नहीं कर सकते क्योंकि यह समर्थित नहीं है क्योंकि यह डेबियन आधारित डिस्ट्रोस के साथ है। आपको हार्ड ड्राइव पर उपलब्ध आईएसओ से अनपैक्ड फ़ाइलों की आवश्यकता इस प्रकार होगी:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

आपको निश्चित रूप से / Fedora / निर्देशिका का स्थान और विभाजन का UUID बदलने की आवश्यकता होगी जिसे आप Fedora को बूट कर रहे हैं। आपको संभवतः आरओ से आरडब्ल्यू तक माउंट मोड को भी बदलना चाहिए, साथ ही उपयुक्त कुछ और भी, जैसे कि स्क्वैश पर अनुमति।

आप शायद एक आभासी दृढ़ता डिस्क भी सेट कर सकते हैं, हालांकि मुझे कोई कारण नहीं दिखता है कि आप अपने सामान्य / होम विभाजन को माउंट क्यों नहीं कर सकते। फिर, मैं केवल यह सुझाव दे सकता हूं कि आप मल्टीडिस्क स्थापित करें और इसे कैसे करना है, यह जानने के लिए स्वयं को कॉन्फ़िगर करें।

क्रिस


सवाल यह है कि कैसे मौजूदा में एंट्री बनाई जाए GRUB2न कि कैसे बूटेबल पेनड्राइव या बाहरी हार्ड डिस्क को अलग-अलग डिस्ट्रोस बनाया जाए। BTW यह GRUB2अन्य distros की तुलना में बेहतर ज्ञान की आवश्यकता है तो यह वास्तव में से संबंधित सवाल है GRUB(क्योंकि कुछ distro अभी भी GRUB का उपयोग करते हैं) या GRUB2
राहुल वीरपारा

1
मैं कहूंगा कि फेडोरा, सेंटोस और सुज़ जैसे डिस्ट्रोस के लिए ग्रब एंट्रीज़ बनाना उन डिस्ट्रोस से बहुत अधिक संबंधित है, क्योंकि वे ग्रब के लिए हैं, और निश्चित रूप से उबंटू के साथ कुछ भी नहीं करना है।
फैब्रिकेटर 4

1
@virpara: आपने यह भी निर्दिष्ट नहीं किया है कि आप हार्ड ड्राइव से ISO बूट कर रहे हैं - विभिन्न LiveISOs को बूट करने की इच्छा का सबसे उचित कारण है, सब कुछ इंस्टॉल डिवाइस। हम पाठकों, या अन्य विकृतियों के विशेषज्ञ नहीं हैं। अंत में, यदि आप वास्तव में इस तरह से एक पेनड्राइव बनाने के लिए मल्टीसिस्टम को स्थापित और उपयोग करते हैं, तो यह आपको दिखाएगा कि यह कैसे करना है - यह इच्छित परिणाम प्राप्त करने के लिए grub2 का उपयोग करता है।
फैब्रिकेटर 4

1

ऐसा लगता है कि 13.04 को इसे प्राप्त करने के लिए एक अलग वाक्यविन्यास की आवश्यकता होती है। क्या किसी ने सफलतापूर्वक भौतिक डिस्क से ubuntu-13.04-Desktop-amd64.iso बूट किया है और ग्रब सिंटैक्स को साझा करने के लिए परवाह करेगा?

EDIT: मेरे अपने प्रश्न का उत्तर दिया। Vmlinuz का नाम बदलकर mvlinuz.efi करने की आवश्यकता है और यह काम करता है।

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}

1

मैं एक usb छड़ी या सीडी को जलाने की आवश्यकता के बिना नए isos के परीक्षण के लिए grub2 के अमूल्य लूपबैक का उपयोग कर पाता हूं। कुछ इसी तरह का काम करने के लिए फेडोरा के खिलाफ बग दर्ज किए गए हैं। वर्तमान स्थिति को ट्रैक करने में थोड़ा समय लगता है।


0

मल्टीसिस्टम का उपयोग करके, अपने इच्छित लाइवसीडी को स्थापित करने का प्रयास करें, और फिर फ़ाइलों को अपने / / और grub.cg को मर्ज करके कॉपी करें! (मैं वास्तव में यह देखने के लिए उत्सुक हूं कि क्या यह काम करेगा!)।

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