Mam trochę problemu z rEFInd i nie mogłem znaleźć czegoś konkretnego na ten temat.
Z powodzeniem zainstalowałem Ubuntu 14.04 dla podwójnego rozruchu z OS X Yosemite na moim MacBooku Pro 3.1 za pomocą rEFInd, ale teraz po uruchomieniu w Ubuntu menu rEFInd nie wyświetla się po ponownym uruchomieniu. Po prostu idzie prosto do gruba. Po ponownym uruchomieniu systemu OS X (przy użyciu klawisza opcji przy uruchamianiu) czasami pojawia się funkcja REFInd, a czasem nie, nie można ustalić, w jaki sposób jest uruchamiana.
Czy istnieje sposób, aby upewnić się, że najpierw pojawi się rEFInd, bez względu na to, który system operacyjny uruchomiłem wcześniej?
Edytować
Korzystanie efibootmgr -v
daje mi:
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)
Jeśli ustawię NextBoot z -n
opcją -80 na 0080, po restarcie pojawi się rEFInd. FFFF przenosi mnie bezpośrednio do OSX. 0081 wydaje się zawodzić.
Dzięki za pomoc!
Odpowiedzi:
Systemy operacyjne czasami resetują domyślny program rozruchowy, szczególnie jeśli aktualizują swoje standardowe programy ładujące. Naprawdę nie ma sposobu, aby temu zapobiec, więc musisz po prostu wiedzieć, jak rozwiązać problem, gdy wystąpi. W Linuksie odbywa się to za pomocą
efibootmgr
programu. W OS X odbywa się to za pośrednictwembless
. Zobacz tutaj, aby uzyskać więcej informacji na tematefibootmgr
.Jeśli to żonglerka ma miejsce przy każdym ponownym uruchomieniu, coś jest naprawdę nie tak. Jeśli Ubuntu resetuje GRUB jako domyślny przy każdym ponownym uruchomieniu, to osobiście usunę go - ale nie jestem fanem GRUB-a (wystarczy, że rozwidliłem REFIt, aby zrobić REFInd zamiast zajmować się GRUB-em). Przypuszczam, że można również umieścić wywołanie
efibootmgr
w skrypcie zamykania, ale ryzykuje coraz odłączony od rzeczywistości i powodujących problemy, więc będę chciał to zrobić.EDYTOWAĆ:
Tak, zmiana
BootOrder
zmiennej (za pomocą-o
opcjiefibootmgr
) zgodnie z sugestią jest odpowiednia. Możesz usunąć wpis OpenSUSE za pomocą:Mogą być zainstalowane pliki OpenSUSE, które można usunąć za pomocą
rm
- prawdopodobniesudo rm -r /boot/efi/EFI/opensuse
z Ubuntu. (Te pliki nie powinny same w sobie wyrządzać szkody, ale mogą być mylące lub przypadkowo ponownie aktywowane w przyszłości.) Możesz usunąć Ubuntu GRUB w podobny sposób, chociaż może zostać ponownie zainstalowany, jeśli / kiedy Ubuntu aktualizuje go w przyszłości. Sensowne może być także utrzymywanie go jako zapasowej metody uruchamiania.Jeśli pozostawisz GRUB Ubuntu zainstalowany, ale nie chcesz go widzieć w menu rEFInd, możesz użyć
dont_scan_dirs
lubdont_scan_files
wrefind.conf
(prawdopodobnie/boot/efi/EFI/refind/refind.conf
z Ubuntu), aby ukryć wpis GRUB.źródło
ro quiet splash nomodeset vt.handoff=7
które są takie same jak w GRUB- ie .root={something}
specyfikacjarefind_linux.conf
? Jeśli nie, należy go dodać. Powinieneś być w stanie to uruchomić, uruchamiającmkrlconf
skrypt dostarczany z rEFInd, ale prawdopodobnie będziesz musiał dodać--force
opcję, jak wsudo mkrlconf --force
(ale może z pełną ścieżką domkrlconf
). Jeśli nadal pomija się tęroot=
opcję, pokaż mi, co się dzieje podczas pisaniacat /proc/cmdline
.refind-linux.conf
, co zrobiłem za pomocą twojegomkrlconf
skryptu, ma trzy wpisy zeroot=
specyfikacją -specyfikacja (patrz tutaj ). W GRUB2 musiałem dodać opcjęnomodeset
uruchomienia mojej nVidii-GPU.cat /proc/comdline
daje mi:BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7
. Również pomimo tego, że proces rozruchu wisi wizualnie na ekranie startowym rEFInd, system wydaje się uruchamiać, na przykład mój demon kontrolujący wentylatory jest uruchamiany, a fani zwalniają.Zdarzyło mi się to i naprawiłem to w Ubuntu w następujący sposób (jest to specyficzne dla twojego przypadku, ponieważ twój rozruch Ubuntu
Boot0001*
):Jeśli wpiszesz ponownie
sudo efibootmgr
, kolejność uruchamiania powinna być terazBootOrder: 0080,0001
. Gwarantuje to, że Mac jest uruchamiany jako pierwszy, a ponieważ rEFInd został zainstalowany na Macu, to powinien pojawić się jako pierwszy.źródło