rEFInd मेनू दोहरी मैक / उबंटू मशीन पर नहीं दिखा रहा है


10

मैं rEFInd के साथ थोड़ी समस्या कर रहा हूं और इसके बारे में कुछ विशिष्ट नहीं पा रहा हूं।

मैंने सफलतापूर्वक मैक मैक प्रो 3.1 पर OS X Yosemite के साथ डुअल बूट के लिए Ubuntu 14.04 स्थापित किया है। rEFInd का उपयोग कर रहा हूं, लेकिन अब Ubuntu में बूट करने के बाद rEFInd मेनू रिबूट के बाद दिखाई नहीं देता है। यह सीधे ग्रब में जाता है। ओएस एक्स में फिर से बूट करने के बाद (स्टार्टअप पर विकल्प कुंजी का उपयोग करके) कभी-कभी rEFInd आता है, कभी-कभी नहीं, यह पता नहीं लगा सकता है कि यह कैसे ट्रिगर होता है।

क्या यह सुनिश्चित करने का कोई तरीका है कि REFInd पहले आ रहा है, इससे कोई फर्क नहीं पड़ता कि मैंने पहले कौन सा OS बूट किया था?


संपादित करें

उपयोग efibootmgr -vमुझे देता है:

BootCurrent: 0001
Timeout: 5 seconds
BootOrder: 0001,0080,0000
Boot0000* opensuse-secureboot   HD(4,1962b000,4e800,11f33185-0ff8-493d-86bd-b9fee568adb8)File(\EFI\opensuse\shim.efi)
Boot0001* ubuntu    HD(1,28,64000,7e798e0a-82c3-4719-95ed-d79675efd190)File(\EFI\ubuntu\shimx64.efi)
Boot0080* Mac OS X  HD(1,28,64000,7e798e0a-82c3-4719-95ed-d79675efd190)File(\EFI\refind\refind_x64.efi)
Boot0081* Mac OS X ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,1d02ba00,0b1ce04a-50b7-40b5-94f0-1a255d748d15)
Boot0082* ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,19490d60,20cc89c9-1320-4d70-b8bb-fffdf9900374)
BootFFFF* ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,19490d60,20cc89c9-1320-4d70-b8bb-fffdf9900374)File(\System\Library\CoreServices\boot.efi)

अगर मैंने नेक्स्टबूट -nको 0080 के साथ गोद लिया है, तो रिबूट के बाद, rEFInd आता है। FFFF मुझे सीधे OSX में लाता है। 0081 फेल होता दिख रहा है।

सहायता के लिए धन्यवाद!


यहाँ rEFind का आधिकारिक लेख प्रतीत होता है: "लिनक्स से एक तख्तापलट का उपयोग करके पुनर्प्राप्त करना" या "अपने बूट प्राथमिकता को समायोजित करने के लिए efibootmgr का उपयोग करना" मदद करेगा: rodsbooks.com/refind/bootcoup.html
kusju

जवाबों:


11

ओएस कभी-कभी डिफ़ॉल्ट बूट प्रोग्राम को रीसेट करते हैं, खासकर यदि वे अपने मानक बूट लोडर को अपग्रेड करते हैं। वास्तव में ऐसा होने से रोकने का कोई तरीका नहीं है, इसलिए आपको बस यह जानना चाहिए कि समस्या होने पर उसे कैसे ठीक किया जाए। लिनक्स में, यह efibootmgrप्रोग्राम का उपयोग करके किया जाता है । OS X में, इसके माध्यम से किया जाता है bless। अधिक के लिए यहां देखें efibootmgr

अगर हर बार जब आप रिबूट करते हैं तो यह बाजीगरी हो रही है, तो कुछ गंभीर बात है। यदि उबंटू हर रिबूट पर GRUB को डिफ़ॉल्ट के रूप में रीसेट कर रहा है, तो व्यक्तिगत रूप से, मैं इसे हटा दूंगा - लेकिन मैं GRUB का प्रशंसक नहीं हूं (पर्याप्त है ताकि मैंने GREF से निपटने के बजाय rEFInd बनाने के लिए rEFIt को त्याग दिया)। मुझे लगता है कि आप एक शटडाउन स्क्रिप्टefibootmgr में एक कॉल भी डाल सकते हैं , लेकिन यह वास्तविकता से डिस्कनेक्ट होने और समस्याओं का कारण बनने का जोखिम चलाता है, इसलिए मैं ऐसा करने के लिए अनिच्छुक हूं।


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

हाँ, BootOrderचर ( -oविकल्प के माध्यम से efibootmgr) में बदलना जैसा कि आप सुझाव देते हैं, उचित है। आप के साथ OpenSUSE प्रविष्टि को हटा सकते हैं:

sudo efibootmgr -b 0 -B

