Jak sprawić, by GRUB był domyślnym programem ładującym zamiast Windows Boot Managera na laptopie UEFI?


109

Mam notebook HP Pavilion Touchsmart, który został dostarczony z systemem Windows 8. Uaktualniłem do wersji 8.1, a teraz chcę podwójnie uruchomić dystrybucję Ubuntu w systemie Windows 10. Podczas podwójnego uruchamiania w systemie Windows 8.1 Menedżer rozruchu systemu Windows zawsze miał priorytet, nawet po zainstalowaniu GRUB. Co muszę zrobić, aby GRUB stał się domyślnym programem ładującym zamiast Menedżera rozruchu systemu Windows?

Odpowiedzi:


195

To najdłuższy post, jaki kiedykolwiek napisałem na stronie StackExchange, ale proces ten wymaga dużo wyjaśnień i dbałości o szczegóły. Jest również nieco specyficzny dla danego sprzętu, co wymaga dodatkowych wyjaśnień.

Po wielu bólach głowy, dwóch przypadkowych przekształceniach dysku twardego i frustracji związanej z błędnym wdrożeniem oprogramowania układowego HP, w końcu Xubuntu i Windows 10 działały ładnie obok siebie. Zrobiłem to z Windows 10, ale powinien on również działać z Windows 8.1. Oba te nowsze systemy operacyjne używają nowego (firmware) systemu oprogramowania UEFI zamiast tradycyjnego systemu BIOS, w którym wydaje się, że pojawia się najwięcej nieporozumień związanych z podwójnym uruchamianiem. Czytam wiele rzeczy z wielu miejsc z instrukcjami dotyczącymi podwójnego uruchamiania z systemem BIOS, które mówią o UEFI tak, jakby to był tylko inny rodzaj BIOS-u lub opcjonalna warstwa między BIOS-em a systemem operacyjnym. UEFI i BIOS to nie to samo; UEFI nie jest BIOSem, a BIOS nie jest UEFI. Oni są zupełnie inni.

Po pierwsze, nie używaj EasyBCD . Widziałem wiele nieaktualnychsamouczki z podwójnym uruchamianiem, które zalecają EasyBCD, ale są zaprojektowane do pracy z tradycyjnym oprogramowaniem BIOS używanym przez Windows 7 i Windows Vista i nie działa dobrze z nowszym oprogramowaniem UEFI (Windows 8, 8.1 lub 10). Jeśli już bawiłeś się EasyBCD, nie martw się - najgorsze, co prawdopodobnie zrobiło, to zepsuć wpisy rozruchowe EFI, pisząc rzeczy do MBR. Oczyścimy to w kroku 4. Mówiąc o MBR, unikaj tego jak zarazy. Główny rekord rozruchowy jest używany w tradycyjnym oprogramowaniu układowym BIOS jako lista programów ładujących przechowywanych na partycji rozruchowej (lub, jeśli zapisana przez system Windows, na dowolnej partycji) dysku twardego. Ma to na celu wyświetlenie listy systemów operacyjnych na dysku twardym i poinformowanie oprogramowania układowego, które z nich jest uruchamiane jako pierwsze. Nie działa to dobrze z oprogramowaniem układowym UEFI HP. Wygląda na to, że jeśli tam jest

Co będziesz potrzebował:

  • Live USB lub instalacyjny dysk CD z preferowaną dystrybucją Ubuntu.
  • Nośnik instalacyjny dla systemu operacyjnego Windows. Jeśli aktualizujesz system Windows 8.1, możesz to zrobić bez pobierania pełnego pliku .iso w wersji 3+ GB dla systemu Windows 10 - instalator internetowy pobiera go podczas instalacji - ale w przypadku tej metody musisz wyodrębnić plik .iso na dysk CD lub USB. Dobrym pomysłem jest też mieć go pod ręką na przyszłość, więc równie dobrze możesz go teraz stworzyć. Ponieważ pytanie dotyczy podwójnego uruchamiania z systemem UEFI, będziesz potrzebować 64-bitowego systemu operacyjnego.
    • Upewnij się, że masz klucz produktu, w przeciwnym razie nie będzie można go uaktualnić / zainstalować.
  • Opcjonalne, ale wysoce zalecane : Dysk wystarczająco duży, aby wykonać kopię zapasową bieżących plików systemu Windows.
  • Wystarczająco dużo miejsca na dysku twardym na oba systemy operacyjne, partycję rozruchową (tylko 200 MB) i partycję wymiany linuxa (zwykle tego samego rozmiaru co fizyczna pamięć RAM).

Krok 1: Utwórz kopię zapasową

Utwórz kopię zapasową wszystkich plików i folderów systemu Windows, których nie chcesz utracić. Tak długo, jak masz wystarczająco dużo wolnego miejsca na dysku twardym na nową partycję Ubuntu, proces ten nie powinien zakłócać działania plików Windows. Powinno to jednak ryzykowne słowo.

Windows 8.1 ma narzędzie „zrób dysk przywracania”, ale uznałem, że jest ono bezużyteczne i niedziałające, jeśli chodzi o przywracanie kopii zapasowej, którą z niego utworzyłem. Najprostszym sposobem na zachowanie plików, których nie chcesz stracić, jest po prostu otwarcie Eksploratora Windows i skopiowanie ich na dysk kopii zapasowej. To trwa wiecznie, ale warto.

