tl; dr - क्या यह एक .iso फ़ाइल से बूट करना संभव है जो एक अनएन्क्रिप्टेड lmv2 लॉजिकल वॉल्यूम में स्थित है? कैसे?
इससे पहले कि मैं अपने लैपटॉप के साथ असली के लिए यह एक VirtualBox VM में स्थापित करने की कोशिश कर रहा हूँ। मेरे पास निम्नलिखित सेट अप हैं:
- 4 जीपीटी विभाजन
- gpt1 - 2M ef02 बायोस बूट
- gpt2 - 5 जी अनएन्क्रिप्टेड नॉन-एलवीएम, मिस डेटा के लिए, आइसो आदि।
- gpt3 - 5G अनएन्क्रिप्टेड lvm, के लिए / बूट, iso's, आदि।
- gpt4 - शेष, lvm, dm-crypt / luks के साथ एन्क्रिप्ट किया गया, रूट, स्वैप, होम, आदि के लिए।
- gpt2 में, मेरे पास वर्तमान आर्क और Xubuntu iso की प्रतियां हैं
- gpt3 में, मेरे पास lvm2 lv है जो समान आइसो की समान प्रतियों के साथ है
मेरे पास निम्नलिखित कार्य हैं:
- gpt4 में, आर्क और ज़ुबंटू की कार्यप्रणाली इंस्टाल (और कुछ अन्य में अन्य लॉजिकल वॉल्यूम में अन्य डिस्ट्रो को जोड़ना चाहेंगे)
- grub2 आर्च पर / देव / एसडीए से स्थापित किया गया
- grub2 के configfile कमांड का उपयोग करके, distro के grub2 मेनू से स्विच और बूट कर सकता है
- गैर-lvm gpt2 से ग्रब मेनू से आइसो बूट कर सकते हैं
मैं क्या करना चाहूंगा, यह iso से gpt3 lvm में बूट है (और अंत में, गैर- lvm gpt2 विभाजन भी नहीं है)।
मेरी ग्रब प्रविष्टि है:
menuentry "Xubuntu ISO" {
set isofile="/xubuntu-12.04.1-desktop-amd64.iso"
# from non-lvm
loopback loop (hd0,gpt2)$isofile
# from lvm
#loopback loop (vgboot-iso)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
2 लूपबैक लाइनें एक ही आइसो की 2 अलग-अलग प्रतियों की ओर इशारा करती हैं। मैंने ग्रब कमांड लाइन पर सत्यापित किया है कि दोनों लूपबैक लाइनें काम करती हैं।
जब गैर-lvm विभाजन में आइसो से बूट होता है, तो सब कुछ ठीक काम करता है।
जब lvm विभाजन में आइसो से बूट होता है, तो बूट शुरू होता है, और अंततः यह त्रुटि मिलती है:
(initramfs) /scripts/casper-premount/20iso_scan: line 46: can't open /dev/sr0: No medium found
आर्च प्रविष्टि के लिए:
menuentry "Arch ISO" {
set isofile="/archlinux-2012.09.07-dual.iso"
loopback loop (hd0,gpt2)$isofile
#loopback loop (vgboot-iso)$isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201209 img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}
gpt2 आईएसओ से बूटिंग काम करता है, लेकिन मुझे नहीं पता कि lvm बूट के लिए "/ dev / sda2" को क्या बदलना है।
संपादित करें: यह किया जा सकता है? के लिए किसी भी मौजूदा लिनक्स distro की आधिकारिक .iso फ़ाइल? फेडोरा? डेबियन? openSUSE नहीं है? CentOS?
क्या यह असंभव है? या यह कुछ ऐसा है जिसे पहले किसी ने भी करने की कोशिश नहीं की है?
EDIT2: मेरी इनाम की अवधि समाप्त हो गई है, और 9 महीने बाद, मैं मान रहा हूं कि यह किसी भी लिनक्स डिस्ट्रो के साथ संभव नहीं है। मैं प्रश्न को खुला छोड़ देता हूं, लेकिन मुझे संदेह है कि निकट भविष्य में कभी भी काम करने का समाधान होगा।
search
तार्किक मात्रा कि, आईएसओ फ़ाइल है सही में से एक है? इसे पाने के लिए, आपको करना होगाsudo blkid
।