Viele Linux-User sind nebenbei Linux-Tester, Sie nutzen eine Linux-Distribution und testen immer gerne weitere Linux-Distributionen. Heute brennt man CD-/DVD-Images nicht mehr auf eine CD/DVD (natürlich kann man dies immer noch), sondern man kopiert die Images bootfähig etwa mittels der Software Etcher auf einen USB-Stick oder eine externe Festplatte und startet den Rechner davon. Dies spart Zeit und Ressourcen.
Gerade, wenn man jedoch ein Live-System länger testet oder viele Linux-Distributionen testet, kann dies den USB-Stick schnell über den Jordan befördern – USB-Sticks sind nicht für extrem viele und schnelle Schreibvorgänge entwickelt worden, und ein Betriebssystem nutzt viele Schreibvorgänge.
Nutzt man bereits ein installiertes Linux, kann man gleich den Bootloader GRUB nutzen, um auf dem System liegende Images ohne Umstände starten.
Die Voraussetzungen schaffen
Was Sie benötigen ist ein Verzeichnis innerhalb des Wurzel-Verzeichnisses, also unter „/“ – die Partition, auf der dieses Verzeichnis liegt, darf nicht verschlüsselt sein. Ich nenne dieses Verzeichnis jetzt schnell einmal ganz einfach „live“ – dieses erstellen wir als root auf dem Terminal:
mkdir /live
Sie können auch eine weitere Partition oder eine externe Festplatte dazu nutzen und eben dort das Verzeichnis anlegen. In diesem Fall muss die Festplatte jedoch bei jedem Start des Rechners angeschlossen sein, sonst verzögert sich der Start.
In dieses Verzeichnis werden anschließend die heruntergeladenen ISO-Dateien verschoben – natürlich ebenfalls als root auf dem Terminal. Ich nenne diese Dateien jetzt beispielsweise „debian.iso“ und „opensuse.iso„, wie viele ISO-Dateien Sie in dieses Verzeichnis verschieben ist dabei komplett egal:
mv debian.iso opensuse.iso /live/
Das nötige Verzeichnis wäre erstellt, jetzt benötigen Sie die UUID der Partition, auf der dieses Verzeichnis liegt – hierzu führen Sie folgenden Befehl aus (als root) – liegt das Verzeichnis nicht unter „/„:
blkid
Liegt das Verzeichnis sowieso unter „/„, können Sie auch in der Datei „/etc/fstab“ nach der UUID der Partition des Wurzel-Verzeichnisses suchen – wenn diese dort angegeben ist. In meinem Beispiel wird sich die UUID ganz einfach „0074dd53-f4b1-4dba-b4b3-3bdc52990d38“ nennen. Eine weitere Möglichkeit, um die UUID herauszufinden ist die Datei:
less /boot/grub/grub.cfg
Hier suchen Sie nach dem Begriff „–fs-uuid„:
/--fs-uuid
Jetzt können wir die ISO-Dateien dem Bootmenü hinzufügen – wir kennen das Verzeichnis, wir kennen die UUID der Partition, auf der das Verzeichnis liegt und wir kennen die Dateinamen der ISO-Dateien. Zur Konfiguration dient die Datei „/etc/grub.d/40_custom„:
Hier legen wir jetzt für jedes Live-System einen neuen Eintrag wie folgt an:
menuentry 'Debian' --class os --class gnu-linux --class gnu --class os --group group_main {
set isofile="/live/debian.iso"
insmod ext2
insmod loopback
insmod iso9660
set root=(hd0,3)
search --no-floppy --fs-uuid --set=root 0074dd53-f4b1-4dba-b4b3-3bdc52990d38
linux /live/debian/isolinux/vmlinuz noconfig=sudo username=root hostname=name_des_rechners
initrd /live/debian/isolinux/initrd.img
}
- set isofile – der vollständige Pfad zur ISO-Datei
- (hd0,msdos1) – die Partition, auf der das Verzeichnis mit den ISO-Dateien liegt
- –fs-uuid –set=root – die UUID der Partition, auf der die ISO-Datei liegt
- linux und initrd – die nötigen Boot-Parameter, hierzu sehen Sie sich am besten die Boot-Parameter des jeweiligen Live-Systems in dessen Bootmenü an
Nach dem Speichern der Datei aktualisieren Sie GRUB als root:
update-grub
Jetzt finden sich die neuen Menüeinträge für den Start der Live-Systeme im Bootmenü wieder. Entfernen Sie ein ISO aus dem Verzeichnis, müssen Sie natürlich auch den Eintrag aus dem Bootmenü löschen.
Noch keine Reaktion