Multiboot USB drive

ten artykuł lub sekcja jest kandydatem do przejścia do obrazów dysków Multiboot.

uwagi: Zobacz dyskusję (omówienie w dyskusji:Multiboot USB drive#zakres i tytuł)

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.

powód: wiele problemów ze stylem (omówienie W Talk:Multiboot USB drive#)

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.

powód: ile dodatkowego miejsca potrzeba na bootloader? (Dyskusja w Talk:Multiboot USB drive#)

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:

  1. partycja rozruchowa BIOS-u (kod typu gdisk EF02). Ta partycja musi mieć rozmiar 1 MiB
  2. partycji systemowej EFI (kod typu gdisk EF00 z systemem plików FAT32). Ta partycja może być tak mała, jak 50 MiB.
  3. 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.

powód: trzeba utworzyć, bo coś może nie wystarczyć? (Omówienie W Talk:Multiboot USB drive#)

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.

Wskazówka: Lista parametrów jądra znajduje się w dokumentacji parametrów wiersza poleceń jądra. Więcej przykładów wpisów ROZRUCHOWYCH można znaleźć w dokumentacji producenta GRUB lub w dokumentacji dystrybucji, którą chcesz uruchomić.

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 Tabnad 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

Zobacz też

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *