Saya mengalami sedikit masalah dengan rEFInd dan tidak dapat menemukan sesuatu yang spesifik tentang itu.
Saya berhasil menginstal Ubuntu 14.04 untuk dual boot dengan OS X Yosemite pada MacBook Pro 3.1 saya menggunakan rEFInd tetapi sekarang setelah boot ke Ubuntu menu rEFInd tidak muncul setelah reboot. Itu langsung masuk ke grub. Setelah mem-boot lagi ke OS X (menggunakan tombol opsi pada startup) kadang-kadang rEFInd muncul, kadang tidak, tidak bisa mencari tahu bagaimana dipicu.
Apakah ada cara untuk memastikan rEFInd akan muncul lebih dulu, tidak peduli OS mana yang saya boot sebelumnya?
Edit
Menggunakan efibootmgr -v
memberi saya:
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)
Jika saya mengatur NextBoot dengan -n
opsi-ke 0080, setelah reboot, muncul kembali. FFFF membawa saya langsung ke OSX. 0081 tampaknya gagal.
Terima kasih untuk bantuannya!
Jawaban:
OS terkadang mengatur ulang program boot default, terutama jika mereka meningkatkan boot loader standar mereka. Sebenarnya tidak ada cara untuk mencegah hal ini terjadi, jadi Anda harus tahu cara memperbaiki masalah ketika itu terjadi. Di Linux, ini dilakukan dengan menggunakan
efibootmgr
program. Di OS X, itu dilakukan viabless
. Lihat di sini untuk informasi lebih lanjutefibootmgr
.Jika juggling ini terjadi setiap kali Anda reboot, maka ada sesuatu yang salah. Jika Ubuntu mengatur ulang GRUB sebagai default pada setiap reboot, maka secara pribadi, saya akan menghapusnya - tapi saya bukan penggemar GRUB (cukup sehingga saya bercabang untuk membuat rEFInd daripada berurusan dengan GRUB). Saya kira Anda juga bisa menelepon ke
efibootmgr
dalam skrip shutdown, tetapi itu berisiko terputus dari kenyataan dan menyebabkan masalah, jadi saya enggan melakukan itu.EDIT:
Ya, mengubah
BootOrder
variabel (melalui-o
opsi keefibootmgr
) seperti yang Anda sarankan adalah tepat. Anda dapat menghapus entri OpenSUSE dengan:Mungkin ada file OpenSUSE yang diinstal yang dapat Anda hapus menggunakan
rm
- mungkinsudo rm -r /boot/efi/EFI/opensuse
dari Ubuntu. (File-file ini seharusnya tidak membahayakan, tetapi bisa membingungkan atau diaktifkan kembali secara tidak sengaja di masa mendatang.) Anda dapat menghapus GRUB Ubuntu dengan cara yang serupa, meskipun mungkin diinstal ulang jika / ketika Ubuntu memperbaruinya di masa depan. Selain itu, menyimpannya sebagai metode cadangan untuk booting mungkin masuk akal.Jika Anda membiarkan GRUB Ubuntu diinstal tetapi tidak ingin melihatnya di menu rEFInd, Anda dapat menggunakan
dont_scan_dirs
ataudont_scan_files
dalamrefind.conf
(mungkin/boot/efi/EFI/refind/refind.conf
dari Ubuntu) untuk menyembunyikan entri GRUB.sumber
ro quiet splash nomodeset vt.handoff=7
yang sama dengan di GRUB.root={something}
spesifikasirefind_linux.conf
? Jika tidak, itu perlu ditambahkan. Anda harus bisa menjalankannya dengan menjalankanmkrlconf
skrip yang datang dengan rEFInd, tetapi Anda mungkin harus menambahkan--force
opsi, seperti padasudo mkrlconf --force
(tetapi mungkin dengan path lengkap kemkrlconf
). Jika itu masih menghilangkanroot=
opsi, tolong tunjukkan apa yang terjadi ketika Anda mengetikcat /proc/cmdline
.refind-linux.conf
saya buat dengan menggunakanmkrlconf
-script Anda memiliki tiga entri denganroot=
-spesifikasi (lihat di sini ). Di GRUB2 saya harus menambahkan opsinomodeset
untuk menjalankan nVidia-GPU saya.cat /proc/comdline
memberi saya:BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7
. Meskipun proses booting menggantung secara visual di layar boot-ulang rEFI, sistem tampaknya mulai, misalnya daemon-kontrol-kipas saya sedang dimulai dan penggemar berjalan lambat.Ini terjadi pada saya dan saya memperbaikinya dengan hal-hal berikut saat berada di Ubuntu (ini khusus untuk kasus Anda seperti boot Ubuntu Anda
Boot0001*
):Jika Anda mengetik lagi
sudo efibootmgr
, urutan boot Anda seharusnya sekarangBootOrder: 0080,0001
. Ini menjamin bahwa Mac di-boot pertama kali, dan karena rEFInd diinstal di Mac, maka itu harus muncul terlebih dahulu.sumber