Podwójne uruchamianie OS X lub macOS z Linuksem bez rEFInd

19

Myślę, że tytuł podsumowuje treść tego postu. Chciałbym podwójnie uruchomić MacBooka Pro 13 'bez konieczności używania programu ładującego innej firmy. Wszystkie samouczki, które znalazłem, wykorzystują funkcję REFERENCJA lub POMOC, aby pomyślnie uruchomić system Linux po jego zainstalowaniu, ale nie czuję się dobrze z pomysłem usunięcia domyślnego programu ładującego Apple, gdy dla mnie jest to najlepsza rzecz, jeśli chodzi do programów ładujących, które kiedykolwiek widziałem.

Czy jest jakiś sposób, aby to zrobić?

Dzięki!


źródło

Odpowiedzi:

18

Ubuntu instaluje grub i inne pliki na pierwszej partycji systemowej EFI na komputerze Mac. Zwykle jest to pierwsza partycja na komputerze Mac. Proces wyświetlania Ubuntu w Menedżerze uruchamiania jest dość trywialny. Kroki podano poniżej.

Uwaga: Począwszy od Ubuntu 18, oprogramowanie instalacyjne powinno automatycznie utworzyć pliki niezbędne do uruchomienia Ubuntu na komputerze Mac. Dlatego użytkownicy Ubuntu 18 i nowszych powinni mieć możliwość pominięcia kroków 5 i 6.

  1. Zainstaluj Ubuntu.
  2. Po zakończeniu uruchom ponownie i przytrzymaj optionklawisz, aby wywołać Menedżera uruchamiania. Wybierz, aby uruchomić z woluminu OS X (lub MacOS).
  3. Otwórz okno aplikacji Terminal.

  4. Zamontuj partycję systemową EFI, wprowadzając polecenie podane poniżej.

    diskutil mount disk0s1
    
  5. Utwórz folder o nazwie Bootw folderze /Volumes/EFI/EFI. Możesz użyć aplikacji Finder lub wprowadzić polecenie podane poniżej.

    mkdir /Volumes/EFI/EFI/Boot
    
  6. Skopiuj plik grubx64.efiz folderu /Volumes/EFI/EFI/ubuntudo folderu /Volumes/EFI/EFI/Boot. Następnie zmień nazwę tego pliku bootx64.efi. Ten krok można wykonać za pomocą aplikacji Finder lub wpisując polecenie podane poniżej.

    cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/EFI/EFI/Boot/bootx64.efi
    
  7. (Opcjonalnie) Pobierz kolekcję ikon ze strony internetowej Maca . Użyj aplikacji Finder, aby otworzyć pobrany plik mac-icns.dmg, a następnie wprowadź poniższe polecenie, aby skopiować plik ikony Ubuntu os_ubuntu.icnsna partycję systemową EFI.

    cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI/.VolumeIcon.icns
    

    Spowoduje to dodanie następującej ikony Ubuntu do menu startowego.

    os_ubuntu.png

    Uwaga: Po zakończeniu możesz użyć aplikacji Finder, aby wysunąć mac-icnswolumin.

  8. Użyj aplikacji Finder lub wprowadź poniższe polecenie, aby odmontować partycję systemową EFI oznaczoną etykietą EFI.

    diskutil unmount disk0s1
    
David Anderson
źródło
1
+1 Działa idealnie dla mnie, aby zainstalować Linux Mint 18 jako podwójny rozruch z macOS Sierra na moim
MacBooku
Jak działa krok 7? Dlaczego miałoby to zmienić tylko ikonę partycji Ubuntu? Czy mogę również zmienić ikonę Macintosh HD, aby w menu startowym było logo Sierra dla partycji Mac i logo Ubuntu dla partycji Linux?
Arc676
OK, teraz mam ikonę Ubuntu, w której podałeś, i ikonę Maca /na mojej partycji Sierra. Ikona Mac pojawia się dla Mac HD, a Ubuntu dla drugiej partycji. Mam jednak wrażenie, że umieszczenie ikony w miejscu, które określiłeś, czyni ją domyślną, ponieważ umieszczenie ikony w katalogu głównym partycji Ubuntu nie zadziałało. Co jeśli zainstalowałbym trzeci system operacyjny?
Arc676,
1
@ Arc676: Instalowanie trzeciego systemu operacyjnego może wymagać drugiej partycji EFI. Nie ma ograniczeń co do liczby partycji EFI, które możesz mieć. Przykład drugiej partycji EFI można znaleźć w tej odpowiedzi .
David Anderson,
Ta odpowiedź uratowała mnie przed szaleństwem. Spędziłem co najmniej 4 dni próbując rozwiązać problem z moim komputerem iMac. Zasadniczo rEFInd uszkodził natywne sterowniki ekranu komputera iMac. Nie jestem pewien jak, ale spowoduje to, że domyślna rozdzielczość będzie najniższą rozdzielczością. Rozwiązanie tego problemu spowodowałoby usunięcie rEFInd. Ponowna instalacja rEFInd ponownie spowodowałaby uszkodzenie sterowników, i tak dalej. Dzięki @DavidAnderson.
jnkrois
15

