ten artykuł lub sekcja jest kandydatem do przejścia do obrazów dysków Multiboot.
multiboot USB flash drive umożliwia uruchamianie wielu plików ISO z jednego urządzenia. Pliki ISO można skopiować na urządzenie i uruchomić bezpośrednio bez ich rozpakowywania. Dostępnych jest wiele metod, ale mogą one nie działać dla wszystkich obrazów ISO.
używanie urządzeń GRUB i loopback
ten artykuł lub sekcja wymaga ulepszeń języka, składni wiki lub stylu. Zobacz Pomoc: styl w celach informacyjnych.
zalety:
- wymagana jest tylko jedna partycja
- wszystkie pliki ISO znajdują się w jednym katalogu
- dodawanie i usuwanie plików ISO jest proste
wady:
- nie wszystkie obrazy ISO są kompatybilne
- oryginalne menu startowe pliku ISO nie jest wyświetlane
- znalezienie działającego wpisu rozruchowego może być trudne
przygotowanie
ten artykuł lub sekcja wymaga rozszerzenia.
Utwórz przynajmniej jedną partycję i system plików obsługiwany przez GRUB na dysku USB. Zobacz partycjonowanie i systemy plików # tworzenie systemu plików. Wybierz rozmiar na podstawie całkowitego rozmiaru plików ISO, które chcesz przechowywać na dysku, i zaplanuj dodatkowe miejsce na bootloader.
instalacja GRUB
prosta instalacja
Zamontuj system plików znajdujący się na dysku USB:
# mount /dev/sdXY /mnt
Utwórz katalog /boot:
# mkdir /mnt/boot
zainstaluj GRUB na dysku USB:
# grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX
Jeśli chcesz uruchomić isos w trybie UEFI, musisz zainstalować GRUB dla celu UEFI:
# grub-install --target=x86_64-efi --removable --boot-directory=/mnt/boot --efi-directory=/mnt
dla UEFI partycja musi być pierwsza w tabeli partycji MBR i sformatowana w FAT32.
Hybrid UEFI GPT + BIOS GPT/MBR boot
Ta konfiguracja jest przydatna do tworzenia uniwersalnego klucza USB, rozruchowego wszędzie.Przede wszystkim musisz utworzyć tablicę partycji GPT na swoim urządzeniu. Potrzebujesz co najmniej 3 partycji:
- partycja rozruchowa BIOS-u (kod typu gdisk
EF02
). Ta partycja musi mieć rozmiar 1 MiB - partycji systemowej EFI (kod typu gdisk
EF00
z systemem plików FAT32). Ta partycja może być tak mała, jak 50 MiB. - twoja partycja danych (Użyj systemu plików obsługiwanego przez GRUB). Ta partycja może zająć resztę miejsca na dysku.
faktyczna dokładność tego artykułu lub sekcji jest kwestionowana.
następnie musisz utworzyć hybrydową tablicę partycji MBR, ponieważ ustawienie flagi rozruchu na ochronnej partycji MBR może nie wystarczyć.
Hybrid MBR partition Table creation example using gdisk:
nie zapomnij sformatować partycji:
# mkfs.fat -F32 /dev/sdX2# mkfs.ext4 /dev/sdX3
Możesz teraz zainstalować GRUB obsługujący zarówno EFI + GPT, jak i BIOS + GPT / MBR. Konfiguracja GRUB (–boot-directory) może być przechowywana w tym samym miejscu.
najpierw musisz zamontować partycję systemową EFI i partycję danych dysku USB.
przykład tego będzie następujący:
# mount /dev/sdX3 /mnt# mkdir -p /mnt/boot/EFI# mount /dev/sdX2 /mnt/boot/EFI
następnie możesz zainstalować GRUB dla UEFI za pomocą:
w większości przypadkówEFI_MOUNTPOINT
będzie odpowiadać podkatalogowi/mnt/boot/EFI
na zamontowanym dysku USB.
# grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot
i dla BIOSu z:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX
jako dodatkowy zapasowy, możesz również zainstalować GRUB na swojej rozruchowej partycji danych MBR:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX3
Konfigurowanie GRUB
za pomocą szablonu
istnieje kilka projektów git, które dostarczają pewne wcześniej istniejące pliki konfiguracyjne GRUB, oraz ładny ogólny grub.cfg
, który może być użyty do załadowania innych wpisów rozruchowych na żądanie, pokazując je tylko wtedy, gdy określone pliki ISO-lub foldery je zawierające – są obecny na dysku.
Multiboot USB:https://github.com/aguslr/multibootusb
GLIM (GRUB2 Live ISO Multiboot): https://github.com/thias/glim
konfiguracja Ręczna
dla potrzeb napędu USB multiboot łatwiej jest edytowaćgrub.cfg
ręcznie, zamiast go generować. Alternatywnie, wprowadź następujące zmiany w/etc/grub.d/40_custom
lub/mnt/boot/grub/custom.cfg
I Wygeneruj/mnt/boot/grub/grub.cfg
za pomocą grub-mkconfig.
ponieważ zaleca się używanie trwałej nazwy zamiast/dev/sdxY
, aby zidentyfikować partycję na dysku USB, na której znajdują się Pliki Obrazów, zdefiniuj zmienną dla wygody przechowywania tej wartości. Jeśli obrazy ISO znajdują się na tej samej partycji co GRUB, użyj następującego polecenia, aby odczytać UUID podczas rozruchu:
/mnt/boot/grub/grub.cfg
# ścieżka do partycji zawierającej obrazy ISO (przy użyciu UUID)probe-u $root --set=rootuuidset imgdevpath="/dev/disk/by-uuid/$rootuuid"
lub podaj jawnie UUID:
/mnt/boot/grub/grub.cfg
# ścieżka do partycji zawierającej obrazy ISO (przy użyciu UUID)Ustaw imgdevpath="/dev/disk/by-uuid/UUID_value"
alternatywnie użyj etykiety urządzenia zamiast UUID:
/mnt/boot/grub/grub.cfg
# ścieżka do partycji zawierającej obrazy ISO (używając etykiet)Ustaw imgdevpath="/dev/disk/by-label/label_value"
wymagany UUID lub etykietę można znaleźć za pomocą lsblk -f
. Nie używaj tej samej etykiety co Arch ISO dla urządzenia USB, w przeciwnym razie proces rozruchu zakończy się niepowodzeniem.
aby zakończyć konfigurację, należy dodać wpis rozruchowy dla każdego obrazu ISO poniżej tego nagłówka, patrz następna sekcja po przykłady.
boot entries
zakłada się, że obrazy ISO są przechowywane w kataloguboot/iso/
na tym samym systemie plików, na którym zainstalowany jest GRUB. W przeciwnym razie konieczne byłoby prefiksowanie ścieżki do pliku ISO z identyfikacją urządzenia przy użyciu polecenialoopback
, na przykładloopback loop (hd1,2)$isofile
. Ponieważ ta identyfikacja urządzeń nie jest trwała, nie jest używana w przykładach w tej sekcji.
Można używać trwałych nazw urządzeń blokowych w ten sposób. Zastąp UUID zgodnie z uuid systemu plików ISO.
Arch Linux monthly release
Zobacz również archiso.
Zobacz README.bootparams dla opcji archiso obsługiwanych w wierszu poleceń jądra.
Memtest86+
Memtest86+ jest zawarty w miesięcznym ISO.
archboot
Zobacz też: archboot.
używając syslinux i memdisk
używając modułu memdisk, obraz ISO jest ładowany do pamięci, a jego bootloader jest ładowany. Upewnij się, że system, który uruchomi ten dysk USB, ma wystarczającą ilość pamięci dla pliku obrazu i uruchomionego systemu operacyjnego.
przygotowanie
upewnij się, że dysk USB jest poprawnie podzielony na partycje i że istnieje partycja z systemem plików obsługiwanym przez Syslinux, na przykład fat32 lub ext4. Następnie zainstaluj Syslinux na tej partycji, patrz Syslinux # Installation on BIOS.
zainstaluj moduł memdisk
moduł memdisk nie został zainstalowany podczas instalacji Syslinux, musi być zainstalowany ręcznie. Zainstaluj partycję, na której zainstalowany jest syslinux do /mnt/
I skopiuj moduł memdisk do tego samego katalogu, w którym zainstalowany jest syslinux:
# cp /usr/lib/syslinux/bios/memdisk /mnt/boot/syslinux/
Konfiguracja
po skopiowaniu plików ISO na dysk USB, Edytuj plik konfiguracyjny Syslinux i utwórz pozycje menu dla obrazów ISO. PODSTAWOWY Wpis wygląda tak:
boot/syslinux / syslinux.cfg
LABEL some_label Linux memdisk initrd/path/to / image.iso Dołącz iso
Zobacz memdisk na syslinux wiki, aby uzyskać więcej opcji konfiguracyjnych.
zastrzeżenie dla systemów 32-bitowych
podczas uruchamiania systemu 32-bitowego z obrazu większego niż 128mib, konieczne jest zwiększenie maksymalnego wykorzystania pamięci vmalloc. Odbywa się to poprzez dodanie vmalloc=valueM
do parametrów jądra, gdzie value
jest większy niż rozmiar obrazu ISO w MiB.
na przykład podczas uruchamiania systemu 32-bitowego z ISO instalacji Arch, naciśnij klawisz Tab
nad wpisem Boot Arch Linux (i686)
I dodaj vmalloc=768M
na końcu. Pominięcie tego kroku spowoduje następujący błąd podczas rozruchu:
modprobe: ERROR: could not insert 'phram': Input/output error
Automated tools
- GRUB2 Live ISO Multiboot (GLIM) — zestaw plików konfiguracyjnych GRUB, który przekształca sformatowaną pamięć USB VFAT z obrazami ISO w dystrybucji GNU / Linux w multiboot USB drive.
https://github.com/thias/glim | / Nie zapakowane? szukaj w AUR
- liveusb-builder – zestaw skryptów do tworzenia pamięci USB multiboot dla dystrybucji GNU / Linuksa
https://github.com/mytbk/liveusb-builder | / liveusb-builder-gitAUR
- MultiBootUSB — wieloplatformowe oprogramowanie Pythona z interfejsami CLI i GUI, które pozwala instalować i usuwać wiele żywych obrazów Linuksa na pamięci USB.
https://github.com/mbusb/multibootusb | / multibootusbAUR
- MultiSystem — graficzne narzędzie umożliwiające instalację, zarządzanie i usuwanie wielu obrazów ISO na urządzeniu USB.
http://liveusb.info/dotclear/ | /multisystemAUR
- Ventoy — narzędzie open source do tworzenia bootowalnego dysku USB dla plików ISO/WIM/IMG/VHD(x) / EFI. Nie musisz formatować dysku w kółko, wystarczy skopiować pliki na dysk USB i uruchomić je bezpośrednio.
https://www.ventoy.net | /ventoy-binAUR