Krok 2: Wyłącz szybkie uruchamianie i wyłącz komputer

Aby to zrobić, musisz być zalogowany jako administrator.

Bardzo ważne jest wyłączenie szybkiego uruchamiania przed instalacją GRUB, ponieważ to, czy instalator Ubuntu może wykryć obecność systemu Windows, zależy od tego, jak Windows reprezentuje się na partycji rozruchowej. Przy prawidłowo wyłączonym szybkim uruchomieniu należy go wykryć. Wykrywanie zostanie opisane w kroku 4.

Windows 8, 8.1 i 10 używają tej wymyślnej nowej funkcji o nazwie Fast Startup, która nakazuje oprogramowaniu sprzętowemu załadowanie specjalnego programu ładującego, który bardzo szybko przywraca system do stanu sprzed wyłączenia. Całkiem fajnie, co? Cóż, ponieważ zmienia opcję następnego uruchomienia systemu EFI, ta funkcja będzie musiała zostać wyłączona podczas instalowania GRUB-a. Można to zrobić, wykonując następujące czynności:

  1. Otwórz Panel sterowania (Windows + X-> Panel sterowania z pulpitu w Windows 8+) (najwyraźniej Microsoft nienawidzi zaawansowanych użytkowników, więc wyszukiwanie w menu Start „Panel sterowania” jest teraz najszybszym sposobem na jego otwarcie)
  2. Przejdź do Opcje zasilania
  3. Kliknij „Wybierz działanie przycisku zasilania”
  4. Kliknij „Zmień ustawienia, które są obecnie niedostępne”
  5. Upewnij się, że pole „Włącz szybkie uruchamianie (zalecane)” u dołu nie jest zaznaczone.

Bardziej szczegółowe instrukcje można znaleźć tutaj . Możesz ponownie włączyć szybkie uruchamianie po zainstalowaniu GRUB, i wydaje się, że nie powoduje to żadnych problemów z uruchamianiem Ubuntu / GRUB. Tylko upewnij się, że jest wyłączony podczas instalacji.

Po wyłączeniu szybkiego uruchamiania zamknij komputer. Ponieważ szybkie uruchamianie jest wyłączone, system Windows dokona całkowitego zamknięcia i nie zmieni opcji następnego uruchomienia w menedżerze EFI oprogramowania układowego. (Warunki dla laika: Windows nie każe systemowi HP uruchamiać pliku szybkiego uruchamiania przy następnym włączeniu, więc użyje listy menedżera rozruchu EFI, tak jak powinno. GRUB umieści się na tej liście na pierwszym miejscu).

Krok 3: Skonfiguruj partycje za pomocą gparted

Przed zainstalowaniem Ubuntu będziesz chciał użyć swojej płyty CD / USB na żywo, aby utworzyć dla niej osobną partycję. W ten sposób * nie zastąpi systemu Windows.

* Upewnij się, że masz kopię zapasową. Brak gwarancji - zależy to od tego, co Windows zdecydował się zrobić na partycji rozruchowej, a także może zależeć od używanej wersji / dystrybucji Ubuntu - nie użyłem ich wszystkich.

