Ventoy
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Das Projekt Ventoy 🇬🇧 entwickelt ein Skript-System zur Erstellung eines bootfähigen USB-Sticks mit dem Ziel einer Vereinfachung und Systematisierung der Installation von Betriebssystemen. Die Installationsabbilder (ISO-Dateien) können einfach auf dem Ventoy-USB-Stick als Dateien gespeichert und vom Stick menügesteuert aktiviert werden. Es wird eine große Zahl an Distributionen unterstützt.
Der Ventoy-USB-Stick kann auch als Bootmanager im Notfall eingesetzt werden, um ein selbst nicht mehr bootendes Rechnersystem zu starten.
Man benötigt einen USB-Stick; den Ventoy mit zwei Partitionen initialisiert:
Eine als exFAT formatierte leere Partition, die fast den gesamten USB-Stick einnimmt. Hier kann man beliebiges speichern, vorgesehen ist hier insbesondere die Ablage von ISO-Abbilddateien. Bei Bedarf kann man die Partition auch selbst umformatieren auf jedes andere Dateisystem, welches GRUB lesen kann.
Eine 32 MiB große Partition, formatiert als FAT-16, welche den Bootmanager GRUB in einer Standalone-Variante und dessen spezielle Konfiguration durch Skripte des Projekts Ventoy aufnimmt.
Beim Booten des Ventoy-USB-Sticks wird GRUB[4] gestartet. Dir Firmware des Rechners kann dabei sowohl den Start nach der Bios-Boot-Spezifikation (CSM, legacy) als auch den Start nach der UEFI-Boot-Methode auswählen. GRUB untersucht mit Hilfe der projektspezifischen Skripte die erste Partition und baut dynamisch aus den gefundenen ISO-Abbildern sein Menü zusammen. Es ist also nicht erforderlich, diesen GRUB zu konfigurieren, dennoch kann man optional auch eigene Menüeinträge erstellen.
Es ist auch möglich – sofern der USB-Stick groß genug dafür ist – jedem ISO-Abbild Speicherplatz zur persistenten
Speicherung von Dateien zuzuordnen.
Dieser Artikel basiert auf der Ventoy-Version 1.0.89 vom 07.03.2023 mit GRUB Version 2.04. Bei Verwendung einer anderen Version können sich Details ändern, beispielsweise die Funktion der Fn-Tasten in der Bedienoberfläche.
Installation¶
Man verwende einen mindestens 32 GB großen USB-Stick; kleinere sind möglich, aber für die immer fetter (5 GB und mehr) werdenden ISO-Abbilder außer in Sonderfällen nicht mehr praxisgerecht. Alle Informationen auf diesem Datenträger wird man verlieren. Die Initialisierung des Datenträgers zum Ventoy-USB-Stick kann sowohl unter Linux wie auch unter Windows erfolgen.
Linux/Ubuntu¶
Von der Download-Seite des Projekts 🇬🇧 diese beiden Dateien herunterladen:
sha256.txt
ventoy-X.Y.Z-linux.tar.gz Hier steht „X.Y.Z" für eine Versionsbezeichnung wie z.B.
1.0.89
, in der Regel sollte man die neueste veröffentlichte Version nehmen. Dieser Artikel verwendet im folgenden Text1.0.89
als Version, welche ggf. in den Befehlen angepasst werden muss.
Ein Terminal starten[1] und das Arbeitsverzeichnis zum Ort der heruntergeladenen Dateien wechseln. Hier prüft man die Integrität der heruntergeladenen Archivdatei mit sha256sum:
sha256sum --ignore-missing -c sha256.txt
Wenn diese Prüfung ein anderes Ergebnis als
OK
liefert, löscht man umgehend die herunter geladenen Dateien.Man entpackt die Archivdatei[2] mit dem in den Desktop integrierten Entpacker oder im Terminal:
tar -xzf ventoy-1.0.89-linux.tar.gz
und erhält neben der Archivdatei den Ordner ventoy-1.0.89. Darin befindet sich neben einer Datei README mehrere Order mit den internen Dateien von Ventoy und mehrere Programme für GUI und Kommandozeile zur Erstellung des Ventoy-USB-Sticks. Diese Programme legen im Ordner ventoy-1.0.89 auch selbst Dateien ab, beispielsweise ein Protokoll log.txt und ggf. INI-Dateien wie beispielsweise Ventoy2Disk.ini.
Man steckt nun den zu beschreibenden USB-Stick ein. Wenn auf dem Stick bereits Dateisysteme existieren, werden diese ggf. vom Desktop automatisch eingebunden und man muss per umount das wieder beseitigen.
Achtung!
Alle ggf. auf diesem Stick gespeicherten Dateien verliert man mit den folgenden Anweisungen!
Die Initialisierung des USB-Sticks als Ventoy-USB-Stick kann man mit einem GUI-Programm oder einem Kommandozeilenprogramm durchführen:
Entweder startet man mit Root-Rechten[3] eines der GUI-Programme (Anm. 1) VentoyGUI.aarch64, VentoyGUI.i386, VentoyGUI.mips64el oder VentoyGUI.x86_64 passend zur Architektur des eigenen Systems,
oder man führt mit Root-Rechten[3] diesen Befehl aus:
sudo bash Ventoy2Disk.sh AKTION OPTION… /dev/sdX
Dabei sind die Platzhalter wie folgt zu ersetzen:
AKTION
muss entweder-i
,-I
,-l
oder-u
sein.OPTION
darf leer sein oder Angaben der Arten-r
,-s
,-S
,-L
,-g
, auch kombiniert enthalten.In
dev/sdX
ist dasX
durch einen Kleinbuchstaben zu ersetzen, so dass dann ein zulässiger Bezeichner für den zu beschreibenden USB-Stick entsteht.
Nach der Initialisierung zieht man den USB-Stick ab und steckt ihn erneut ein. Der Ventoy-USB-Stick ist jetzt einsatzbereit und kann die gewünschten ISO-Abbilder aufnehmen. → Liste der unterstützten Distributionen 🇬🇧
Zur optionalen Verwendung der Programme CreatePersistentImg.sh und ExtendPersistentImg.sh siehe Abschnitt Persistenz.
Zur optionalen Konfiguration über die Programme VentoyPlogson.sh, VentoyVlnk.sh, VentoyWeb.sh siehe Abschnitt Konfiguration.
Optionen beim Start von Ventoy2Disk.sh | |
Parameter | Bedeutung |
-i | Installiert Ventoy auf das angegebene Gerät, sofern dort noch kein Ventoy installiert ist. |
-I | Installiert Ventoy auf das angegebene Gerät, auch wenn dort bereits ein Ventoy installiert ist. |
-l | Anzeige der auf dem Stick bereits installierten Version von Ventoy, Art der Partitionstabelle und ob "secure boot" unterstützt wird. |
-u | Update. Ersetzt ein Ventoy auf dem Stick durch die auf dem Rechner vorhandene Version. |
mit -r ZAHL | Zwischen der ersten Ventoy-Partition (für die ISO-Abbilder) und der zweiten Ventoy-Partition (für das Ventoy-Skript-System) entsteht bei der Initialisierung eine Lücke der mit ZAHL in MiB angegebenen Größe. |
ohne -r | Zwischen den beiden von Ventoy angelegten Partitionen gibt es keine Lücke. |
mit -s | Der Ventoy-USB-Stick kann auch auf einem System mit aktiven "secure boot" starten. (Anm. 2) |
ohne -s | Vor Version 1.0.80: Der Ventoy-USB-Stick kann auf einem System mit aktiven "secure boot" nicht starten. Ab Version 1.0.80: Ohne Wirkung, da Unterstützung für "secure boot" nun per Vorgabe aktiviert. |
mit -S | Der Ventoy-USB-Stick kann auf einem System mit aktiven "secure boot" nicht starten. |
mit -g | Der Ventoy-USB-Stick wird mit GPT partitioniert. (Anm. 3) |
ohne -g | Der Ventoy-USB-Stick wird mit DOS/MBR partitioniert. |
mit -L LABEL | Kennzeichnet die erste Partition auf dem Stick mit dem Label "LABEL ". |
ohne -L | Kennzeichnet die erste Partition auf dem Stick mit dem Label "Ventoy ". |
mit -n | Versuche vorhandene Daten auf dem Stick bei der Installation zu erhalten. |
ohne -n | Bei der Installation verliert man alle zuvor auf dem Stick gespeicherten Daten. |
Anmerkungen¶
Der Start eines GUI-Programms mit Root-Rechten ist keine gute Idee, da man sich so leicht die Berechtigungen im eigenen Benutzerverzeichnis durcheinander bringen kann. Tatsächlich legen die GUI-Programme auch Dateien an, die root gehören, aber nicht in das Verzeichnis eines normalen Benutzers hingehören.
Seit Version 1.0.80 die Option
-s
per Vorgabe aktiviert. (Das ist allerdings nur ein Start nach dieser Methode und selbst kein sicherer Start! Der Start eines Installers ist immer ein unsicherer Vorgang.)Aus Sicht von Ventoy ist die Wahl des Partitionierungsschemas völlig unerheblich. Es können aber in seltenen Fällen beim Booten eines Ventoy-USB-Sticks auf Hardware mit fehlerhafter Firmware diese Komplikationen auftreten:
Sehr alte Hardware mit fehlender Unterstützung der UEFI-Boot-Methode startet einen mit GPT partitionierten Datenträger nicht.
Sehr neue Hardware mit fehlender Unterstützung der Bios-Boot-Methode startet einen mit DOS/MBR partitionierten Datenträger nicht.
Windows¶
Achtung!
Ältere Windowsversionen (32-35) von Ventoy werden von einigen Virenscannern als Schadsoftware eingestuft, was vermutlich ein falsch-positives Ergebnis ist. Es wird empfohlen, den Download mit einem Virenscanner zu prüfen, online zum Beispiel www.virustotal.com. 🇬🇧
Weiterführende Informationen:
Von der Download-Seite des Projekts 🇬🇧 diese beiden Dateien herunterladen:
sha256.txt
ventoy-x.y.z-windows.zip (Hier steht „X.Y.Z" für eine Versionsbezeichnung wie z.B.
1.0.89
, in der Regel sollte man die neueste veröffentlichte Version nehmen.)
Für die weitere Installation die Anweisungen auf der Projektseite befolgen.
Wenn die Installation unter Windows so nicht funktioniert, soll man sich von der Projektseite mit dem ISO-Abbild ventoy-X.Y.Z-livecd.iso ein Linux-Livesystem auf Basis von Porteus Kiosk beschaffen, dieses unter Windows auf CD brennen und davon booten.
Benutzung¶
Nach dem Booten des Ventoy-USB-Stick befindet man sich in einer ganz normalen GRUB-Shell mit einem automatisch generierten Menü, welches alle auf die erste Partition kopierte ISO-Abbilddateien auflistet. Lediglich die optische Aufmachung wurde von Ventoy angepasst.
In einer Zeile am unteren Rand werden Ventoy-Version, die zum Start verwendete Boot-Methode (UEFI oder Bios), die URL der Projektseite und weitere mittels F -Tasten erreichbare Menüs angezeigt.
Man sollte nun als erstes prüfen, ob Ventoy in dem Modus gebootet (UEFI oder Bios) wurde, welcher für die eigene Arbeit benötigt wird, denn dieser Modus ist nun nicht mehr änderbar. Ventoy wird die Installationsmedien in diesem Modus starten und diese werden Betriebssysteme in diesem Modus installieren. Wenn man etwas anderes beabsichtigt, muss man erneut Booten und dabei in der Firmware des Rechners die andere Boot-Methode wählen.
Tasten zur Steuerung von Ventoy | |||
Taste | engl. | deutsch | Bedeutung |
↑ ↓ | Die Cursor-Tasten verschieben die ausgewählte Aktion im angezeigten Menü. | ||
L | Language | Sprache | Menü zur Auswahl der Bediensprache aufrufen. |
F1 | Help | Hilfe | Zeigt eine kurze Hilfestellung zur Bedienung des Programms an. |
F2 | Browse | Browser | Man kann durch alle für Grub lesbaren Dateisysteme navigieren. |
F3 | TreeViev | Listenansicht | Schaltet die Anzeige um von einer flachen Liste zu einer Baumansicht. Jeder Ordner auf der ersten Partition wird als Untermenü angezeigt. Nützlich zum Sortieren bei vielen ISO-Abbildern. (Die Übersetzung „TreeViev → Listenansicht“ ist misslungen.) |
F4 | Localboot | lokaler Start | Sucht auf den lokalen Datenträgern nach startbereiten Bootmanagern, findet aber nicht alle. Gefunden werden in der Regel z.B. Windows und grub4dos. Gefundene Bootmanager können per Chainload gestartet werden. |
F5 | Tools | Werkzeuge | Ein Sammelsurium nützlicher Einstellungen und Befehle, z.B. auch zur Grafikauflösung, Ausschalten und Reboot, Überprüfung interner Konfigurationsdateien und vieles mehr. Stark versionsabhängig. |
F6 | ExMenu | Erweiterungen | Ein eigene GRUB-Konfigurationsdatei wird aktiviert. Siehe Eigenes GRUB Menü. |
C | Wechsel in den Kommandozeilenmodus von GRUB, um z.B. Systemstarts vom internen Datenträger durchzuführen. | ||
E | Wechsel in den Bearbeitungsmodus von GRUB. Der zuvor ausgewählte Menüeintrag wird inhaltlich angezeigt; er kann bearbeitet und dann auch gestartet werden, aber nicht dauerhaft geändert werden. | ||
Esc | In das zuvor aktive Menü zurückkehren. | ||
⏎ | Den ausgewählten Menüeintrag aktivieren. |
Nach dem Start eines der angezeigten ISO-Abbildes zeigt Ventoy manchmal ein sekundäres Boot-Menü an. In diesem kann man auswählen, nach welchem Verfahren das ISO-Abbild der Firmware zum Boot präsentiert wird. Ventoy beherrscht vier Varianten, die je nach Situation nicht alle gleichzeitig angeboten werden:
Normal-Mode: Ventoy simuliert das zu startende ISO-Abbild gegenüber der Firmware als virtuelles optisches Laufwerk mit eingelegtem Medium. Jede Firmware sollte diesen Mode unterstützen.
Grub2-Mode: Wird nur bei Linux-Medien angeboten und startet diese mit der von Grub dafür vorgesehenen Prozedur.
Wimboot-Mode: Wird nur bei Windows-Medien angeboten.
Memdisk-Mode: Ist nur nur bei kleinen Medien im Bios-Boot-Modus möglich. Das ISO-Abbild wird komplett in den Arbeitsspeicher geladen und dann mit der Memdisk-Methode von Syslinux 🇬🇧 gestartet.
Man sollte immer zuerst den Normalmodus versuchen und erst nach Fehlschlag andere Verfahren verwenden.
Konfiguration¶
Plugins¶
Ventoy ist in vielen Aspekten nach eigenen Bedürfnissen mittels sogenannter Plugins konfigurierbar. Technisch ist ein Plugin lediglich ein Abschnitt in einer JSON-Datei mit Namen ventoy.json im Ordner /ventoy auf der ersten Partition. Ordner und Datei sind ggf. selbst anzulegen.
Die Datei kann nach Dokumentation und Anleitung 🇬🇧 auf der Projektseite manuell mit einem Editor erstellt werden oder mit mit dem Programm VentoyPlugson.sh:
In einem Terminal den Server starten:
sudo bash VentoyPlugson.sh /dev/sdX # <- X anpassen!
Mit dem Internet-Browser die im Terminal angezeigte Seite aufrufen (z.B.:
http://127.0.0.1:24681
).In der linken Spalte kann man das gewünschte Plugin auswählen und dann im Hauptfenster die gewünschte Einstellung ändern. Die Änderungen werden sofort auf den Stick geschrieben.
Nach allen gewünschten Änderungen das Browserfenster schließen,
und im Terminal den Server mit Strg + C stoppen.
Für alle über VentoyPlugson.sh
zugänglichen Plugins findet man auf der Server-Seite rechts oben einen Verweis "Plugin Official Document" zur Dokumentation. Es scheinen (vielleicht versionsabhängig) nicht alle Plugins wie beschrieben zu funktionieren. Plugins mit wichtigen praxisrelevanten funktionalen Einstellungen sind Global Control
, Theme
und Persistence
(siehe Beispiele).
Ausgewählte Ventoy-Plugins | ||
Plugin | Beschreibung | |
Global Control | Einstellungen zum generellen Verhalten von Ventoy | |
Theme | optische Aufmachung der Bedienoberfläche | |
Menu Alias | Alias für Namen von ISO-Abbildern definieren. | |
Menu Tip | Für Menüeinträge erklärenden Texte definieren. | |
Menu Class | Untermenüs klassifizieren und mit Symbolbildern aufhübschen. | |
Auto Installation Plugin | Installationsmedien eine Antwortdatei mitgeben zur Ermöglichung einer unbegleiteten Installation. | |
Persistence | ISO-Abbild persistenten Speicherplatz zuweisen. Siehe Persistenz | |
Injection | ISO-Abbild Dateien mitgeben, welche bei der Initialisierung (WinPE bzw. initrad.img ) berücksichtigt werden können. | |
Boot Conf Replace | Kernel-Kommandozeile ändern. | |
Password | Es können für einzelne Dateien, Ordner oder Dateitypen Passworte festgelegt erden. | |
Image List | Automatisch generiertes Menü durch eigene Liste ersetzen oder bestimmte Einträge unterdrücken. | |
Auto Memdisk | Start bestimmter ISO-Abbilder per Verfahren Memdisk statisch festlegen; ersetzt dynamische Auswahl per sekundärem Bootmenü. | |
Driver Update Disk (DUD) | Für ein ISO-Abbild eine Ergänzungsdatei mit Treibern definieren, die beim Start eingebunden werden. |
Alias 'SG²D' für super_grub2_disk_hybrid_2.00s2.iso |
Beispiele für die Verwendung von Plugins:
Plugin Global Control 🇬🇧:
Anzeigesprache auf Deutsch setzen:
de_DE
→ VTOY_MENU_LANGUAGETastaturtreiber auf Deutsch setzen:
GERMAN
→ VTOY_DEFAULT_KBD_LAYOUT
Auf diese Anpassung verzichtet man lieber, da die deutsche Lokalisierung im StandardQWERTY_US
besser als beiGERMAN
ist.
Plugin Theme 🇬🇧:
Bildschirmauflösung: Standard ist
1024x768
, man kann es ändern: z.B.1280x1024
→ gfxmode
Plugin Menu Alias 🇬🇧:
Um z.B. für die Abbild-Datei super_grub2_disk_hybrid_2.00s2.iso im Menü den Alias "
SG²D
" anzeigen zu lassen, legt man einfach im Plugin einen Eintrag für dieses ISO-Abbild mit dem gewünschten Aliasnamen an.
Plugin Persistence 🇬🇧: Siehe folgenden Abschnitt
Persistenz¶
Um im Live System Veränderungen – wie z.B. Installation von zusätzlichen Programmen – abspeichern zu können, erlauben verschiedene Distributionen die Verwendung des Boot-Parameters persistent
(resp. entsprechend). Zu dem Zweck ist eine spezielle Datei anzulegen und beim Bootvorgang zu berücksichtigen.
In Ventoy müssen dafür 2 Schritte durchgeführt werden:
Mit Hilfe des Programms CreatePersistentImg.sh eine solche Datei generieren und auf dem Ventoy-USB-Stick ablegen.
Die Persistenz-Datei im Plugin Persistence mit dem ISO-Abbild verknüpfen.
Zu 1 das Skript mit root Rechten[3] ausführen:
sudo sh CreatePersistentImg.sh [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ] [-c configfile] [-o AUSGABE FILE NAME]
-s
→ Größe in MB-t
→ mögliche Typen ext2/3/4, xfs-l
→ Vorgabe casper-rw-c
→ erzeugt ein file 'persistence.conf' innerhalb des persistence-files mit Inhalt "/ union" (erforderlich für z.B. Debian, Kali, CloneZilla)-o
→ Name des file, Vorgabe 'persistent.dat'
Dabei wird eine Datei mit dem angegebenen Namen oder dem Standardnamen persistence.dat angelegt. Man benennt eine solche Persistenz-Datei für das ISO-Abbild XYZ.iso zweckmäßigerweise XYZ.dat und legt sie auf der ersten Partition neben der ISO-Datei ab.
Zu 2: Man legt im Plugin einen neuen Eintrag für das ISO-Abbild an und trägt darin den/die Dateiname(n) ein. Es ist möglich, einem ISO-Abbild auch mehrere Persistent-Dateien zuzuordnen.
In der JSON-Datei sollte das Ergebnis so ähnlich aussehen:
{ "persistence": [ { "image": "/kubuntu-20.04-desktop-amd64.iso", "backend": "/kubuntu-20.04-desktop-amd64.dat" }, { "image": "/ubuntu-16.04.3-desktop-amd64.iso", "backend": ["ubuntu-16.04.3-desktop-amd64.dat1", "/ubuntu-16.04.3-desktop-amd64.dat2" ] } ] }
Eigenes GRUB-Menü¶
Man kann auf der ersten Partition im Ordner /ventoy/ eine Textdatei ventoy_grub.cfg ablegen mit einer beliebigen GRUB-Konfiguration in der GRUB-Skriptsprache. Diese Konfiguration kann man dann zur Laufzeit von Ventoy mit der Taste F6 aktivieren und so sein eigenes GRUB-Menü in Ventoy realisieren.
Beispiel: Notstartsystem¶
Ein sofort verwendungsfähiges Beispiel für ein eigenes GRUB-Menü kann man sich als Anhang zu diesem Artikel herunterladen:
Direkter Download: Notstartsystem-grub.cfg ⮷
Diese Datei verschafft einem als Menüpunkte:
Rechner ausschalten
Rechner erneut booten
Rückkehr zum UEFI-Bootmanager in der Firmware
Für jedes auf GRUB-Gerät
hd1
gefundene Dateisystem einen Starteintrag
Jedes gefundene Dateisystem wird gelistet mit dem GRUB-Bezeichner der Partition sowie Typ, UUID und LABEL des Dateisystems. GRUB kann nicht überprüfen, ob es als Root-Dateisystem verwendbar ist und überlässt es daher dem wissenden Bediener. Nach Aktivierung eines solchen Eintrags wird der Bediener gefragt, woher der Kernel kommen soll. Bei einem unverschlüsselten Root-Dateisystem ist üblicherweise auch der Kernel darauf abgelegt und man kann das einfach mit ⏎ bestätigen; in allen anderen Fällen gibt man GRUB die Partition an.
Problembehebung¶
Einzelne Benutzer berichten in der Diskussion dieses Artikels über technische Probleme:
Bei der Installation kann eine Meldung wie beispielsweise
Warnung: Der Treiberdeskriptor sagt, dass die physische Blockgröße 2048 Bytes ist. Linux sagt, dass es 512 Bytes sind.
angezeigt werden. Dies wurde bei der Verwendung eines USB-Sticks beobachtet, auf den zuvor ein ISO-Installationsabbild kopiert war. Die weitere Installation hängt dann bis zur Eingabe von Strg + C . Alternativ kann man versuchen, solche Sticks vorher komplett zu löschen oder wenigstens das erste MiB – z.B. mittels dd (Abschnitt „Festplatte-sicher-loeschen“).
Es kann während der Installation zu Hängepartien kommen, die möglicherweise auf ungeschicktem Verhalten beim Kopieren beruhen: Teilweise kopiert Ventoy Daten (z.B. den MBR) als einzelne Byte auf den Stick. Es ist nicht auszuschließen, das dies bei minderwertigen oder gebrauchten Sticks zu technischen Defekten führen kann. Abhilfe: Einen ungebrauchten, hochwertigen Stick verwenden.
Nach dem Start eines Rechner mit Ventoy kann gelegentlich die Bedienbarkeit verloren gehen. Ursache unbekannt. Nach Ausschalten und Neustart funktioniert es meist problemlos.
Links¶
Intern¶
Extern¶
Grub 🇬🇧 – GRUB Projektseite mit Dokumentation