So erstellen Sie Multiboot -USB mit Linux

So erstellen Sie Multiboot -USB mit Linux

Zielsetzung

Erstellen Sie ein bootfähiges USB -Gerät mit mehreren Linux -Verteilungen.

Anforderungen

  • Ein USB -Gerät mit genügend Größe, um mehrere ISOs zu enthalten
  • Root -Berechtigungen zum Ändern der Gerätepartitionen und zur Installation von GRUB

Schwierigkeit

MITTEL

Einführung

In der Lage zu sein, ein ganzes Betriebssystem direkt aus einem Installationsmedium auszuführen. Es ist äußerst nützlich: Wir können eine Verteilung testen, es für Sicherungszwecke verwenden oder möglicherweise ein vorhandenes System reparieren. Die übliche Möglichkeit, ein bootfähiges Medium zu erstellen, besteht darin, ein Systembild mit dem zu schreiben dd Befehl oder ein dediziertes Tool. In diesem Tutorial sehen wir, wie Sie ein Multiboot -USB -Gerät erstellen, mit dem mehrere Distributionsbilder gehostet werden können.

Ein Wort über BIOS vs UEFI

Uefi (Unified Extensible Firmware -Schnittstelle) Es ist die moderne Firmware, die als Ersatz für das Erbe erstellt wurde BIOS (Grundlegendes Ein-und Ausgabesystem). Die Mehrheit der neuesten Linux -Verteilungen kann in beiden Modi ohne Probleme starten: Der Installationsprogramm passt automatisch sein Verhalten entsprechend an.

Die beiden Unternehmenswares sind Standards mit einem bestimmten Partitionstabellenlayout verbunden: Uefi Geht Hand in Hand mit gpt, während BIOS kommt mit dem msdos eins. Diese Assoziationen sind jedoch nicht streng obligatorisch, da zumindest theoretisch a Uefi Firmware kann den Boot -Prozess von a starten msdos Scheibenlayout und ein Vermächtnis BIOS System kann dasselbe aus a tun gpt verteilte Scheibe.



Im ersteren Fall die Efi Die Partition muss die erste auf der Scheibe sein und mit dem formatiert werden FAT32 FileeeyStem, in letzterem, a Bios Boot Partition ohne ein Dateisystem sollte vorhanden sein, um die GRUB -Stufe 1 zu speichern.5, seit auf a gpt Legen Sie die Lücke zwischen dem Master -Boot -Datensatz und der ersten Partition nicht vor (hier wird diese GRUB -Bühne normalerweise installiert).

Wir werden unser Gerät mit einem traditionellen vorbereiten msdos Layout, installieren Sie den Grub -Bootloader sowohl im EFI- als auch im Legacy -Modus, um die Verteilungen beides in zu starten Uefi Und BIOS Modus.

Vorbereitung des Geräts

Das erste, was wir tun müssen, ist, unser Gerät vorzubereiten. Wir werden zwei Partitionen erstellen, um in Ordnung zu sein:

  • Ein Efi Trennwand
  • Eine Datenpartition

Das erste wird benötigt, um einzubieten Uefi Modus, da es an der Stelle, an der Grub-efi installiert wird, installiert wird. Die Partition muss mit a formatiert werden FAT32 Dateisystem. Theoretisch würde das Setup auch nur mit dieser Partition funktionieren, da wir es auch verwenden können, um die Distributionsbilder zu speichern, die wir verwenden möchten. In diesem Fall wären wir jedoch begrenzt, seitdem FAT32 Unterstützt keine Dateien Lager als 4 GB, und einige ISO können diese Größe überschreiten.

Die zweite Partition wird mit einem von GRUB unterstützten Dateisystem formatiert und hostet die Bilder und die GRUB -Konfigurationsdateien.

Für dieses Tutorial gehe ich davon aus, dass das Gerät, das wir vorbereiten möchten, ist /dev/sdb.

Die Partitionstabelle und die EFI -Partition

Das erste, was Sie tun müssen, ist, eine zu erstellen msdos Partitionstabelle auf dem Gerät:

$ sudo parted -s /dev /sdb mklabel msdos

Nach diesem Schritt können wir die erstellen Efi Partition und formatieren Sie es mit a FAT32 Dateisystem. Die empfohlene Größe für die Partition ist 550 MIB: Bei kleineren Partitionen können wir einen Fehler wie „Nicht genug Cluster für 32 -Bit -Fett“ erhalten:

$ sudo parted -s /dev /sdb mkPart primär 1mib 551mib