Aby utworzyć partycje, musisz uruchomić system na żywo CD / USB i otworzyć gparted. Istnieje wiele samouczków na temat korzystania z gparted i dość łatwo to rozgryźć, więc zostawię to tobie i internetowi.

  • Będziesz potrzebował 4 partycji:

    1. Partycja rozruchowa. Jeśli masz już zainstalowany system Windows, nie musisz nic robić - powinna to być już jedna z pierwszych partycji na dysku. Czasami system Windows tworzy także inną małą partycję na początku dysku o nazwie Odzyskiwanie . Po prostu zostaw to w spokoju.

      • Jeśli wykonujesz nową instalację i chcesz rozpocząć wszystko od zera ( spowoduje to wymazanie wszystkich danych ), śmiało usuń wszystkie partycje na dysku, a następnie utwórz tę partycję. To powinna być pierwsza partycja ; jego format powinien wynosić FAT32 ; i powinien mieć co najmniej 200 MB . Jeśli gparted ma opcję oznaczenia go, po prostu go wywołaj boot. Jeśli nie ma opcji etykiety, nie przejmuj się. Państwo musi, jednak ustaw flagi „boot” i „esp” na tej partycji; bez nich instalator Ubuntu po prostu go zignoruje i użyje instalacji starszego trybu, a Windows (10) odmówi instalacji razem z błędem „nie mogliśmy utworzyć nowej partycji lub zlokalizować istniejącej”. Albo nie. Wydaje się, że zależy to od tego, jak Windows się czuje tego dnia ...
    2. Partycja Windows. Ponownie, jeśli masz już zainstalowany system Windows, ta partycja powinna oczywiście znajdować się tutaj, po partycji rozruchowej i odzyskiwania. Właśnie tam chcesz, ale musisz zmienić jego rozmiar, aby zrobić miejsce na partycję Ubuntu i partycję wymiany linux. Aby to zrobić, użyj opcji zmiany rozmiaru / ruchu gparted. Ubuntu potrzebuje co najmniej 5 GB, a partycja wymiany linuxa powinna mieć co najmniej połowę wielkości fizycznej pamięci RAM, więc zmień rozmiar partycji Windows, aby zrobić na to miejsce. gparted ostrzeże Cię przed potencjalną utratą danych - zmniejszenie partycji nie powinno zniszczyć ani uszkodzić żadnych danych, o ile nie zmniejszysz ich w używanej przestrzeni.

      • Jeśli instalujesz oba systemy operacyjne od nowa ( ponownie spowoduje to wymazanie wszystkich danych ), Microsoft mówi , że potrzebujesz co najmniej 20 GB dla 64-bitowego systemu operacyjnego, więc ta partycja musi mieć co najmniej 20 GB . Prawdopodobnie będziesz potrzebować czegoś więcej: właśnie wykorzystałem połowę miejsca po partycji rozruchowej dla systemu Windows, a połowę dla Ubuntu i wymiany linuksa. Jeśli zaczynasz od zera, ta partycja musi być sformatowana jako FAT32. Po zainstalowaniu systemu Windows sformatuje go do systemu plików NTFS. Nie rób tego z gparted; Implementacja NTFS przez Windows różni się od implementacji gparted i Windows może nie rozpoznać partycji. W instalatorze systemu Windows 10 należy wybrać opcję partycji, na której ma zostać zainstalowany system Windows 10. Jeśli jest sformatowany jako FAT32, system Windows powinien go zobaczyć i zainstalować tam. Jeśli możesz oznaczyć tę partycję, oznacz ją Windows. Ułatwi to podczas instalacji systemu Windows. Mówiąc o instalatorze Windows - jeszcze tego nie zaczynaj. Jeśli wykonujesz nowe instalacje zarówno Ubuntu, jak i Windows w tym samym czasie, zamiast aktualizacji z wersji 8 lub 8.1 na 10, znacznie łatwiej jest najpierw zainstalować Ubuntu .
    3. Partycja Linux. Podobnie jak partycja Windows, rozmiar może się różnić, ale strona internetowa Ubuntu zaleca co najmniej 5 GB . Ponownie prawdopodobnie będziesz potrzebować znacznie więcej. Jeśli aktualizujesz zamiast świeżej instalacji obu systemów operacyjnych, powinieneś być w stanie utworzyć tę partycję w nowym „nieprzydzielonym” miejscu pokazanym w gparted. Zrób tak duży, jak chcesz, ale pamiętaj, aby zostawić miejsce na partycję wymiany linuxa, jeśli planujesz użycie jednej. Powinien być sformatowany jako ext4. ext2 lub ext3 również powinny działać, jeśli wolisz je z jakiegoś powodu.
      • Jeśli instalujesz od zera, utwórz partycję Ubuntu w sposób opisany powyżej. Upewnij się, że jest sformatowany jako ext4, ext3 lub ext2 . Pozwoli to Ubuntu na korzystanie z niego, ale uniemożliwi instalatorowi Windows 10 rozpoznanie go, co powinno spowodować, że domyślnie będzie to partycja FAT32 utworzona w kroku 3, którą może odczytać.
    4. Opcjonalne, ale zalecane: partycja wymiany Linux-a . Przynajmniej połowa wielkości fizycznej pamięci RAM to dobry początek, ale polecam zapoznać się ze szczegółami . Mam 8 GB pamięci RAM i dysk twardy o pojemności 1 TB, więc właśnie utworzyłem tę partycję o tym samym rozmiarze co moja fizyczna pamięć RAM.

Krok 4: Najpierw zainstaluj Ubuntu

Niezależnie od tego, czy aktualizujesz system Windows 10 z istniejącego systemu operacyjnego Windows, czy instalujesz zarówno system Windows 10, jak i dystrybucję Ubuntu na nowym lub nowo partycjonowanym dysku twardym, o wiele łatwiej jest najpierw zainstalować system Ubuntu. Ubuntu używa GRUB 2 jako bootloadera, który działa tak, jak powinien bootloader EFI. Windows 10 używa Windows Boot Managera, który robi rzeczy ... cóż, tak jak Windows to robi ... Jeśli najpierw zainstalujesz Windows, prawdopodobnie nie będziesz mógł uruchomić systemu Ubuntu bez przytrzymania specjalnego klucza podczas procesu uruchamiania aby zatrzymać ładowanie Menedżera rozruchu systemu Windows, ponieważ Menedżer rozruchu systemu Windows nie przestrzega GRUB, gdy jest dodawany do listy programów ładujących. Zamiast tego zainstaluj najpierw Ubuntu i GRUB, a następnie dodaj wpis do GRUB dla Windows Boot Manager.

Krok 4.1: Czyszczenie starych wpisów EFI (opcjonalnie)

Uważaj tutaj. Usunięcie niewłaściwej rzeczy może spowodować ogromne problemy.

