USB ड्राइव पर Ubuntu स्थापित करने के लिए GRUB2 मेनू प्रविष्टि कैसे जोड़ें?


23

मैं नहीं पूछ रहा हूँ कि USB से LiveCD को कैसे बूट किया जाए।

मेरे पास 2 उबंटू इंस्टॉलेशन हैं, एक मेरे कंप्यूटर की आंतरिक हार्ड ड्राइव पर और दूसरा यूएसबी ड्राइव पर।

क्या उबंटू OS को बूट करने के लिए GRUB2 मेनू प्रविष्टि (मेरे आंतरिक हार्ड ड्राइव पर GRUB में) जोड़ने का एक तरीका है जो मैंने USB फ्लैश ड्राइव में स्थापित किया है और मेरे द्वारा लिनक्स कर्नेल को अपग्रेड करने के बाद भी यही मेनू प्रविष्टि काम करती है। USB इंस्टॉलेशन पर?

जवाबों:


33

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

sudo update-grub

लेकिन आप grub2 के 40_custom में एक बूट छंद भी जोड़ सकते हैं जो विभाजन को बूट करता है, विशिष्ट कर्नेल को नहीं। उबंटू सबसे हाल ही में स्थापित करने के लिए / (रूट) में लिंक स्थापित करता है। यदि आपके ड्राइव और विभाजन के लिए आवश्यक हो तो नीचे दिए गए उदाहरण को समायोजित करें। ग्रब के साथ बूट ड्राइव हमेशा एचडी 0 होता है, लेकिन फिर अन्य ड्राइव BIOS रिपोर्ट किए गए क्रम में होते हैं जो भिन्न हो सकते हैं।

इसके साथ संपादित करें:

gksudo gedit /etc/grub.d/40_custom

फिर जोड़िए:

menuentry "Install on sdb1" {
    set root=(hd1,1)
    linux /vmlinuz root=/dev/sdb1 ro quiet splash
    initrd /initrd.img
}

ऊपर काम करते समय, मुझे लगता है कि फ्लैश ड्राइव या किसी अन्य यूएसबी डिवाइस में प्लग करने पर ड्राइव बदल सकती है। इसलिए मैं लेबल का उपयोग करने के लिए परिवर्तित कर रहा हूं।

menuentry "Cosmic 18.10 on sdb12 test" {
    search --set=root --label cosmic_b --hint hd2,gpt12
    configfile /boot/grub/grub.cfg 
}

1
क्या इसके बजाय विभाजन के यूयूआईडी का उपयोग करने का एक तरीका है /dev/sdb1?
गिरि

sudo update-grub ने बहुत अच्छा काम किया, धन्यवाद!
सर्गी मिग्डाल्स्की

2
आपको (hd1,1) के स्थान पर क्या होना चाहिए? आप इन नंबरों को कहां से लेते हैं ताकि वे फिट हों? मुझे सीधे एक अलग समस्या को सेट करने के लिए इसकी आवश्यकता हो सकती है: askubuntu.com/questions/573502/…
मैट

4
पहला नंबर ड्राइव है जैसा कि BIOS द्वारा रिपोर्ट किया गया है। लेकिन बूट ड्राइव हमेशा एचडी 0 होता है, इसलिए ड्राइव ऑर्डर बदल सकता है। फिर दूसरा नंबर पार्टीशन नंबर है। यदि sda3 HD0,3 है यदि आप sda ड्राइव से बूट करते हैं। लेकिन अगर आप sdb से बूट करते हैं, तो यह hd1,3 हो सकता है। कभी-कभी आपको सिर्फ प्रयोग करना होता है।
ओल्डफ्रेड

साथ ही खिड़कियों प्रविष्टियों को जोड़ने के साथ sudo अद्यतन-भोजन के काम करता है
superl2

9

मुझे पता चला कि ड्राइव के UUID का उपयोग कैसे करना है, उपयोगी है यदि आपके पास बूट समय पर कई ड्राइव प्लग हैं। अपने नोट के बारे में /vmlinuxऔर सहानुभूति के लिए पुराने के लिए क्रेडिट /initrd.img

इसे फाइल में जोड़ें /etc/grub.d/40_custom, UUID=XXXX-YYYYविभाजन UUID के साथ प्रतिस्थापित करें (कमांड के साथ UUID प्राप्त करें blkid)

menuentry "Boot from USB Drive" {
    set root=UUID=XXXX-YYYY
    linux /vmlinuz root=UUID=XXXX-YYYY ro quiet splash
    initrd /initrd.img
}

8
यह निश्चित रूप से उपरोक्त प्रश्न का उत्तर नहीं है। आपको पुराने के जवाब को स्वीकार करना चाहिए था।
डेमिस पाल्मा

1
@किरी: किसी और के जवाब की नकल करना और खुद को इसका श्रेय देना बुरा व्यवहार माना जाता है। हां, भले ही आपने UUID भाग जोड़ा हो।
लेनार्ट रोलैंड

2

उबंटू लाइव यूएसबी मेनू प्रविष्टि से बूट करने के लिए /etc/grub.d/40_customइस तरह दिखना चाहिए ( अपने विभाजन के यूआईडी के साथ बदलेंDRIVE_UUID ):

menuentry "Boot from LIVE USB Drive" {
   search --set=root --fs-uuid DRIVE_UUID
   linux ($root)/casper/vmlinuz boot=casper quiet splash --
   initrd ($root)/casper/initrd.lz
}

परिवर्तन चलाने के लिए आवेदन करें:

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