Należy pamiętać, że ani REFIt, ani REFInd uszkadza, a tym bardziej „wymazuje”, domyślny moduł ładujący Apple; w rzeczywistości zarówno REFIt, jak i REFInd po prostu wkładają się w proces rozruchu, a następnie same uruchamiają program ładujący Apple.

Zasadniczo, REFIt i rEFInd są menedżerami rozruchu . Menedżer rozruchu przedstawia menu lub inne narzędzie interfejsu użytkownika, które pozwala wybrać system operacyjny do uruchomienia. Większość EFI, w tym Apple, obejmuje własnych menedżerów rozruchu; jednak te wbudowane menedżery rozruchu są zwykle bardzo prymitywne. Na komputerze Mac uruchamiasz wbudowanego menedżera rozruchu, przytrzymując klawisz Opcja (lub Alt) podczas uruchamiania komputera (gdy zabrzmi dzwonek startowy). Wbudowany menedżer rozruchu komputera Mac jest trudny w dostępie i ma ograniczone możliwości. Przypuszczam, że to właśnie zmotywowało Christopha Pfisterera do stworzenia REFIT. Rozwidliłem REFIt na REFI i po tym, jak REFI popadł w ruinę. Bardziej motywowały mnie problemy z uruchamianiem na komputerach z systemem UEFI, ale rEFInd pozostaje sposobem na obejście ograniczeń menedżera rozruchu Apple.

Natomiast moduł ładujący ładuje jądro do pamięci i przekazuje mu kontrolę. Program ładujący nie musi bezpośrednio wchodzić w interakcje z użytkownikiem (chociaż może). Ani rEFIt, ani rEFInd nie jest technicznie programem ładującym, chociaż jądro Linuksa tworzy niewyraźną linię, ponieważ zawiera funkcję ( skrótowy moduł ładujący EFI ), który umożliwia mu działanie jako własny moduł ładujący EFI. Ponadto niektóre programy ładujące, takie jak moduł ładujący GRUB 2, który jest popularny w dystrybucjach Linuksa, działają zarówno jako menedżery rozruchowe, jak i programy ładujące.

Jeśli podwójnie uruchamiasz system Ubuntu i OS X (lub macOS, jak ostatnio zmieniono jego nazwę) na komputerze Mac, praktyczną koniecznością jest dodanie czegoś do procesu rozruchu. Możesz polegać na menedżerze rozruchu Apple, aby kontrolować, który system operacyjny ma zostać uruchomiony, a w takim przypadku żadne narzędzie inne niż Apple nie będzie zaangażowane podczas uruchamiania OS X. Nadal będziesz czegoś potrzebować (GRUB, rEFInd lub jakiś inny moduł ładujący lub menedżer rozruchu ), aby uruchomić jądro Linuksa. Biorąc pod uwagę, że większość z tych narzędzi jest wygodniejsza w użyciu niż wbudowany menedżer rozruchu Apple, większość użytkowników pozostawia je ustawione w kolejności uruchamiania tak, aby były wywoływane przed menedżerem rozruchu OS X.

Jeśli po prostu nie lubisz REFInd, na pewno możesz się bez niego obejść. Możesz polegać na funkcjach menedżera rozruchu GRUB 2 lub zainstalować inne narzędzie, takie jak gummiboot / systemd-boot. Teoretycznie, jeśli zainstalujesz Ubuntu w trybie EFI,powinien zainstalować GRUB 2 w taki sposób, aby stał się domyślnym menedżerem rozruchu i powinien zapewniać opcje uruchamiania zarówno Ubuntu, jak i OS X. W praktyce nie jestem pewien, czy to zadziała - Apple robi wszystko trochę inaczej, i tak mało ludzi robi to w ten sposób, że nie mogę obiecać, że to zadziała. Możesz jednak spróbować, a następnie naprawić wszelkie problemy, które napotkasz po fakcie. Polecam jednak dowiedzieć się więcej na temat uruchamiania EFI przed rozpoczęciem, aby nie popełnić podstawowego błędu, takiego jak uruchomienie instalatora w trybie BIOS lub niewłaściwe skonfigurowanie partycji. Możesz zacząć od tych stron:

Jeśli zdecydujesz się trzymać bardziej uczęszczanej ścieżki korzystania z rEFInd, pamiętaj o sprawdzeniu daty podążania za instrukcjami. Niektóre bardzo stare strony są nadal dostępne i zwykle nie rozwiązują nowych problemów, takich jak System Integrity Protection (SIP) ; lub opisują użycie porzuconego REFIt zamiast nowszego REFInd. (Chociaż nadal można sprawić, że rEFI działa z nowszymi wersjami OS X, może to wymagać przeskakiwania przez nieudokumentowane obręcze.)

Rod Smith
źródło