एक दिन के शोध के बाद, अब मैं अपने स्वयं के प्रश्न का उत्तर दे सकता हूं: हां यह संभव है, और आप उस विभाजन का उपयोग / बूट के रूप में भी कर सकते हैं और अपनी गुठली / इनिट्रामाफ़्स / आदि को स्टोर कर सकते हैं। क्या आप वहां मौजूद हैं।
आवश्यकताएँ:
- ग्रब> = 2.00 (1.98 और 1.99 काम नहीं करते)
- ग्रब को लिनक्स कर्नेल से स्थापित किया जाना चाहिए, जिसमें EFI चर (
CONFIG_EFI_VARS
मॉड्यूल में या इसके रूप में संकलित efivars
) के लिए समर्थन है
- EFI बूट प्रविष्टि बनाने के लिए आपको आवश्यकता होगी
efibootmgr
सेट अप:
सबसे पहले अपने EFI पार्टीशन को / boot पर माउंट करें
mount /dev/sdX1 /boot
यदि आप माउंट प्रविष्टि को देखते हैं, तो आप देखेंगे, कि यह केवल FAT (32) विभाजन है। इसके तहत /boot
आपको एक निर्देशिका मिलनी चाहिए efi
।
जैसे ही ग्रब कॉल करेगा efibootmgr
, आपको लोड करना चाहिए evivars
, अगर यह कर्नेल में संकलित नहीं है:
modprobe efivars
अब आप ग्रब स्थापित कर सकते हैं:
# Replace x86_64 by i386 for 32 bit installations
grub2-install --target=x86_64-efi
ग्रब हमेशा की तरह अपनी फ़ाइलों को स्थापित करता है /boot/grub2
। यदि सब कुछ सही ढंग से काम करता है, तो आपके पास अब एक फ़ोल्डर /boot/efi/grub2
या भी होना चाहिए /boot/efi/your_distros_name
। साथ --bootloader-id=isert_name_here
आप भी फ़ोल्डर खुद के लिए नाम निर्दिष्ट कर सकते हैं।
ग्रब efibootmgr
स्वचालित रूप से कॉल करता है और EFI बूट मेनू में उस नाम के साथ एक बूट प्रविष्टि बनाता है (मेरे मामले में, इसका मतलब है कि यह EFI मेनू में एक बूट करने योग्य उपकरण के रूप में दिखाई देता है, यह सुनिश्चित नहीं है कि यह हर EFI बोर्ड पर है)
आगे का सेटअप सामान्य ग्रब 2 सेटअप से भिन्न नहीं है, grub2-mkconfig
आपके लिए ईएफआई के लिए उपयुक्त मॉड्यूल जोड़ देगा grub.cfg
।
विंडोज लोड हो रहा है:
जैसा कि मैंने विंडोज के साथ एक दोहरी बूट के लिए कहा है, मैं इसे चेनलोड करने के लिए ग्रब कॉन्फ़िगरेशन शामिल करूंगा:
EFI पर एक विंडोज इंस्टालेशन को लोड करना MBR डिस्क पर एक से थोड़ा अलग है। आपको इसके बजाय ntfs
या part_mbr
मॉड्यूल की आवश्यकता नहीं होगी fat
और इसकी part_gpt
आवश्यकता है।
साथ ही, सेटिंग रूट की आवश्यकता नहीं है, यह जानकारी विंडोज के अपने बूट मैनेजर द्वारा संग्रहीत की जाती है। इसके बजाय search
आदेश निर्दिष्ट करें । इसके लिए आवश्यक पैरामीटर द्वारा निर्धारित किया जा सकता है
grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
यह आपको EFI विभाजन के स्थान को खोजने के लिए मापदंडों को देगा, यह कुछ इस तरह दिखना चाहिए:
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
chainloader
पढ़ने के लिए क्षेत्रों की संख्या बताने के बजाय , आपको ईएफआई विभाजन में विंडोज के ईएफआई लोडर के लिए पथ निर्धारित करना होगा। यह सभी विंडोज ईएफआई प्रतिष्ठानों के लिए समान है। परिणामी प्रविष्टि इस तरह दिखनी चाहिए:
menuentry "Microsoft Windows x86_64 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root <insert ouput from grub-probe here>
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
स्रोत: ये कुछ और मामलों को कवर करते हैं, यदि आप EFI से बूट करना चाहते हैं, तो वे पढ़ने योग्य हैं:
mount /dev/sdXX /boot/efi
है, तो इसके बाद इस और भागbcdedit /set {bootmgr} path \EFI\fedora\shim.efi
बूटस्ट्रैप EFI के लिए खिड़कियों से।