Multiboot-USB-Laufwerk

Dieser Artikel oder Abschnitt ist ein Kandidat für den Wechsel zu Multiboot-Disk-Images.

Hinweise: Siehe Diskussion (Discuss in Talk:Multiboot USB drive#Scope and title)

Ein Multiboot-USB-Flash-Laufwerk ermöglicht das Booten mehrerer ISO-Dateien von einem einzigen Gerät. Die ISO-Dateien können auf das Gerät kopiert und direkt gebootet werden, ohne sie vorher zu entpacken. Es stehen mehrere Methoden zur Verfügung, die jedoch möglicherweise nicht für alle ISO-Images funktionieren.

Verwenden von GRUB- und Loopback-Geräten

Dieser Artikel oder Abschnitt benötigt Sprach-, Wiki-Syntax- oder Stilverbesserungen. Siehe Hilfe: Stil als Referenz.

Grund: mehrere Style-Probleme (Diskutieren Sie im Talk:Multiboot USB drive#)

Vorteile:

  • nur eine einzige Partition erforderlich
  • Alle ISO-Dateien befinden sich in einem Verzeichnis
  • Das Hinzufügen und Entfernen von ISO-Dateien ist einfach

Nachteile:

  • Nicht alle ISO-Images sind kompatibel
  • Das ursprüngliche Startmenü für die ISO-Datei wird nicht angezeigt
  • Es kann schwierig sein, einen funktionierenden Starteintrag zu finden

Vorbereitung

Dieser Artikel oder Abschnitt muss erweitert werden.

Grund: Wie viel zusätzlicher Speicherplatz wird für den Bootloader benötigt? (Diskutieren Sie in Diskussion:Multiboot USB drive#)

Erstellen Sie mindestens eine Partition und ein von GRUB unterstütztes Dateisystem auf dem USB-Laufwerk. Siehe Partitionierung und Dateisysteme#Erstellen eines Dateisystems. Wählen Sie die Größe basierend auf der Gesamtgröße der ISO-Dateien, die Sie auf dem Laufwerk speichern möchten, und planen Sie zusätzlichen Speicherplatz für den Bootloader ein.

GRUB installieren

Einfache Installation

Mounten Sie das Dateisystem auf dem USB-Laufwerk:

# mount /dev/sdXY /mnt

Erstellen Sie das Verzeichnis /boot:

# mkdir /mnt/boot

Installieren Sie GRUB auf dem USB-Laufwerk:

# grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX

Wenn Sie ISOs im UEFI-Modus booten möchten, müssen Sie grub für das UEFI-Ziel installieren:

# grub-install --target=x86_64-efi --removable --boot-directory=/mnt/boot --efi-directory=/mnt

Für UEFI muss die Partition die erste in einer MBR-Partitionstabelle sein und mit FAT32 formatiert sein.

Hybrid UEFI GPT + BIOS GPT/MBR Boot

Diese Konfiguration ist nützlich, um einen universellen USB-Stick zu erstellen, der überall bootfähig ist.Zunächst müssen Sie eine GPT-Partitionstabelle auf Ihrem Gerät erstellen. Sie benötigen mindestens 3 Partitionen:

  1. Eine BIOS-Bootpartition (gdisk type code EF02). Diese Partition muss 1 MB groß sein
  2. Eine EFI-Systempartition (gdisk-Typcode EF00 mit einem FAT32-Dateisystem). Diese Partition kann so klein wie 50 MiB sein.
  3. Ihre Datenpartition (verwenden Sie ein von GRUB unterstütztes Dateisystem). Diese Partition kann den Rest des Speicherplatzes Ihres Laufwerks belegen.

Die sachliche Richtigkeit dieses Artikels oder Abschnitts ist umstritten.

Grund: Muss erstellen, weil etwas nicht genug sein könnte? (Diskutieren Sie in Diskussion:Multiboot USB drive#)

Als nächstes müssen Sie eine hybride MBR-Partitionstabelle erstellen, da das Setzen des Boot-Flags auf der schützenden MBR-Partition möglicherweise nicht ausreicht.

Beispiel für die Erstellung einer Hybrid-MBR-Partitionstabelle mit gdisk:

Vergessen Sie nicht, die Partitionen zu formatieren :

# mkfs.fat -F32 /dev/sdX2# mkfs.ext4 /dev/sdX3

Sie können jetzt GRUB installieren, um sowohl EFI + GPT als auch BIOS + GPT/MBR zu unterstützen. Die GRUB-Konfiguration (–boot-directory) kann am selben Ort aufbewahrt werden.

Zuerst müssen Sie die EFI-Systempartition und die Datenpartition Ihres USB-Laufwerks mounten.

Ein Beispiel hierfür wäre wie folgt:

# mount /dev/sdX3 /mnt# mkdir -p /mnt/boot/EFI# mount /dev/sdX2 /mnt/boot/EFI

Dann können Sie GRUB für UEFI mit installieren:

In den meisten Fällen entspricht EFI_MOUNTPOINT dem /mnt/boot/EFI Unterverzeichnis auf Ihrer gemounteten USB-Festplatte.

# grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot

Und für BIOS mit:

# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX

Als zusätzliches Fallback können Sie GRUB auch auf Ihrer MBR-bootfähigen Datenpartition installieren:

# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX3

GRUB konfigurieren

Mit einer Vorlage

Es gibt einige Git-Projekte, die einige bereits vorhandene GRUB-Konfigurationsdateien bereitstellen, und ein nettes generisches grub.cfg, mit dem die anderen Boot-Einträge bei Bedarf geladen werden können, wobei sie nur angezeigt werden, wenn die angegebenen ISO-Dateien – oder Ordner, die sie enthalten – auf dem Laufwerk vorhanden sind.

Multiboot USB: https://github.com/aguslr/multibootusb

GLIM (GRUB2 Live ISO Multiboot): https://github.com/thias/glim

Manuelle Konfiguration

Für Multiboot-USB-Laufwerke ist es einfacher, grub.cfg von Hand zu bearbeiten, anstatt es zu generieren. Alternativ können Sie die folgenden Änderungen in /etc/grub.d/40_custom oder /mnt/boot/grub/custom.cfg vornehmen und /mnt/boot/grub/grub.cfg mit grub-mkconfig generieren.

Da empfohlen wird, anstelle von /dev/sdxY einen persistenten Namen zu verwenden, um die Partition auf dem USB-Laufwerk zu identifizieren, auf der sich die Image-Dateien befinden, definieren Sie eine Variable, um den Wert zu speichern. Wenn sich die ISO-Images auf derselben Partition wie GRUB befinden, lesen Sie die UUID beim Booten wie folgt:

/mnt/boot/grub/grub.cfg
# Pfad zur Partition, die ISO-Images enthält (mit UUID)probe -u $root --set=rootuuidset imgdevpath="/dev/disk/by-uuid/$rootuuid"

Oder geben Sie die UUID explizit an:

/ grub / grub.cfg
# Pfad zur Partition, die ISO-Images enthält (mit UUID)set imgdevpath="/dev/disk/by-uuid/UUID_value"

Alternativ können Sie anstelle der UUID die Gerätebezeichnung verwenden:

/mnt/boot/grub/grub.cfg
# Pfad zur Partition mit ISO-Images (mit Labels)set imgdevpath="/dev/disk/by-label/label_value"

Die erforderliche UUID oder Bezeichnung finden Sie unter lsblk -f. Verwenden Sie nicht dasselbe Label wie die Arch-ISO für das USB-Gerät, da sonst der Startvorgang fehlschlägt.

Um die Konfiguration abzuschließen, muss ein Boot-Eintrag für jedes ISO-Image unterhalb dieses Headers hinzugefügt werden, Beispiele finden Sie im nächsten Abschnitt.

Booteinträge

Es wird angenommen, dass die ISO-Images im Verzeichnis boot/iso/ auf demselben Dateisystem gespeichert sind, auf dem GRUB installiert ist. Andernfalls müsste dem Pfad zur ISO-Datei die Geräteidentifikation vorangestellt werden, wenn der Befehl loopback verwendet wird, z. B. loopback loop (hd1,2)$isofile. Da diese Identifikation von Geräten nicht persistent ist, wird sie in den Beispielen in diesem Abschnitt nicht verwendet.

Man kann persistent Block device naming wie folgt verwenden. Ersetzen Sie die UUID entsprechend Ihrer ISO-Dateisystem-UUID.

Tipp: Eine Liste der Kernelparameter finden Sie in der Dokumentation zu den Befehlszeilenparametern des Kernels. Weitere Beispiele für Booteinträge finden Sie in der GRUB-Upstream-Dokumentation oder in der Dokumentation für die Distribution, die Sie booten möchten.

Arch Linux monthly release

Siehe auch archiso.

Siehe README.bootparams für Archiso-Optionen, die in der Kernel-Befehlszeile unterstützt werden.

Memtest86+

Memtest86+ ist in der monatlichen ISO enthalten.

archboot

Siehe auch archboot.

Mit Syslinux und memdisk

Mit dem Memdisk-Modul wird das ISO-Image in den Speicher geladen und sein Bootloader geladen. Stellen Sie sicher, dass das System, das dieses USB-Laufwerk startet, über genügend Speicher für die Image-Datei und das laufende Betriebssystem verfügt.

Vorbereitung

Stellen Sie sicher, dass das USB-Laufwerk ordnungsgemäß partitioniert ist und dass eine Partition vorhanden ist, deren Dateisystem von Syslinux unterstützt wird, z. B. fat32 oder ext4. Installieren Sie dann Syslinux auf dieser Partition, siehe Syslinux#Installation im BIOS.

Memdisk-Modul installieren

Das Memdisk-Modul wurde während der Syslinux-Installation nicht installiert, es muss manuell installiert werden. Mounten Sie die Partition, in der Syslinux installiert ist, in /mnt/ und kopieren Sie das Memdisk-Modul in dasselbe Verzeichnis, in dem Syslinux installiert ist:

# cp /usr/lib/syslinux/bios/memdisk /mnt/boot/syslinux/

Konfiguration

Bearbeiten Sie nach dem Kopieren der ISO-Dateien auf das USB-Laufwerk die Syslinux-Konfigurationsdatei und erstellen Sie Menüeinträge für die ISO-Images. Der grundlegende Eintrag sieht folgendermaßen aus:

boot/syslinux/syslinux.cfg
BESCHRIFTEN SIE some_label LINUX memdisk INITRD /path/to/image.iso APPEND iso

Weitere Konfigurationsoptionen finden Sie unter memdisk im Syslinux Wiki.

Vorbehalt für 32-Bit-Systeme

Beim Booten eines 32-Bit-Systems von einem Image, das größer als 128 MB ist, muss die maximale Speichernutzung von vmalloc erhöht werden. Dies geschieht durch Hinzufügen von vmalloc=valueM zu den Kernelparametern, wobei value größer ist als die Größe des ISO-Images in MiB.

Wenn Sie beispielsweise das 32-Bit-System von der Arch-Installations-ISO booten, drücken Sie die Taste Tab über den Eintrag Boot Arch Linux (i686) und fügen Sie am Ende vmalloc=768M hinzu. Das Überspringen dieses Schritts führt beim Booten zu folgendem Fehler:

modprobe: ERROR: could not insert 'phram': Input/output error

Automatisierte Tools

  • GRUB2 Live ISO Multiboot (GLIM) — Eine Reihe von GRUB-Konfigurationsdateien, um einen VFAT-formatierten USB-Speicherstick mit GNU / Linux-Distribution ISO-Images in ein Multiboot-USB-Laufwerk zu verwandeln.

https://github.com/thias/glim || nicht verpackt? suchen Sie in AUR

  • liveusb-builder – Eine Skriptsuite zum Erstellen eines Multiboot-USB-Sticks für GNU / Linux-Distributionen

https://github.com/mytbk/liveusb-builder || liveusb-builder—gitAUR

  • MultiBootUSB – Eine plattformübergreifende Python-Software mit CLI- und GUI-Schnittstellen, mit der Sie mehrere Live-Linux-Images auf einem USB-Stick installieren und entfernen können.

https://github.com/mbusb/multibootusb || multibootusbAUR

  • MultiSystem — Ein grafisches Tool, mit dem Sie mehrere ISO-Images auf einem USB-Gerät installieren, verwalten und entfernen können.

http://liveusb.info/dotclear/ |/ multisystemAUR

  • Ventoy — Ein Open-Source-Tool zum Erstellen eines bootfähigen USB-Laufwerks für ISO / WIM/IMG/VHD(x)/EFI-Dateien. Sie müssen die Festplatte nicht immer wieder formatieren, sondern nur die Dateien auf das USB-Laufwerk kopieren und direkt booten.

https://www.ventoy.net || ventoy-binAUR

Siehe auch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.