Przed zainstalowaniem Ubuntu chcemy się upewnić, że duchy poprzednich instalacji systemu operacyjnego nie powrócą, aby nas prześladować w przyszłości. W systemie UEFI systemy operacyjne używają plików EFI (rozszerzalnego interfejsu oprogramowania układowego), aby powiedzieć oprogramowaniu układowemu: „Hej, ja istnieję. Tu mnie znajdziesz”. Po zainstalowaniu nowego systemu operacyjnego dodaje pozycję do listy Menedżera rozruchu EFI, co nadaje mu unikalny numer pozycji i informuje Menedżera rozruchu EFI, gdzie są pliki EFI (są) (Windows rejestruje kilka różnych plików EFI - jeden do zwykłego rozruchu, jeden do rozruchu odzyskiwania, jeden do szybkiego uruchamiania - prawdopodobnie więcej w zależności od oprogramowania układowego i wersji systemu operacyjnego). Menedżer rozruchu EFI śledzi również kolejność rozruchu: listę numerów pozycji, które określają, co uruchamia się jako pierwsze. Jeśli korzystasz z EasyBCD; bcdedit; Windows ” Narzędzia do naprawy lub odzyskiwania rozruchu; naprawa rozruchu w systemie Linux; a nawet jeśli zaktualizowałeś system Windows lub ponownie go zainstalowałeś, istnieje duża szansa, że ​​twoja lista wpisów EFI ma teraz kilka duplikatów. Tak przynajmniej było w przypadku mojego. Posiadanie duplikatów może spowolnić proces uruchamiania, ponieważ oprogramowanie układowe przegląda nieaktualne lub błędne wpisy pliku, dopóki nie znajdzie działającego programu ładującego. Może również powodować pętlę rozruchową, w której program ładujący A wskazuje oprogramowanie układowe na moduł ładujący B, co wskazuje go z powrotem na A, a następnie zaczyna się to bardzo, bardzo długo ... gdy oprogramowanie układowe przegląda nieaktualne lub błędne wpisy pliku, dopóki nie znajdzie działającego programu ładującego. Może również powodować pętlę rozruchową, w której program ładujący A wskazuje oprogramowanie układowe na moduł ładujący B, co wskazuje go z powrotem na A, a następnie zaczyna się to bardzo, bardzo długo ... gdy oprogramowanie układowe przegląda nieaktualne lub błędne wpisy pliku, dopóki nie znajdzie działającego programu ładującego. Może również powodować pętlę rozruchową, w której program ładujący A wskazuje oprogramowanie układowe na moduł ładujący B, co wskazuje go z powrotem na A, a następnie zaczyna się to bardzo, bardzo długo ...

W każdym razie, aby wyświetlić listę wpisów EFI i zobaczyć, co należy wyczyścić, użyj efibootmgrpakietu z płytą CD / USB na żywo. Musisz zainstalować go za sudo apt-get install efibootmgrpomocą terminala, a następnie uruchomić za pomocą sudo efibootmgr. Domyślnie otrzymasz listę wpisów, które wyglądają mniej więcej tak:

Obraz listy wpisów EFI Boot Manager z danych wyjściowych efibootmgr

Kiedy po raz pierwszy użyłem tego narzędzia po majstrowaniu przy EasyBCD i bcdedit, próbując uzyskać porządek w odpowiedniej kolejności, miałem tutaj ponad sto wpisów, w większości duplikatów.

Jeśli lista menedżerów rozruchu nie jest zbyt zagracona lub jeśli nie masz pewności, co można usunąć, a czego nie, należy przejść do kroku 4.2.

Aby usunąć niepotrzebne wpisy, użyj efibootmgr -b <hex_number> -B, gdzie hex_numberzastępuje się numerem wymienionym wraz z wpisem rozruchowym. Tak więc, aby usunąć USB Drive (UEFI)wpis (numerowany Boot 2001 ) z powyższego obrazka, skorzystałbym sudo efibootmgr -b 2001 -B. Zauważysz, że zostawiłem kilka duplikatów (wszystkie ponad 3000 wpisów z numerami). Możesz użyć efibootmgrróżnych opcji, aby wyświetlić niektóre inne atrybuty wpisów, takie jak ścieżki do plików, które wskazują. Te wpisy wyglądają jak duplikaty, ale wszystkie wskazują na różne pliki używane przez mojego laptopa HP do aktualizacji systemu BIOS. Uważaj, co usuniesz. Wymiana rzeczy tutaj może być bardzo trudna lub niemożliwa. Możesz także użyć efibootmgr, aby zmienić BootOrder, który wyświetla. Zobacz stronę manuala aby uzyskać więcej informacji o tym przydatnym narzędziu.

Krok 4.2: Instalowanie Ubuntu

Po wyczyszczeniu wpisów EFI Boot Manager, jeśli zdecydujesz się to zrobić, nadszedł czas, aby zainstalować Ubuntu. Po załadowaniu Live CD / USB wybierz opcję instalacji z menu bootloadera lub uruchom ją z pulpitu po zalogowaniu. Wybierz opcje na pierwszej stronie instalatora. Druga część będzie wyglądać mniej więcej tak: (Używam Xubuntu 14.04, więc twój instalator może się różnić, ale opcje powinny być całkiem podobne).

Zrzut ekranu z opcjami instalacji Xubuntu 14.04

Jeśli instalator nie wykryje instalacji systemu Windows (takiej jak moja), musisz wybrać opcję „Coś innego”. Stamtąd pojawi się ekran, który wygląda podobnie do podzielonego menu, którego użyto do skonfigurowania partycji. Po prostu wybierz utworzone partycje i przypisz je do właściwego punktu montażu, wybierając partycję i klikając „Zmień”.

  • Jeśli instalujesz oba systemy operacyjne od zera, zrób to samo. Nie używaj opcji automatycznej instalacji. Musisz upewnić się, że Ubuntu zostanie zainstalowany na partycji ext2 / ext3 / ext4, a nie na partycji FAT32 Windows.

