เมนู rEFInd ไม่แสดงบนเครื่อง Mac / Ubuntu คู่


10

ฉันมีปัญหาเล็กน้อยกับ rEFInd และไม่พบสิ่งที่เฉพาะเจาะจงเกี่ยวกับเรื่องนี้

ฉันติดตั้ง Ubuntu 14.04 สำเร็จสำหรับการบู๊ตคู่กับ OS X Yosemite บน MacBook Pro 3.1 ของฉันโดยใช้ rEFInd แต่ตอนนี้หลังจากบูตเข้าสู่ Ubuntu เมนู rEFInd จะไม่แสดงหลังจากรีบูต มันเข้าสู่ด้วงโดยตรง หลังจากบูทเข้าสู่ OS X อีกครั้ง (โดยใช้ปุ่มตัวเลือกเมื่อเริ่มต้น) บางครั้ง rEFInd ก็เกิดขึ้นบางครั้งก็ไม่สามารถหาวิธีที่มันถูกทริกเกอร์ได้

มีวิธีการเพื่อให้แน่ใจว่า rEFInd กำลังจะมาถึงก่อนไม่ว่าระบบปฏิบัติการใดที่ฉันเปิดใช้ก่อนหน้านี้


แก้ไข

ใช้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)

หากฉันตั้งค่า NextBoot ด้วย -option เป็น-n0080 หลังจากรีบูต rEFInd จะปรากฏขึ้น FFFF นำฉันเข้าสู่ OSX โดยตรง 0081 ดูเหมือนจะล้มเหลว

ขอบคุณสำหรับความช่วยเหลือ!


ที่นี่น่าจะเป็นบทความอย่างเป็นทางการของ rEFind: "การกู้คืนจากรัฐประหารโดยใช้ Linux" หรือ "การใช้ efibootmgr เพื่อปรับลำดับความสำคัญในการบูตของคุณ" จะช่วย: rodsbooks.com/refind/bootcoup.html
— kenju

คำตอบ:


11

บางครั้งระบบปฏิบัติการรีเซ็ตโปรแกรมบูตเริ่มต้นโดยเฉพาะอย่างยิ่งหากพวกเขาอัปเกรดบูตโหลดเดอร์มาตรฐาน ไม่มีวิธีใดที่จะป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ดังนั้นคุณต้องรู้วิธีแก้ไขปัญหาเมื่อเกิดขึ้น ใน Linux สิ่งนี้ทำได้โดยใช้efibootmgrโปรแกรม ใน OS X blessก็ทำได้ผ่านทาง ดูที่นี่efibootmgrสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ

หากการเล่นปาหี่นี้เกิดขึ้นทุกครั้งที่คุณรีบูตแสดงว่ามีบางอย่างผิดปกติ หาก Ubuntu ตั้งค่า GRUB เป็นค่าเริ่มต้นในทุก ๆ การรีบูตโดยส่วนตัวแล้วฉันจะลบมันออก - แต่ฉันไม่ใช่แฟนของ GRUB (เพียงพอที่ฉันจะแยก rEFIt เพื่อสร้าง rEFInd แทนที่จะจัดการกับ GRUB) ฉันคิดว่าคุณสามารถโทรเข้ามาefibootmgrในสคริปต์ปิดเครื่องแต่นั่นก็เสี่ยงที่จะถูกตัดการเชื่อมต่อจากความเป็นจริงและทำให้เกิดปัญหาดังนั้นฉันจึงลังเลที่จะทำเช่นนั้น


แก้ไข:

ใช่การเปลี่ยนBootOrderตัวแปร (ผ่าน-oตัวเลือกเป็นefibootmgr) ตามที่คุณแนะนำเหมาะสม คุณสามารถลบรายการ OpenSUSE ด้วย:

sudo efibootmgr -b 0 -B

อาจมีไฟล์ OpenSUSE ติดตั้งซึ่งคุณสามารถลบโดยใช้rm- อาจsudo rm -r /boot/efi/EFI/opensuseมาจาก Ubuntu (ไฟล์เหล่านี้ไม่ควรทำอันตรายใด ๆ ต่อไฟล์ แต่อาจทำให้สับสนหรือถูกเปิดใช้งานอีกครั้งโดยไม่ตั้งใจในอนาคต) คุณสามารถลบ Ubuntu GRUB ในลักษณะที่คล้ายกันแม้ว่ามันอาจจะถูกติดตั้งใหม่หาก / เมื่อ Ubuntu อัปเดตในอนาคต นอกจากนี้การทำให้เป็นรอบเป็นวิธีการสำรองข้อมูลการบูตอาจทำให้รู้สึก