Wir werden dann fortfahren, um die zu aktivieren Esp Und Stiefel Flaggen:

$ sudo parted -s /dev /sdb set 1 esp auf $ sudo parted -s /dev /sdb set 1 boot on 

Endlich müssen wir die erstellen FAT32 Dateisystem:

$ sudo mkfs.FAT -f32 /dev /sdb1

Die Datenpartition

Die andere Partition, die wir erstellen müssen, ist die Datenpartition, auf der die ISO -Bilder der Verteilungen und die GRUB -Konfigurationsdateien gehostet werden. Wir können die Größe der Partition an unsere Bedürfnisse anpassen: Je größer es ist, desto größer ist es, die meisten Bilder, die sie enthalten können. Hier verwenden wir den verbleibenden Speicherplatz auf dem Gerät:

$ sudo parted -s /dev /sdb mkPart primär 551mib 100%

Wir können die Partition mit einem der von Grub unterstützten Dateisysteme formatieren. In diesem Fall werde ich verwenden ext4:

$ sudo mkfs.ext4 /dev /sdb2

Erstellen Sie die Mountpoints und montieren Sie die Partitionen

Der nächste Schritt besteht darin, die zu montieren Efi Partition und die Datenpartition irgendwo in unserem System, damit wir die erforderlichen Verzeichnisse auf ihnen erstellen, GRUB installieren und unsere ISO -Dateien einstellen können:

# Erstellen Sie die Mountpoints $ sudo mkdir /media /efi, data # montieren Sie die EFI -Partition $ sudo mont /dev /sdb1 /media /efi # montieren Sie die Datenpartition $ sudo mont /dev /sdb2 /media /data 

Installieren des Grub -Bootloaders

Damit unser Gerät in beiden arbeiten kann Vermächtnis Und Uefi Modi müssen wir grub und grub installieren efi. Auf Fedora der Grub -Binary heißt es, es heißt es GRUB2 und um eine benutzerdefinierte Konfiguration auf einem UEFI -Setup zu generieren, die Installation der Installation der grub2-efi-modules Paket ist auch notwendig. Bei einigen anderen Verteilungen ist der Name des Binary nur „grub“:

# Installieren von Legacy grub2 sudo grub2-install \ ---target = i386-pc \ ---reecheck \ --boot-directory = "/media/data/boot"/dev/sdb # Installieren von GRUB für EFI sudo grub2-i-i-i-i-i-i-i-i-i-i-i-i-ide \- -target = x86_64-efi \ ---reecheck \--removable \ --efi-directory = "/medias/efi" \-Boot-directory = "/Media/data/boot" " 

Wie Sie beobachten können, haben wir in beiden Fällen verwendet /Medien/Daten/Boot als grub Boot-Verzeichnis. Dieses Verzeichnis wird automatisch erstellt, wenn die obigen Befehle gestartet werden, und es werden Grub -Konfigurationsdateien gehostet.

Kopieren Sie die Bilder und erstellen Sie den müsten.CFG -Datei

Um eine GRUB -Konfiguration auf einem modernen Linux -System zu erstellen oder zu aktualisieren, führen wir normalerweise die aus grub2-mkconfig Befehl oder in Debian-basierten Verteilungen die Update-Grub Wrapper-Skript. Diese Tools führen die erforderlichen Vorgänge automatisch aus.



In unserem Fall müssen wir jedoch die Hände schmutzig machen und die Konfiguration manuell erstellen. Nicht alle Verteilungen erfordern dieselben Richtlinien, aber hier werden einige gemeinsame Beispiele angezeigt. Zunächst sollten wir das Verzeichnis erstellen, das die Bilder unserer Verteilungen hosten:

$ sudo mkdir/media/data/boot/iso

Optional möchten wir vielleicht das Eigentum dieses Verzeichnisses übernehmen, um Bilder einfacher darauf zu verschieben. Angenommen a Ausweis Und gid von 1000 würden wir rennen:

$ sudo chown 1000: 1000/media/data/boot/iso

Nehmen wir nun an, wir möchten das neueste Fedora Netinstall -Bild in unser Setup aufnehmen. Zuerst müssen wir das Bild in die herunterladen /Medien/Daten/ISO Verzeichnis:

$ wget -o/media/data/boot/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO \ https: // herunterladen.Fedoraproject.org/pub/fedora/linux/releases/28/workstation/x86_64/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO 