Krok 5: Zaktualizuj lub zainstaluj system Windows drugi

Powinieneś mieć dysk instalacyjny dla systemu Windows 10. Przed rozpoczęciem instalacji upewnij się, że masz klucz produktu w pobliżu, w przeciwnym razie nie będzie można zainstalować / uaktualnić. Po uruchomieniu na instalacyjnym dysku CD / USB instalator jest bardzo prosty. Trochę zbyt proste dla mojego komfortu - jedynym przyciskiem było „Zainstaluj Windows 10” lub coś w tym rodzaju, a Windows 8, 8.1 i 10 są niesławne ze względu na instalacje za kulisami, w których po prostu mówi „Jesteśmy przygotowanie rzeczy ”i nie zawiera żadnych szczegółów na temat tego, co faktycznie robi z twoim systemem. Jeśli do tej pory postępowałeś zgodnie z tymi instrukcjami, regularne rozpoczęcie instalacji powinno być w porządku.

  • Jeśli aktualizujesz system Windows 8 lub Windows 8.1, nie powinieneś robić nic specjalnego z procesem instalacji. Przejdź przez (bardzo długą) instalację i przejdź do kroku 6.

  • Jeśli wykonujesz świeżą instalację, instalator zapyta Cię, gdzie chcesz zainstalować system Windows 10. Upewnij się, że wybrałeś partycję FAT32 utworzoną w kroku 2, a nie inną partycję, ponieważ ta partycja zostanie wyczyszczona i sformatowana. Ponieważ system Ubuntu jest już zainstalowany, system Windows 10 powinien szanować partycję rozruchową, a nie formatować. Usunięcie wpisów śmieci z listy EFI Boot Manager zwalnia również miejsce na małej partycji rozruchowej o pojemności 200 MB, zmniejszając szanse, że Windows się zdezorientuje i wścieknie, i wyczyści wszystko dla siebie.

Krok 6: Zaktualizuj i (opcjonalnie) dostosuj GRUB

Po zainstalowaniu lub uaktualnieniu do systemu Windows 10 musisz ponownie uruchomić system Ubuntu, aby zaktualizować GRUB, aby na liście znalazł się Menedżer rozruchu systemu Windows. Zanim to zrobisz, ponownie wyłącz Szybkie uruchamianie. Odbywa się to bardzo podobnie jak w kroku 2. Panel sterowania i interfejs użytkownika ustawień są nieco inne, ale większość opcji jest nadal dostępna.

Po wyłączeniu szybkiego uruchamiania ponownie uruchom ponownie komputer.

Jeśli system Windows uruchamia się domyślnie, będziesz musiał przytrzymać specjalny klawisz laptopa, aby przejść do menu oprogramowania układowego systemu. W moim HP Touchsmart ten klawisz to Esc. Inne typowe klucze to F12, Delete, F10 ... Instrukcja obsługi komputera powinna być w stanie Ci pomóc. Z menu oprogramowania wbudowanego uruchom GRUB. Powinna istnieć opcja „wyboru urządzenia rozruchowego” lub czegoś podobnego, a Ubuntu lub GRUB powinny tam być wymienione. Jeśli nie ma go na liście, poszukaj opcji rozruchu z pliku EFI i przejdź do /EFI/ubuntu/grubx64.efi lub (jeśli masz włączony Bezpieczny rozruch), EFI / ubuntu / shimx64.efi. Rzeczywiste ścieżki tych plików mogą się różnić w zależności od opcji i konfiguracji partycji rozruchowej, ale nazwy plików powinny być takie same. Wybranie jednego z tych plików .efi powinno uruchomić się do GRUB-a, gdzie możesz następnie uruchomić system w swojej dystrybucji Ubuntu. Po zalogowaniu otwórz terminal i wpiszsudo update-grub. Spowoduje to uruchomienie skryptu os-prober, którego GRUB używa do skompilowania pliku grub.cfg, który informuje plik EFI gruba, które wpisy należy uwzględnić, jakie kolory użyć itp. Skrypt os-prober powinien zidentyfikować Menedżera rozruchu systemu Windows i automatycznie dodać go do Lista.

Opcjonalnie możesz zainstalować Grub Customizer, aby zmienić kolejność pozycji menu i zmienić zachowanie oraz kolor i tło menu GRUB. Możesz zainstalować to z terminala za pomocą sudo apt-get install grub-customizer, a następnie uruchomić sudo grub-customizer.

Korzystając z GRUB w systemie UEFI współdzielonym z systemem operacyjnym Windows, NIE instaluj w MBR. Niektóre samouczki wymieniają to jako kluczowy krok do skorzystania z opcji „Zainstaluj w MBR” Grub Customizer w menu Plik. Nie powinieneś tego robić na większości systemów UEFI. MBR (Master Boot Record) jest przeznaczony dla oprogramowania układowego BIOS i nadal jest do pewnego stopnia wykorzystywany przez moduł ładujący Windows. Dodanie GRUB-a do MBR, gdy jest już na liście wpisów EFI, może powodować dużo sierści. Jeśli musisz się upewnić, że GRUB jest pierwszym wpisem na liście kolejności rozruchu (tj. Jeśli system Windows zawsze uruchamia się, mimo że wszystko zrobiłeś dobrze), użyj efibootmgr (patrz krok 4.1), aby wyświetlić / edytować kolejność uruchamiania EFI Managera .