หากคุณปล่อยให้ติดตั้ง GRUB ของ Ubuntu แต่ไม่ต้องการดูในเมนู rEFInd คุณสามารถใช้dont_scan_dirsหรือdont_scan_filesในrefind.conf(อาจ/boot/efi/EFI/refind/refind.confมาจาก Ubuntu) เพื่อซ่อนรายการ GRUB


โปรดดูการแก้ไขของฉันด้านบน ดังนั้นขั้นตอนต่อไปฉันจะสมมติว่าจะลบ opensuse-entry (ฉันลบ distro นี้เมื่อไม่นานมานี้) และตั้งค่า BootOrder เป็น "0080,0001, FFFF" ถูกต้องหรือไม่ นอกจากนี้ฉันจะไม่สนใจที่จะลบ GRUB2 ทั้งหมด แต่ฉันจะทำเช่นนี้และรับ rEFInd เพื่อบูตเข้าสู่ Ubuntu ได้โดยตรงหรือไม่ ฉันจะต้องติดตั้ง EFI Stub Loader ตามที่ระบุไว้บนเว็บไซต์ของคุณหรือไม่? ขอบคุณอีกครั้ง!
— paulkernstock

โปรดดูการแก้ไขของฉันด้านบน
— Rod Smith เมื่อ

ตอนนี้คำถามของฉันแก้ไขได้อย่างแน่นอน แต่ก่อนที่ฉันจะลบ GRUB2 ฉันต้องการให้ rEFInd เข้าสู่ Ubuntu แต่ก็ไม่ได้ ในเมนู rEFInd ฉันเห็นรายการ Ubuntu สองรายการรายการหนึ่งที่ระบุว่า "grub_x64" และรายการที่พยายามบูตโดยตรงไปยัง Ubuntu โดยใช้เคอร์เนล vmlinuz-3.13.0-67-generic ซึ่งเมื่อเลือกจะหยุดใน rEFInd-booting-prompt . การกดปุ่ม F2 ในเมนูจะให้ฉันเลือกเวอร์ชันจริงของฉัน (3.19.0-32-generic) แต่ด้วยผลลัพธ์เดียวกัน เมื่อกดปุ่ม F2 อีกครั้งตัวเลือกจะแสดงเป็น /boot/refind_linux.conf ro quiet splash nomodeset vt.handoff=7ซึ่งเหมือนกับใน GRUB
— paulkernstock

มีสroot={something}เปคrefind_linux.confหรือไม่? หากไม่จำเป็นต้องเพิ่ม คุณควรจะสามารถทำงานนี้ได้โดยการเรียกใช้mkrlconfสคริปต์ที่มาพร้อมกับ rEFInd แต่คุณอาจต้องเพิ่ม--forceตัวเลือกดังเช่นในsudo mkrlconf --force(แต่อาจใช้เส้นทางที่สมบูรณ์mkrlconf) หากที่ยังคงละเว้นตัวเลือกกรุณาแสดงให้ฉันดูสิ่งที่เกิดขึ้นเมื่อคุณพิมพ์root= cat /proc/cmdline
— Rod Smith เมื่อ

สิ่ง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- การบูทระบบก็ดูเหมือนว่าจะเริ่มต้นตัวอย่างเช่น fan-control-daemon ของฉันกำลังเริ่มทำงานและแฟน ๆ ก็ทำงานช้า
— paulkernstock

8

สิ่งนี้เกิดขึ้นกับฉันและฉันแก้ไขด้วยสิ่งต่อไปนี้ใน Ubuntu (นี่เป็นกรณีเฉพาะของคุณเนื่องจากการบูต Ubuntu ของคุณBoot0001*):

sudo efibootmgr -o 80,1

ถ้าคุณพิมพ์อีกครั้งsudo efibootmgr, BootOrder: 0080,0001ลำดับการบูตของคุณควรจะตอนนี้ สิ่งนี้รับประกันได้ว่า Mac จะถูกบูทก่อนและเนื่องจากมีการติดตั้ง rEFInd ใน Mac จึงควรเริ่มต้นขึ้นก่อน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.