Przegląd
Tworzenie nośnika na żywo z nośnika USB tylko do UEFI jest dość proste. Wystarczy skopiować pliki na dysk USB w formacie FAT32 . Otóż to!
Pamiętaj, że w przypadku instalacji lub rozruchu nośnika:
Spis treści
- Skopiuj pliki z metody ISO
- Przykład przez terminal
- Przykład za pomocą GUI
- Przykład w systemie Windows
- Metoda sprzężenia zwrotnego ISO (zaawansowana)
- Tworzenie pliku binarnego
- Tworzenie pliku konfiguracyjnego
- Dodawanie trwałości
- Sprawdzanie integralności
- Bezpieczny rozruch UEFI
1. Skopiuj pliki z metody ISO
Ta metoda działa również w przypadku innych nośników instalacyjnych zawierających programy ładujące EFI, na przykład Windows.
1.1 Przykład przez terminal
Możesz wykonać następujące czynności, jeśli 604A-00EA
masz napęd USB i masz już p7zip
zainstalowany:
$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/
Skończysz, jeśli masz tylko jedną partycję na tym dysku USB, w przeciwnym razie musisz oznaczyć partycję jako rozruchową, np. Przez parted
:
# parted /dev/sdX set 1 boot on
Gdzie /dev/sdX
byłby twój dysk USB i 1
numer partycji, którego należy użyć do uruchomienia.
1.2 Przykład za pomocą GUI
Zamontuj plik .iso i skopiuj zawartość na dysk USB. Naciśnij Ctrl+ Hw Nautilus, aby wyświetlić i skopiować również ukryte pliki.
Dodaj flagę rozruchową przez GParted .
1.3 Przykład w systemie Windows
- Tak jak powyżej, po prostu skopiuj pliki.
- Naciśnij Windows/Super+ X, przejdź do Zarządzanie dyskami i sprawdź, czy partycja jest oznaczona jako aktywna. W wersjach systemu Windows starszych niż Windows 8, naciśnij Windows/Super+, Raby otworzyć menu uruchamiania i otworzyć
diskmgmt.msc
, aby otworzyć Zarządzanie dyskami.
2. Metoda sprzężenia zwrotnego ISO (zaawansowane)
Zamiast wyodrębniać zawartość z obrazu ISO, GRUB i GRUB2 były w stanie uruchomić się z obrazów ISO bezpośrednio przez urządzenie loopback. Biorąc pod uwagę, że obraz ISO można uruchomić z systemu UEFI, możemy skonfigurować dysk USB zawierający wiele ISO z różnymi systemami operacyjnymi bez tworzenia bałaganu na dysku USB.
Jeśli chcesz również uruchomić system Windows, możesz spojrzeć na SARDU . Pamiętam, że używałem go z Windows PE około 2005 roku i wydaje się, że został zaktualizowany do obsługi napędów USB i UEFI, ale pamiętam, że to narzędzie obsługuje również starsze uruchamianie.
Czego potrzebujemy?
- Bardzo podstawowa znajomość plików konfiguracyjnych GRUB.
- Bardzo podstawowa wiedza na temat uruchamiania UEFI i GRUB, ponieważ zamierzamy wygenerować własny obraz bootloadera GRUB z dużą ilością modułów.
- Obraz ISO rozruchowy UEFI, dysk USB w formacie FAT i komputer z systemem Linux.
- Nie, nie potrzebujemy instalacji systemu Linux w UEFI (może to być sytuacja z kurczakiem i jajami), tradycyjna maszyna wirtualna z systemem Linux, jak w VirtualBox, jest w porządku.
2.1 Tworzenie pliku binarnego
Na komputerze Ubuntu lub maszynie wirtualnej upewnij się, że pakiet grub-efi-amd64-bin jest zainstalowany (grub-efi-ia32-bin jest również dostępny dla 32-bitowych architektur Intel w nowszych wersjach). Pakiet może mieć inną nazwę w innej dystrybucji, możesz porównać listę plików pakietu, aby znaleźć odpowiedni pakiet w swojej dystrybucji.
Poniższe polecenie wygeneruje obraz GRUB, w tym przypadku plik binarny EFI, który powinien być w stanie uruchomić każdy komputer z oprogramowaniem układowym UEFI:
grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
fat iso9660 part_gpt part_msdos \
normal boot linux configfile loopback chain \
efifwsetup efi_gop efi_uga \
ls search search_label search_fs_uuid search_fs_file \
gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
exfat ext2 ntfs btrfs hfsplus udf
Każde standardowe oprogramowanie układowe UEFI powinno szukać \EFI\BOOT\
pliku o nazwie boot{arch}.efi
, więc utwórz foldery na dysku USB i skopiuj właśnie utworzony obraz do tej lokalizacji. Możliwe są inne architektury zamiast x64, ale bądźmy prostsze dzięki x64 / amd64.
2.2 Tworzenie pliku konfiguracyjnego
Bardzo prosty przykład grub.cfg
pliku konfiguracyjnego, który powinien zostać umieszczony w tym samym katalogu, bootx64.efi
który wyglądałby następująco:
set timeout=3
set color_highlight=black/light-magenta
menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
menuentry 'Ubuntu' {
chainloader /efi/ubuntu/grubx64.efi
}
menuentry 'Windows' {
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Firmware Setup' {
fwsetup
}
}
Ważną rzeczą jest blok konfiguracji z tytułem Boot Ubuntu 14.04.2 LTS from ISO
. Możesz zmienić kolor i limit czasu zgodnie ze swoimi preferencjami. Wybrałem, black/light-magenta
ponieważ nadal wygląda trochę na Ubuntu, ale łatwo go odróżnić podczas ładowania innych konfiguracji. Możesz znaleźć więcej przykładów innych dystrybucji na Arch Wiki i przeczytanie instrukcji GRUB jest naprawdę warte twojego czasu, jeśli chcesz wyjść poza to.
Wracając do bloku konfiguracji, powinno być oczywiste, że ISO jest oznaczony jako /efi/boot/ubuntu-14.04.2-desktop-amd64.iso
, więc skopiuj ISO do \EFI\BOOT\
i zastąp ubuntu-14.04.2-desktop-amd64.iso
w konfiguracji rzeczywistą nazwą pliku ISO.
loopback loop $isofile
to linia, która załaduje nasz plik ISO do urządzenia pętli zwrotnej, z którego możemy bezpośrednio uruchomić jądro Linuksa. Jest to możliwe, ponieważ nasz obraz EFI GRUB zawiera moduł sprzężenia zwrotnego. (Trochę prób i błędów było zaangażowanych w ustalenie, które moduły powinny zostać uwzględnione. Nie powinieneś widzieć żadnych komunikatów o błędach, ale nadal nie jest idealny.) Mówiąc o jądrze, możesz dodać parametry jądra, takie jak toram
parametry dla różnych języków (przykład locale=de_DE bootkbd=de
) i jak w przykładzie:persistent
2.3 Dodawanie trwałości
Możesz dodać partycję zgodnie z opisem w: Jak uzyskać Live-USB, aby używać partycji do utrwalania? Możesz też utworzyć casper-rw
plik i umieścić go w katalogu głównym dysku USB.
dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw
Nie testowałem, jakie jest absolutne maksimum, powinno wynosić od 4094 do 4096 MB. Użyj partycji, jeśli zamierzasz użyć więcej miejsca. Zauważ, że każda zmiana w (root) jest modyfikacją systemu plików nakładki, nawet usuwanie plików.
2.4 Sprawdzanie integralności
Powinieneś spojrzeć na odpowiedzi na następujące pytania, aby sprawdzić, czy zawartość Live ISO na dysku USB jest w idealnym stanie:
2.5 Bezpieczny rozruch UEFI
Bezpieczny rozruch stanie się obowiązkowy na komputerach z systemem Windows 10. Sugeruję zajrzenie do PreLoadera Linux Foundation, aby dodać funkcjonalność Bezpiecznego rozruchu do tej konfiguracji. Oto niektóre dzieła ASCII ilustrujące menu towarzyszącego narzędzia HashTool .
Gratulacje, powiedziałbym, że opanowałeś już uruchamianie UEFI i nie powinieneś się już bać.