Notatki

Nie wspomniałem o Bezpiecznym rozruchuw ogóle, ponieważ zwykle nie powinno to wpływać na instalację Ubuntu. Wiele samouczków z podwójnym uruchamianiem mówi o wyłączeniu go, ale zwykle nie jest to konieczne w przypadku obecnego 64-bitowego instalatora. Jednak każdy komputer jest inny, a Secure Boot jest dość nowy (2012), więc różne oprogramowanie układowe może implementować różne elementy. Na przykład wersja mojego oprogramowania układowego HP zawiera opcję „starszego rozruchu”, która wyłącza Bezpieczny rozruch i traktuje zainstalowane systemy operacyjne tak, jakby były oprogramowaniem układowym BIOS: niektóre osoby zalecają włączenie tej opcji w przypadku instalacji z podwójnym uruchomieniem. Zainstalowanie Ubuntu w starszym trybie rozruchowym w moim systemie uniemożliwiło GRUBowi dodanie się do listy wpisów EFI, więc wszystko, co mógł zrobić, to dodać się do MBR, nad którym Windows Boot Manager miał pełną kontrolę. Menedżer rozruchu systemu Windows wymagał wielu ulepszeń, aby nawet wyświetlić listę wpisów,

Zobacz tutaj, aby uzyskać więcej informacji na temat Ubuntu oraz Secure Boot i Legacy Boot, a także informacje na temat różnicy między instalacjami UEFI i BIOS w ogóle.


11
Zbyt długi IMHO, aby być dobrą odpowiedzią na tej stronie. Nie zapomnij o publiczności, do której piszesz: przeciętny użytkownik, który nie zna różnicy między procesorem graficznym a procesorem ... Zależy ci, czy trochę go stępię? (czy wiesz, jak cofnąć zmiany?)
Fabby

4
Proszę smiało! Brzytwa Ockhama, co? Staram się to uprościć, nie czując, że pomijam najważniejsze szczegóły, więc każda pomoc jest doceniana.
Michael Hoffmann

24
+1 za najlepsze wyjaśnienie, jakie przeczytałem o UEFI. Myślałem, że to rodzaj „nowego biosu”
SuperSluether

5
Jedna z najlepszych odpowiedzi, jakie kiedykolwiek widziałem. Wypróbuje to wkrótce w nadchodzącym Ubuntu.
Mosh

11
To niesamowity przewodnik. Rozumiem wspomniane wcześniej pragnienie uproszczenia tego, ale nie sądzę, że istnieje prosta odpowiedź na ten problem. Tak, możesz hipotetycznie zmniejszyć go do listy wypunktowanej „zrób to, a następnie zrób to”, ale myślę, że nie jest to konieczne. Bałagan z napędami musi być wykonany z wielką ostrożnością; nie chcę, aby przeciętny użytkownik podążał za listą wypunktowania i zawiódł gdzieś pośrodku.
vaindil

8

Nie chcę powielać wpisu z powodu potencjalnego naruszenia zasad, więc podam link do mojej odpowiedzi dotyczącej tego problemu. Krótko mówiąc, mam już laptopa Samsung z zainstalowanym systemem Windows 10 i próbowałem zainstalować Linuksa w wielu instancjach; Ubuntu 12.04, 14.04 i 16.04. Użyłem Boot-Repair i zmieniłem Priorytet rozruchu w moim BIOS-ie instalacyjnym, co spowodowało funkcjonalne, ale niechlujne ładowanie GRUB-a . Odpowiedź użytkownika Michaela Hoffmanna zawiera dobre wyjaśnienie instalacji na pustym dysku i czyszczenia GRUB-a , ale nie chciałem usuwać instalacji Windows 10.

Szczegółowe wyjaśnienie można znaleźć w moim poście TUTAJ .


1
Hej, dziękuję za przestrzeganie zasad witryny! To utrzymuje porządek i porządek oraz pomaga znaleźć odpowiedzi. Twoja odpowiedź jest niezwykle przydatna i związana z moim pytaniem i moją odpowiedzią, więc cieszę się, że umieściłeś ją tutaj. Dzięki za link!
Michael Hoffmann

6

Mogę przedstawić prosty hack dla tego problemu, użyj go, jeśli żadne z legalnych rozwiązań nie rozwiązało twojego problemu.

Ponieważ Windows ciągle zmienia kolejność rozruchu, włamanie polega na oszukaniu systemu Windows, aby rozpoznał Ubuntu grub jako plik rozruchowy Windows, tj. Bootmgfw.efi

Część 1: Dostęp do folderu EFI w systemie Windows

Otwórz cmd jako administrator i zamontuj folder EFI, aby uzyskać do niego dostęp. Wykonaj następujące polecenia jeden po drugim. Poniżej przypisałem literę g do uchwytu, upewnij się, że przypisałeś nieprzypisaną literę na swoim komputerze.

mountvol g: /s
g:
cd EFI\

Powinieneś zobaczyć folder Microsoft i folder Ubuntu w EFI.

