Mam komputer przenośny UEFI i Windows 8.1. Chcę utworzyć bootowalną pamięć USB linux, która może być użyta do rozruchu mojego starszego systemu BIOS lub nowszego systemu UEFI. W razie potrzeby mogę mieć dwie oddzielne kopie dystrybucji na żywo na różnych partycjach pamięci USB. Jakie są kroki, aby to osiągnąć?
Przeczytałem inne posty, które wydają się wskazywać, że jest to możliwe, ale żaden z nich nie pokazuje wyraźnie, jak to zrobić:
Jak stworzyć hybrydową partycję MBR / GPT na dysku USB?
Jest hybrydowym pendrive'em USB dla UEFI & amp; możliwy stary BIOS?
Odpowiedzi:
Gdy poprosisz o wyraźną ilustrację, jak to zrobić, oto jest. Zakładam, że masz uruchomionego Linuksa na żywo.
Podziel dysk USB na partycje
Polecam narzędzie linii poleceń
gdisk
. Daje bardzo czyste wyniki. Alternatywnie możesz użyćgparted
.Utwórz nową tabelę partycji. Użyj GPT z ochronnym MBR.
Zdefiniuj następujące partycje:
Przykład: na moim dysku 64 GB wynik wygląda tak:
Zainstaluj Linuksa na pamięci USB za pomocą dowolnej metody.
Podczas tego procesu sformatuj partycję Linuksa za pomocą wybranego systemu plików
ext4
. Użyj tej partycji jako root/
.Sformatuj partycję systemową EFI za pomocą FAT16.
Partycja rozruchowa systemu BIOS pozostaje niesformatowana.
Zainstaluj GRUB dwa razy
W ostatnim kroku zainstaluj GRUB dla obu metod uruchamiania, uruchamiania w stylu UEFI i starszego uruchamiania BIOS.
Gdzie
/dev/sdx
to oczywiście pamięć USB.Że
--removable
jest ważne. Trzy godziny zajęło mi uświadomienie sobie, że potrzebuję go na wymiennym napędzie USB ...Jeśli zainstalujesz GRUB na pendrive z „zewnętrznego” (nie uruchamiając Linuksa z pamięci USB), musisz najpierw zainstalować partycję Linux. Może go zamontujesz
/mnt
. Następnie montujesz partycję systemu EFI na partycjach Linux/mnt/boot/efi
informator. Posługiwać się--root=/mnt
jako parametr dlagrub-install
. Tylko wtedygrub-install
znajduje wszystkie niezbędne katalogi.Gotowe.
W celu dalszego czytania:
Nie zdefiniowaliśmy partycji w MBR. Możesz więc zapytać, dlaczego działa na starszych komputerach z systemem BIOS. Pamiętaj, że zainstalowaliśmy GRUB w MBR. Podczas starszego procesu uruchamiania BIOS uruchamiany jest bootloader zapisany w MBR. To ładuje etap 1 GRUB, który następnie ładuje etap 2 ze starszej partycji rozruchowej BIOS. Ale obecnie GRUB nie wie nic o partycjach MBR lub w inny sposób. Z tego powodu informacje o pozycji partycji rozruchowej BIOS-u zostały osadzone w etapie 1. GRUB. W konsekwencji, jeśli partycja rozruchowa BIOS-u zostanie przeniesiona, należy ponownie zainstalować GRUB. Po załadowaniu GRUB stage 2, GRUB rozumie GPT i może kontynuować uruchamianie jądra Linux.
źródło
grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
. Czy jest jakiś sposób, aby zmusić go do zainstalowania go bez konieczności uruchamiania przez efi?grub-efi-amd64-bin
. Ponadto możesz przeszukiwać indeks pakietów online o tym, jakie instalatory są w ogóle dostępne. Doświadczenie może się różnić w przypadku innych smaków Linuksa.