क्या मैं BIOS और UEFI दोनों को बूट करने के लिए एक फ्लैश ड्राइव पर grub2 स्थापित कर सकता हूं


5

खैर, जाहिर है, मैं कर सकता हूं, क्योंकि सभी लिनक्स डिस्ट्रोस को हाइब्रिड आईएसओ के रूप में वितरित किया जाता है जो BIOS और यूईएफआई दोनों को बूट कर सकता है।

सवाल यह है कि कैसे? मैंने सोचा था कि मैं grub-installदो बार भाग सकता हूं :

grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX
grub-install --target x86_64-efi --efi-directory /mnt --boot-directory=/mnt/boot --removable

और यह कि यह दोनों को स्थापित करेगा। हालांकि, एक क्लोब दूसरे को नहीं करता है?

जब यह नीचे आता है, तो मैं पर्याप्त नहीं समझता कि ग्रब एमबीआर (BIOS या UEFI मोड) में क्या स्थापित करता है। सिद्धांत रूप में, यूईएफआई को एमबीआर के बारे में परवाह नहीं करनी चाहिए, लेकिन सिर्फ अनिश्चित।

FYI करें, grub-installVirtualBox में उबंटू लाइवसीडी के बंद होने के कारण, ठीक है, क्योंकि यह वहां था।


1
मेरे अपने प्रश्न का उत्तर देने के लिए, यह सिर्फ काम करता है। मुझे लगता है कि आपको पहले BIOS चलाने की आवश्यकता है, फिर ईएफआई, लेकिन यह काम करता है।
डायन

जवाबों:


2

हां, आप बस Grub2 EFI और लिगेसी को एक साथ स्थापित कर सकते हैं। वे एक-दूसरे को पसंद नहीं करते हैं और आदेश देने से कोई फर्क नहीं पड़ता।

इसके लिए कार्य करने की पूर्व शर्त यह है कि आप GPT विभाजन का उपयोग करें और आपके पास एक BIOS बूट विभाजन (1 MiB पर्याप्त है)।

अन्यथा, विरासत MBR Grub2 स्थापित विफल हो जाएगा क्योंकि इसके मध्यवर्ती चरण के लिए पर्याप्त जगह नहीं है।

Grub2 स्थापित कमांड इस तरह दिखते हैं - MBR में स्थापित करने के लिए:

grub2-install --target=i386-pc /dev/sdb

और ईएफआई सिस्टम विभाजन (ईएसपी) में स्थापित करने के लिए यह (या तो ईएसपी के तहत माउंट होने के बाद /boot/efi) है

grub2-install --target x86_64-efi

या, फेडोरा जैसे वितरण पर इसके बजाय:

dnf reinstall grub2-efi-x64 shim-x64

(ग्रब 2-वहां भी काम करता है, लेकिन एक अतिरिक्त पैकेज की जरूरत है और सुरक्षित बूट तोड़ता है)


एक लंबे समय के बाद से मैं इस सवाल पोस्ट किया है। तब से, मैंने फाइलसिस्टम, बूटलोडर्स, इत्यादि की संरचनाओं में बहुत गहराई से प्रवेश किया है। मैं लंबे समय से जब भी संभव हो, ग्रब का उपयोग करना बंद कर देता हूं, और सिंपल लोडर करता हूं, सिवाय इसके कि जब मुझे वास्तव में मल्टी-बूट करने की आवश्यकता हो। धन्यवाद!
दीच

1

आप इस tuto_by_sysmatck_ubuntuforums.org को आज़मा सकते हैं

पहला चरण: USB ड्राइव को फॉर्मेट करें

EFI फर्मवेयर संगत बूट ड्राइव बनाने के लिए, आपको GPT विभाजन तालिका और कम से कम एक FAT32 विभाजन की आवश्यकता है। निम्नानुसार करें ...

sudo apt-get install gdisk
sudo sgdisk --zap-all /dev/sdb

कर्नेल को इसके बारे में जानकारी अपडेट करने के लिए आपको इस बिंदु पर फिर से USB ड्राइव को निकालना और डालना होगा ...

sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdb
sudo mkfs.vfat -F32 -n GRUB2EFI /dev/sdb1

दूसरा चरण: कॉपी फ़ाइलों और सेट निर्देशिका संरचना

Usb ड्राइव को माउंट करते हैं

sudo mount -t vfat /dev/sdb1 /mnt -o uid=1000,gid=1000,umask=022

जीवन को आसान बनाने के लिए, मैंने आपको संशोधित करने के लिए सभी आवश्यक फ़ाइलों के साथ एक पैक बनाया, जैसे आपको usb-pack_efi की आवश्यकता है । यदि आपको मेरी फ़ाइलों पर भरोसा नहीं है, तो इस पृष्ठ को संदर्भ के रूप में उपयोग करके बनाएं ।

ज़िप फ़ाइल को निकालें और उन आंतरिक फाइलों को कमांड लाइन इंटरफ़ेस या किसी फ़ाइल प्रबंधक का उपयोग करके पेस्ट करें।

cd ~/Downloads/
unzip usb-pack_efi.zip
rsync -auv usb-pack_efi/ /mnt

32bit मशीनों पर बूट करने के लिए सबसे महत्वपूर्ण फाइलें हैं बूटिया 32.efi, 64bit मशीनों पर बूट करने के लिए bootx64.efi और ISO या चेनलोड को अन्य रास्तों पर लोड करने के लिए grub.cfg को सेटअप करने के लिए grub.cfg। अंत में, आपको इस तरह एक डायरेक्टरी ट्री मिल सकता है: यहाँ छवि विवरण दर्ज करें

तीसरा चरण: ड्राइव पर GRUB2 स्थापित करें

sudo grub-install --removable --boot-directory=/mnt/boot --efi-directory=/mnt/EFI/BOOT /dev/sdb

चौथा चरण: आईएसओ को लोड किया जाना है

उन (.iso) फ़ाइलों को (प्रतिलिपि) डालें , जिन्हें आप मौजूदा उदाहरणों की तरह लोड /mnt/iso/और सेटअप करना grub.cfgचाहते हैं ...

ध्यान दें कि सेट करने के लिए सबसे महत्वपूर्ण चर isofile है। वेब पर बहुत सारे उदाहरण हैं कि grub2 मेनू को कैसे कॉन्फ़िगर किया जाए। #उन पंक्तियों पर टिप्पणी करने के लिए उपयोग करें जिन्हें आप उपयोग नहीं करना चाहते हैं, उदाहरण के लिए / iso पर अनुपस्थित .iso का कॉन्फ़िगरेशन छिपाने के लिए।

अंतिम चरण: फर्मवेयर और टेस्ट को कॉन्फ़िगर करें और सबसे महत्वपूर्ण, अपने कंप्यूटर के फर्मवेयर पर सुरक्षित बूट को निष्क्रिय करें। यदि आप नहीं जानते कि वेब पर खोजें।

USB ड्राइव को बूट करने के लिए आप USB डिवाइस (बूट ऑर्डर) के लिए सबसे पहले सर्च करने के लिए अपना मशीन फर्मवेयर सेट कर सकते हैं। या आप अपने कंप्यूटर को चालू करते ही बूट करने के लिए क्या ड्राइव चुन सकते हैं। इसे करने के लिए प्रत्येक निर्माता की अपनी कुंजी है। यदि आवश्यक हो तो अपनी मशीन के मैनुअल के लिए खोजें।

धन्यवाद sysmatck


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