Część 2: Copy grubx64.efi z Ubuntu na Microsoft \ Boot \ jako bootmgfw.efi

Najpierw utwórz kopię zapasową bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Teraz wykonaj kopię i zmień nazwę.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Część 3: Odmontuj folder EFI

Wykonaj następujące polecenia jeden po drugim.

c:
mountvol g: /d

Teraz uruchom ponownie komputer i powinieneś zobaczyć ładowanie Ubuntu GRUB, który powinien mieć opcję modułu ładującego UEFI systemu Windows, aby również uruchomić system Windows.


To działa, ale aktualizacje systemu Windows mogą zastąpić plik .efi, więc może zajść potrzeba okazjonalnego ponownego wykonania. Dzięki za wkład!
Michael Hoffmann

1
Tak, niektóre aktualizacje systemu Windows zastępują plik .efi, więc najlepszym rozwiązaniem, jeśli nie korzystasz z systemu Windows, jest wyłączenie aktualizacji z usług lokalnych i aktualizacja systemu Windows, gdy masz ochotę, i powtórz wymienione kroki.
Zazdrość

To działa, ale teraz jak mam uruchomić system Windows? Teraz uruchamia się bezpośrednio na moim systemie Linux. Proszę doradź.
martti d

@marttid grub ma również pokazywać opcję Windows. Upewnij się, że plik „bootmgfw_.efi” istnieje w folderze rozruchowym Microsoft.
Zazdrość

1
Lub w jednym poleceniu, bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efijak sugerowano tutaj
newandlost

2

Nieco łatwiejsze rozwiązanie powyższego problemu.

  1. Naciśnij F10podczas uruchamiania, aby przejść przez zaawansowane ustawienia BIOS
  2. W ustawieniach kolejności rozruchu systemu BIOS włącz opcję Starszej kolejności rozruchu, która umożliwi zarówno UEFI, jak i starszą kolejność uruchamiania.
  3. Zwiększenie opóźnienia rozruchu do 5 sekund da trochę czasu podczas wyboru systemu operacyjnego.
  4. Zapisz ustawienia BIOS i wyjdź.
  5. Przy następnym uruchomieniu zostaniesz zapytany o opcję wyboru rozruchu. Naciśnij, F9aby wejść i wybrać odpowiednią opcję rozruchu (Menedżer rozruchu systemu operacyjnego Windows lub Ubuntu)

1
Wydaje mi się, że jest to rozwiązanie, ale nie jest to przyjazny dla użytkownika system oparty na GRUB, którego większość ludzi szuka, gdy mówi o podwójnym uruchamianiu. Konieczność wchodzenia w menu oprogramowania układowego - w którym bardzo łatwo jest zepsuć wszystko - za każdym razem, gdy uruchamiasz komputer, należy unikać. Włączenie Starszego rozruchu wymaga również wyłączenia Bezpiecznego rozruchu (przynajmniej na moim oprogramowaniu), co może narazić system na większe ryzyko wstrzyknięcia oprogramowania - każdy nieznajomy może podłączyć do komputera USB ze złośliwym systemem homebrew i uruchomić go w kilka sekund.
Michael Hoffmann

1
Przynajmniej w moim scenariuszu uznałem, że jest o wiele bardziej przyjazny dla użytkownika i szybszy niż rozwiązanie nr 1 oraz jako obejście problemu z trybem rozruchowym UEFI systemu Windows, który początkowo ogranicza uruchamianie podwójne. Tak. Rzeczywiście, to obejście jest przeznaczone dla osób, które mogą włączyć starsze uruchamianie i mieć kontrolę nad komputerem / laptopem, aby nie być narażonym na nieznajomych i wiedzieć, co robią. Ponadto wielu ludzi chce, aby komputer był uruchamiany podwójnie po zainstalowaniu / aktualizacji do systemu Windows 10 i mogą nie mieć wystarczającej ilości zasobów lub czasu potrzebnego na rozwiązanie nr 1.
vishal yadav

0

Znalazłem znacznie prostsze rozwiązanie, które działało na laptopie HP (355 G2) z zainstalowanym systemem Windows 10

  1. Naciśnij klawisz Escape podczas uruchamiania
  2. Naciśnij F9, aby wyświetlić opcje rozruchu
  3. Wybierz opcję USB, która nie jest UEFI (u mnie była to dolna część listy) i naciśnij Enter
  4. Pojawi się ekran komunikatu o błędzie. Wystarczy jednak wpisać „na żywo”, aby wypróbować system operacyjny lub „na żywo”, i nacisnąć Enter, aby zainstalować, a wszystko powinno iść płynnie ...

Czy możesz dowiedzieć się, z jakiej wersji oprogramowania korzystasz? Jeśli instalacja działa teraz zgodnie z przeznaczeniem, to wspaniale, ale może to być właśnie ten konkretny model. Być może aktualizacja oprogramowania układowego uprości proces w moim modelu. Będę ponownie instalować oba systemy operacyjne, abym mógł zmienić kolejność partycji i wypróbować inną dystrybucję w tym tygodniu, i planowałem skorzystać z mojego przewodnika, ale jeśli wersja oprogramowania układowego jest inna niż moja, może najpierw spróbuję zaktualizować.
Michael Hoffmann

