यह उबंटू फोरम में nerasezi द्वारा एक संशोधित पोस्ट है
यूईएफआई के लिए मुख्य स्रोत उबंटू यूईएफआई गाइड था
निम्नलिखित कदम उसने किए हैं:
एक लाइव सीडी का उपयोग करें जो यूईएफआई वास्तुकला से मेल खाता है। अधिकतर x86-64। लाइव सीडी (xubuntu या lubuntu) को बूट करें। वे हल्के डेस्कटॉप हैं लेकिन इसे उबंटू और कुबुंटु के साथ भी काम करना चाहिए)।
सुनिश्चित करें कि आपका लाइव सिस्टम UEFI मोड में बूट हो रहा है। आप इसे यूईएफआई सेटअप पर जांच सकते हैं, शायद बूट विकल्प या इसी तरह के तहत। मेरे मामले में यह सिर्फ डिवाइस के नाम से पहले "यूईएफआई" उपसर्ग लगाता है।
एक बार लाइव सिस्टम टर्मिनल के माध्यम से रूट पासवर्ड सेट करके चल रहा है
sudo passwd root
फिर डिफ़ॉल्ट लाइव सीडी उपयोगकर्ता से लॉग आउट करें और गुई मोड में रूट के रूप में लॉग इन करें। हार्ड ड्राइव में प्लग करें। मैं USB3 पोर्टेबल HDD का उपयोग करता हूं लेकिन ज्यादातर मामलों में हार्ड ड्राइव एक SATA आंतरिक ड्राइव है। वैसे भी, सुनिश्चित करें कि आपने अपने सभी डेटा को वापस ले लिया है, क्योंकि इस प्रक्रिया से सब कुछ खत्म हो जाएगा। लॉन्च Gparted (एक गुई उपकरण पाठ की तुलना में बहुत आसान है) और उस ड्राइव का चयन करें जिसे आप सिस्टम में स्थापित करने के लिए तैयार हैं। (सही एक का चयन करना सुनिश्चित करें!) शीर्ष मेनू पर इंगित करें और डिवाइस का चयन करें> विभाजन तालिका बनाएं ... एक चेतावनी संदेश बाहर निकलता है। उन्नत पर क्लिक करें और "gpt" चुनें। ठीक है एक नया GPT डिस्क लेआउट बनाया गया था। अब आपको उस पर विभाजन बनाने की आवश्यकता है। यह बहुत महत्वपूर्ण है कि आप पहले और प्राथमिक विभाजन के रूप में बनाते हैं, एक FAT32 वॉल्यूम और आपको इसे लेबल EFI असाइन करना होगा। एक बार विभाजन बन जाने के बाद, उस पर राइट क्लिक करें और "फ्लैग प्रबंधित करें" चुनें। "बूट" ध्वज की जांच करें और ठीक कहें। / विभाजन के निर्माण के लिए आगे बढ़ें (आप अलग / घर और / बूट करना चाह सकते हैं। जैसा कि आप आमतौर पर करते हैं। मेरे मामले में मैंने अभी-अभी / विभाजन बनाया है), और एक स्वैप क्षेत्र। हमेशा प्राथमिक विभाजन को प्राथमिकता दें क्योंकि GPT के साथ 4 प्राथमिक विभाजन सीमा हटा दी गई है। बंद Gparted।
सिस्टम को हार्ड ड्राइव में स्थापित करें "/" पार्टीशन और याद रखें कि यहाँ बूटलोडर (GRUB 1.99) स्थापित करने के लिए। यदि आपने एक अलग "/ बूट" विभाजन बनाया है, तो आपको बूटलोडर इंस्टॉलेशन के लिए उस एक को चुनना होगा।
यहाँ UEFIBooting गाइड से भाग आता है:
बिल्डिंग GRUB2 (U) EFI
नवीनतम grub2 स्रोत कोड ज़िप फ़ाइल डाउनलोड करें। ftp://ftp.gnu.org/gnu/grub/
बिल्डिंग ग्रब 2 के लिए निम्नलिखित कार्यक्रमों को स्थापित करने की आवश्यकता है (निर्भरता का निर्माण):
बायसन ऑटोकैफ ऑटोमैटिक फ्लेक्स ऑटोजेन पायथन (2.x सीरीज़) (ऑटोजेन के लिए (अगर bzr रेपो से बिल्डिंग हो तो) texinfo help2man gettext (NLS सपोर्ट) डिवाइस-मैपर freetype2 (libs)
sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev freetype2-demos texinfo efibootmgr
efibootmgr को आपके द्वारा इंस्टॉल किए जाने वाले सॉफ़्टवेयर में जोड़ा गया क्योंकि आपको बाद में इसकी आवश्यकता होगी।
64-बिट (U) EFI के लिए:
export EFI_ARCH=x86_64
./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""
make
यदि आपके पास 32-बिट आर्किटेक्चर है, तो शीर्ष पर मेरे द्वारा दिए गए लिंक पर ऑनलाइन दस्तावेज़ देखें।
GRUB2 को (U) EFI सिस्टम में स्थापित करें
अपने EFI सिस्टम विभाजन का निर्धारण करें। (यह होना चाहिए / देव / sda1 या / देव / sdb1 अगर 2 डी एचडी पर सेट है)
फिर / mnt / EFISYS पर विभाजन को माउंट करें (या किसी भी माउंटपॉइंट पर जो आप चाहें)। EFISYS विभाजन के लिए निम्नलिखित कोड मानता / dev / sda1 है।
sudo mkdir -p /mnt/EFISYS
sudo modprobe dm-mod
sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS
sudo mkdir -p /mnt/EFISYS/efi/grub
फिर, GRUB के लिए एक EFI एप्लिकेशन बनाएं और इसे और अन्य मॉड्यूल की प्रतिलिपि बनाएँ:
"Grub2 संकलित स्रोत / ग्रब-कोर" निर्देशिका दर्ज करें - डिफ़ॉल्ट: / usr / lib / grub / {EFI_ARCH}
grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot
sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub
नोट: -p "" विकल्प एक पोर्टेबल grub.efi ऐप बनाने के लिए महत्वपूर्ण है। अब / mnt / EFISYS / efi / grub में grub.cfg बनाएं:
sudo touch /mnt/EFISYS/efi/grub/grub.cfg
फ़र्मवेयर लॉन्च GRUB2 (U) EFI को डिफ़ॉल्ट रूप से करें
गैर-मैक यूईएफआई सिस्टम के लिए, यूईएफआई फर्मवेयर बूट मैनेजर को संशोधित करने के लिए, एफिबूटमग्र का उपयोग किया जाता है। इसके लिए कर्नेल को UEFI मोड में बूट करने की आवश्यकता होती है और कर्नेल प्रोसेसर आर्किटेक्चर को 'efivars' कर्नेल मॉड्यूल को लोड करने के लिए फर्मवेयर आर्किटेक्चर (और 'noefi' का उपयोग नहीं किया जाता है) से मेल खाना चाहिए और बूट मैनेजर वेरिएबल को एक्सेस करने के लिए efibootmgr। प्रारंभ में उपयोगकर्ता को फर्मवेयर कंसोल से "efi / grub / grub.efi" को मैन्युअल रूप से लॉन्च करने की आवश्यकता होती है, अगर grub2-efi को BIOS मोड में स्थापित किया गया था। फिर बूट प्रविष्टि बनाने के लिए efibootmgr चलाया जाना चाहिए।
sudo modprobe efivars
"Grub2 संकलित स्रोत / ग्रब-कोर" निर्देशिका दर्ज करें
grub-probe --target=device /boot/efi/efi/grub/grub.efi
आउटपुट को ग्रब-जांच को / dev / sda1 मानते हैं
sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"
उपरोक्त आदेश में, / boot / efi / efi / grub / grub / efi को / boot / efi और /efi/grub/grub.efi के रूप में विभाजित किया जा सकता है, जो कि (/ dev / sda -> विभाजन 1 में अनुवाद करता है) > \ EFI \ grub \ grub.efi।
सिनैप्टिक खोलें और सभी ग्रब पैकेज को हटा दें और सिर्फ ग्रब-एफी पैकेज (मेरे लिए amd64) और सभी आवश्यक निर्भरताएं स्थापित करें। एक बार स्थापना समाप्त हो जाने के बाद, टर्मिनल में सुडो अपडेट-ग्रब चलाएं। आपको "grub.cfg" को / boot / grub से संपादित करना चाहिए और जांचना चाहिए कि डिस्क UUID आपकी डिस्क और विभाजनों से मेल खाता है, आवाज "insmod part_" और "set root = '(hd0)," gpt "textline है। यदि सब कुछ है। ठीक है, EFI सिस्टम विभाजन पर "efi / grub" के लिए "grub.cfg" की प्रतिलिपि बनाएँ। यदि मुझे पहले बताई गई कोई चीज़ मेल नहीं खाती है, तो बस grub.cfg को संपादित करें और मैन्युअल रूप से उन्हें मान बदलें। फिर फ़ाइल को "" कॉपी करें। Efi सिस्टम विभाजन पर efi / grub "निर्देशिका (अभी भी / mnt के तहत माउंट की जानी चाहिए)।
फिर जब मैंने सिस्टम को रिबूट किया, तो UEFI सेटअप के तहत बूट टैब पर एक नई प्रविष्टि दिखाई दी, जिसका नाम GRUB2 है और मैंने इसे डिफ़ॉल्ट बूट विकल्प के रूप में सेट किया है।