Sobald der Download abgeschlossen ist, müssen wir einen Eintrag dafür in die hinzufügen roden.CFG Datei in der /Media/data/boot/grub2 Verzeichnis. Da es sich um den ersten Eintrag handelt, muss die Datei selbst erstellt werden:

MENUETRY "Fedora-Workstation-Netinst-X86_64-28-1.1 "isofile ="/boot/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO "Loopback Loop" $ isofile "Linux (Loop)/Isolinux/Vmlinuz ISO-scan/Dateiname =" $ isoFile "Installation.Stadium2 = HD: Label = Fedora-WS-DVD-X86_64-28 Ruhig initrd (Schleife)/Isolinux/Initrd.img 

Die Eingangsstruktur ist ziemlich einfach: Wir haben die definiert Isofile Variable, mit dem Pfad zu unserem Bild als Wert. GRUB kann von einer ISO -Direktion aus starten, und genau das ist das Loopback Der Befehl ist für: Im Beispiel des Dateisystems wird das Bild montiert und auf dem zur Verfügung gestellt Schleife Gerät.

Die Linie beginnend mit Linux enthält den Pfad zu vmlinuz, Welches ist der Kernel ausführbare Datei sowie andere Boot -Anweisungen. Unter ihnen können Sie es bemerken ISO-Scan/Dateiname Dies ist erforderlich, um das ISO -Bild auf der Festplatte mit dem angegebenen Pfad zu finden.



Schließlich beginnt die Linie mit initrd Gibt den Weg zum Initrd an. Alle diese Wege sind offensichtlich relativ zum Schleifengerät, deshalb werden sie von der vorangestellt (Schleife) Notation.

Woher wissen wir die Richtlinien, die wir in einem bestimmten Fall verwenden sollten?? Eine Möglichkeit besteht darin, das Bild irgendwo in unserem System zu montieren und sich die Dateien im Isolinux -Verzeichnis anzusehen. Es gibt jedoch bereits eine vorgeschriebene Konfiguration und sind leicht online zu finden.

Ein weiteres Beispiel: Wir werden unser bootfähiges Gerät das neueste Ubuntu -Release -Bild hinzufügen:

$ wget http: // veröffentlichen.Ubuntu.com/18.10/Ubuntu-18.10-Desktop-AMD64.ISO?_ga = 2.232120863.1006005768.1540658570-734439277.1540658570 \ -o/Media/Data/Boot/ISO/Ubuntu -18.10-Desktop-AMD64.ISO 

Jetzt fügen wir den Eintrag in die Konfigurationsdatei hinzu:

MenuEntry "Ubuntu 18.10 - Versuchen Sie ohne zu installieren "isoFile ="/boot/iso/ubuntu -18.10-Desktop-AMD64.ISO "Loopback Loop" $ isofile "Linux (Loop)/Casper/Vmlinuz ISO-scan/Dateiname =" $ isoFile "boot = casper Quiet Splash-Initrd (Loop)/Casper/initrd 

So sollte unser Multiboot-Menu an diesem Punkt aussehen:

Multiboot -Grub -Menü

Gedanken schließen

In diesem Tutorial haben wir gesehen, wie man ein Multiboot-USB-Gerät erstellt, das viele Verteilungsbilder enthält. Nach diesem Setup können wir beide auf UEFI -Firmware auf dem Legacy booten und auswählen, welches Bild aus dem Grub -Menü starten soll.

Der
roden.Das CFG -Setup, das hier vorgestellt wurde, ist absolut minimal und kann weiter angepasst werden, um viele andere Module einzuschließen und andere Einstellungen wie das GRUB -Timeout anzupassen: Beratung der offiziellen Grub -Dokumentation ist der perfekte Weg, um die vielen Möglichkeiten zu erkunden.

Verwandte Linux -Tutorials:

  • Erstellen Sie Manjaro Linux bootable USB
  • Einführung in die Grub -Rettung
  • So erstellen Sie bootfähige MS Windows USB unter Linux
  • So erstellen Sie einen Multiboot -USB mit Ventoy
  • Ubuntu 22.04 Nicht booten: Fehlerbehebung
  • Erstellen Sie bootfähige Ubuntu 22.04 USB -Startplatte
  • So erstellen Sie einen bootfähigen USB von einer ISO unter Linux aus
  • Dinge zu installieren auf Ubuntu 20.04
  • Ubuntu 22.04 Systemsicherung und Wiederherstellung
  • Erstellen Sie ein bootfähiges Ubuntu 20.04 USB -Stick auf MS Windows 10