Tak, instalacja i podwójny rozruch wydają się działać idealnie. Nie jestem pewien, jak dokładnie znaleźć wersję oprogramowania układowego BIOS / płyty głównej (jeśli tego właśnie chciałeś). Próbowałem „sudo dmidecode”, ale zwróciło to więcej informacji, niż potrzebowałem ...
Amphibio

Jeśli naciśniesz ESC podczas uruchamiania, powinna być dostępna opcja ustawień BIOS lub ustawień oprogramowania układowego. Powinien tam być O lub coś takiego.
Michael Hoffmann

1
Ok fajnie. Wersja systemu BIOS to F. 10. Komputer „Urodzony w dniu” pochodzi z 2015 roku, a fabrycznie zainstalowany system operacyjny to Windows 7, jeśli to robi różnicę…
Amphibio

Umm, to jest do uruchamiania Live USB w trybie BIOS, gdy chodzi o tryb UEFI, i posiadania podwójnego systemu rozruchowego, w którym Grub jest uruchamiany jako pierwszy.
RoundDuckMan

0

Biorąc inspirację (szczerze mówiąc, bardziej jak oderwanie się od odpowiedzi, a następnie usprawnienie jej, ponieważ jest zbyt skomplikowane) z pewnej odpowiedzi tutaj (konkretnie z twoją bardzo szczegółową odpowiedzią tutaj), oto sposób na osiągnięcie tego, również pożyczanie od mój ostatni post z pytaniami i odpowiedziami ( Czy mogę zainstalować system Windows po zainstalowaniu Ubuntu w UEFI? ).

Pierwszy i najłatwiejszy sposób, ponieważ wydaje się, że UEFI nadaje pierwszeństwo pierwszemu zainstalowanemu systemowi (przynajmniej w tych systemach HP mam HP OMEN, gdzie to osiągnąłem), zamiast tradycji ustalania priorytetów dla najnowszej instalacji. Możliwe, że tak się stanie, ponieważ UEFI obsługuje natywnie wiele programów ładujących.

Oznacza to, że aby Priorytet Gruba Ubuntu był traktowany priorytetowo, musisz najpierw zainstalować Ubuntu. Nie martw się tym, ponieważ system Windows 10 będzie ładnie instalował się wraz z Ubuntu, po prostu utwórz partycje Windows w instalatorze Windows, a następnie zainstaluj.

Następnie, po zakończeniu konfiguracji, spróbuj ponownie uruchomić system Windows lub, oczywiście, powinieneś to zrobić przed uruchomieniem systemu Ubuntu, wyłącz opcję szybkiego uruchamiania, przechodząc do opcji zasilania, a następnie wybierając „wybierz działanie przycisku zasilania” , ”i usuń zaznaczenie pola wyboru„ włącz szybkie uruchamianie ”.

Teraz drugą drogą jest efibootmgr. Nie mam z tym dużego doświadczenia, więc postanowiłem pożyczyć od świetnego faceta, który zna tajniki UEFI, dobry stary Rod Smith. Odpowiedział na pytanie tutaj: Zmień kolejność rozruchu za pomocą efibootmgr . Oto, co powiedział dosłownie:

Po pierwsze, skarga, że ​​pliki rozruchowe znajdują się daleko od początku dysku, nie ma znaczenia na komputerze uruchamiającym EFI. W systemie BIOS istnieją ograniczenia (które różnią się w zależności od wieku systemu BIOS), ale nawet w (nowoczesnym) systemie BIOS dysk o pojemności 750 GB nie powinien stwarzać problemów.

Po drugie, można zmienić BootOrderzmienną efibootmgr„s -oopcji, na przykład:

sudo efibootmgr -o 0,1,2

To polecenie ustawi ubuntunajpierw dwa wystąpienia, a następnie Windows Boot Managerwpis. To powinno wystarczyć. Niestety niektóre EFI są błędne i „zapominają” BootOrderwpis lub w inny sposób źle się zachowują. W przypadku problemów zalecamy wypróbowanie następującego polecenia w oknie wiersza polecenia administratora systemu Windows:

bcdedit / set {bootmgr} ścieżka \ EFI \ ubuntu \ shimx64.efi

(Jeśli masz wyłączoną Bezpieczny rozruch, można zastąpić shimx64.efiz grubx64.efi, albo chociaż powinno działać Secure Boot wyłączone).

Jeśli to się nie powiedzie, prawdopodobnie oprogramowanie układowe jest prawdopodobnie wadliwe. Może być dostępna aktualizacja HP. Jeśli nie, lub jeśli to nie pomoże, a jeśli upłynął okres zwrotu komputera, zwróć go w celu uzyskania zwrotu pieniędzy i uzyskaj coś, co nie jest zepsute. Jeśli nie możesz tego zrobić, to trafiasz na terytorium naprawdę brzydkich obejść, takich jak zmiana nazwy GRUB, tak aby udawał moduł ładujący Windows. Zobacz tutaj, aby uzyskać informacje na ten temat, aczkolwiek napisane specjalnie dla rEFInd. Jednak podstawowe zasady mają zastosowanie do wszystkiego.

Zasadniczo użyj efibootmgr, aby zmienić kolejność rozruchu. Po tym, jak zrobisz to dobrze, powinieneś najpierw uruchomić Ubuntu zamiast Windows. :)

Mam nadzieję, że to wszystko pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.