वहाँ OpenSUSE फ़ाइलों को स्थापित किया जा सकता है जिन्हें आप उपयोग कर सकते हैं rm- शायद sudo rm -r /boot/efi/EFI/opensuseउबंटू से। (इन फ़ाइलों को प्रति se कोई नुकसान नहीं करना चाहिए, लेकिन वे भ्रामक हो सकते हैं या भविष्य में गलती से फिर से सक्रिय हो सकते हैं।) आप उबंटू GRUB को एक समान तरीके से हटा सकते हैं, हालांकि यह उबंटू के होने पर / फिर से स्थापित किया जा सकता है। भविष्य में इसे अपडेट करता है। इसके अलावा, इसे बूट करने की एक बैकअप विधि के रूप में इधर-उधर रखने से समझ में आ सकता है।

तुम्हें छोड़ उबंटू के GRUB स्थापित लेकिन refind के मेनू में यह देखने के लिए नहीं करना चाहते हैं, तो आप उपयोग कर सकते हैं dont_scan_dirsया dont_scan_filesमें refind.conf(शायद /boot/efi/EFI/refind/refind.confउबंटू से) GRUB प्रविष्टि को छिपाने के लिए।


कृपया मेरा संपादन ऊपर देखें। इसलिए अगला कदम, मेरा मानना ​​है कि ओपनस्यूस-एंट्री को हटाना होगा (मैंने कुछ समय पहले इस डिस्ट्रो को हटा दिया था) और उदाहरण के लिए बूटऑर्डर को "0080,0001, FFFF" पर सेट किया। क्या वो सही है? इसके अतिरिक्त मैं GRUB2 को पूरी तरह से हटाने के लिए बुरा नहीं मानूंगा, लेकिन मैं इसे कैसे कर सकता हूं और सीधे Ubuntu में बूट करने के लिए rEFInd प्राप्त कर सकता हूं? क्या मुझे आपकी वेबसाइट पर बताए अनुसार EFI स्टब लोडर स्थापित करना होगा? एक बार फिर धन्यवाद!
पॉलकर्नस्टॉक

कृपया मेरा संपादन ऊपर देखें।
रॉड स्मिथ

अब यह निश्चित रूप से मेरे सवाल का हल है। लेकिन इससे पहले कि मैं GRUB2 को हटाऊं मैं चाहूंगा कि rEFInd को उबंटू में अपना रास्ता मिल जाए, लेकिन यह नहीं है। REFInd मेनू में मुझे दो उबंटू प्रविष्टियाँ दिखाई देती हैं, एक जो "grub_x64" कहती है और एक जो कर्नेल vmlinuz-3.13.0-67-जेनेरिक का उपयोग करके सीधे उबंटू में बूट करने की कोशिश करती है, जो चयनित होने पर, rEFInd- बूटिंग-प्रॉम्प्ट में लटकाएगी । मेनू में F2 को हिट करने से मैं अपना वास्तविक संस्करण (3.19.0-32-जेनेरिक) चुन सकूंगा, लेकिन उसी परिणाम के साथ। जब F2 को फिर से मारते हैं तो विकल्प /boot/refind_linux.conf में दिखाई ro quiet splash nomodeset vt.handoff=7देते हैं जो GRUB के समान हैं।
पॉलकर्नस्टॉक

में एक root={something}विनिर्देश है refind_linux.conf? यदि नहीं, तो इसे जोड़ना होगा। mkrlconfREFInd के साथ आने वाली स्क्रिप्ट को चलाकर आपको यह काम करने में सक्षम होना चाहिए , लेकिन आपको संभवतः --forceविकल्प जोड़ना होगा , जैसे कि sudo mkrlconf --force(लेकिन शायद पूरे रास्ते के साथ mkrlconf)। यदि वह root=विकल्प अभी भी छोड़ता है , तो कृपया मुझे दिखाएं कि जब आप टाइप करते हैं तो क्या होता है cat /proc/cmdline
रॉड स्मिथ

refind-linux.confकि मैं अपने का उपयोग करके बनाया mkrlconf-script एक साथ तीन प्रविष्टियां हैं root=-specification (देखें यहाँ )। GRUB2 में मुझे nomodesetअपने nVidia-GPU को चलाने के लिए विकल्प जोड़ना था । cat /proc/comdlineमुझे देता है BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7:। इसके अलावा बूट प्रक्रिया rEFInd- बूटिंग-स्क्रीन में नेत्रहीन रूप से लटकी होने के बावजूद, सिस्टम शुरू होता है, उदाहरण के लिए मेरा प्रशंसक-नियंत्रण-डेमॉन शुरू हो रहा है और प्रशंसक धीमी गति से चलते हैं।
पौलकेर्नस्टॉक

8

यह मेरे साथ हुआ और मैंने इसे उबंटू में रहते हुए निम्नलिखित के साथ तय किया (यह आपके Ubuntu बूट के रूप में आपके मामले के लिए विशिष्ट है Boot0001*):

sudo efibootmgr -o 80,1

यदि आप फिर से टाइप करते हैं sudo efibootmgr, तो आपका बूट ऑर्डर अभी होना चाहिए BootOrder: 0080,0001। यह गारंटी देता है कि मैक को पहले बूट किया गया है, और जब से मैक में rEFInd स्थापित किया गया था, तब इसे पहले आना चाहिए।

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