संपादित करें में जोड़ा गया TL, DR:
प्रश्न है:
मैं एक ही UEFI बूट विभाजन पर Windows बूट प्रबंधक पर GRUB को प्राथमिकता कैसे दे सकता हूं?
समस्या ग्रब के साथ नहीं है; जब BIOS इसे शुरू करता है तो ग्रब सही काम करता है। समस्या "डिस्क बूट करने योग्य नहीं है" के साथ नहीं है, क्योंकि विंडोज यूईएफआई बूटस्ट्रैप और ग्रब यूईएफआई बूटस्ट्रैप दोनों बूट करने योग्य हैं। समस्या यह है कि UEFI बूटस्ट्रैप BIOS से बूट करने का विकल्प चुनता है।
मैं एक नया कंप्यूटर स्थापित कर रहा हूं, और इसे उबंटू में डिफ़ॉल्ट बूट द्वारा चाहता हूं, लेकिन बूट पर विंडोज का चयन करने का विकल्प है। यह विशेष रूप से महत्वपूर्ण है अगर शक्ति बाहर जाती है और वापस आती है; मैं घर में भी नहीं रहूंगा।
मैंने अपनी आंतरिक NVMe डिस्क पर Ubuntu 17.04 स्थापित करके शुरू किया, आधी डिस्क का उपयोग करने के लिए GPT के साथ विभाजन और एक अलग UEFI बूट विभाजन। GRUB बूट जो ठीक है, और मुझे स्टार्ट-अप पर GRUB बूट मेनू दिखाई देता है जहाँ मैं GRUB के बारे में जो भी आइटम चुन सकता हूँ।
फिर मैंने हाल ही में डाउनलोड किए गए आईएसओ से विंडोज 10 प्रो स्थापित किया। इसने एक ही यूईएफआई विभाजन पर विंडोज बूट मैनेजर स्थापित किया, और उबंटू बरकरार (महान!) छोड़ दिया और वह बूट विंडोज 10 में ठीक हो गया।
हालाँकि, इसने "कुछ" किया जो UEFI फर्मवेयर को पावर-अप पर GRUB के बजाय तुरंत विंडोज बूट मैनेजर का चयन करता है। लिनक्स को बूट करने का एकमात्र तरीका अब BIOS बूट मैनेजर (मेरे BIOS पर F11) का उपयोग करना है और मैन्युअल रूप से GRUB बूट लोडर का चयन करना है। यूईएफआई BIOS जानता है कि यूईएफआई विभाजन पर कई बूट करने योग्य अधिष्ठापन हैं, क्योंकि मैं बूट प्रबंधक में उनके बीच चयन कर सकता हूं। हालाँकि, जब मैं UEFI BIOS में सेटअप मेनू में हूँ, तो यह मुझे बूट प्राथमिकता चयन में "UEFI बूट माय इंटरनल ड्राइव" चुनने की सुविधा देता है - यह मुझे उस विभाजन पर विशेष बूट लोडर चुनने की अनुमति नहीं देता है । और, डिफ़ॉल्ट रूप से, यह विंडोज को चुनता है, GRUB को नहीं।
इंटर्नेट्स (और इस साइट) का सुझाव है कि इसे ठीक करने का पुराना तरीका है update-grub
(इसलिए GRUB विंडोज को पहचानता है) और फिर grub-install
(GRUB को डिवाइस पर वापस लाने के लिए।) मैंने ऐसा किया है, लेकिन दुर्भाग्य से, यह अभी भी व्यवहार के रूप में है। ऊपर वर्णित है, जहां डिफ़ॉल्ट रूप से BIOS विंडोज बूट प्रबंधक चुनता है। ( update-grub
विंडोज बूट मैनेजर इंस्टॉल करता है, और मेनू में इसे जोड़ता है, और वह मेनू आइटम तब काम करता है जब मैं मैन्युअल रूप से UEFI बूट प्रबंधक में GRUB विभाजन का चयन करता हूं।)
मैं अपने UEFI बूट विभाजन पर GRUB को "डिफ़ॉल्ट" बूट बनाने के लिए क्या कर सकता हूं?
MSI X399 कार्बन मदरबोर्ड का उपयोग करना।
दूसरा संपादित: क्योंकि सही उत्तर समाप्त होता है एक टिप्पणी में एक टिप्पणी में उल्लेख किया जा रहा है, मैं इसे यहाँ दोहराऊंगा:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.