Multiboot USB Stick: Unterschied zwischen den Versionen
Toad (Diskussion | Beiträge) |
Keine Bearbeitungszusammenfassung |
||
(7 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{righttoc}} | {{righttoc}} | ||
Es gibt mehrere Möglichkeiten einen Multiboot USB Stick zu realisieren. Hier wird die Verwendung von [[Grub2]] beschrieben. Grub2 bietet die Möglichkeit iso Images direkt zu booten, ohne diese entpacken zu müssen. | Es gibt mehrere Möglichkeiten einen Multiboot USB Stick zu realisieren. Hier wird die Verwendung von [[Grub2]] beschrieben. Grub2 bietet die Möglichkeit iso-Images direkt zu booten, ohne diese entpacken zu müssen. | ||
Voraussetzung dafür ist allerdings, dass die entsprechenden Bootscripte der LiveCDs dies unterstützen. | |||
Ist das nicht der Fall kann es zu | Ist das nicht der Fall kann es zu Problemen kommen, da die Bootscripte dann meist nicht auf die Dateien im Image zugreifen können. | ||
'''Vorteile dieser Methode:''' | '''Vorteile dieser Methode:''' | ||
*nur eine Partition | *nur eine Partition | ||
*übersichtliches Wurzelverzeichnis auf dem Stick | *übersichtliches Wurzelverzeichnis auf dem Stick | ||
*einfaches | *einfaches Hinzufügen, Aktualisieren, Entfernen von LiveCDs / Images | ||
'''Nachteile:''' | '''Nachteile:''' | ||
Zeile 13: | Zeile 13: | ||
*original Bootmenu geht verloren | *original Bootmenu geht verloren | ||
{{Hinweis|Wer mehrere unterschiedliche Multiboot Sticks erstellen oder sich in Zukunft das | {{Hinweis|Wer mehrere unterschiedliche Multiboot Sticks erstellen oder sich in Zukunft das Installieren von Grub2 ersparen möchte, sollte zunächst erstmal den Abschnitt [[#Weitere Sticks erstellen|Weitere Sticks erstellen]] lesen.}} | ||
==Stick vorbereiten== | ==Stick vorbereiten== | ||
===Partitionieren=== | ===Partitionieren=== | ||
Zuerst muss der Stick | Zuerst muss der Stick partitioniert werden. Es empfiehlt sich nur eine FAT32 Partition anzulegen, da der noch freie Platz auf dem Stick dann auch ganz normal an Windowsrechnern genutzt werden kann. | ||
fdisk /dev/sdX | fdisk /dev/sdX | ||
Partitionstyp: ''W95 FAT32'' | Partitionstyp: ''W95 FAT32'' Hexcode: ''b'' | ||
===Dateisystem erstellen=== | ===Dateisystem erstellen=== | ||
mkfs.vfat -F 32 -n | mkfs.vfat -F 32 -n MULTIBOOT /dev/sdXY | ||
Die Option -n legt den Namen der Partition fest, hier: " | Die Option -n legt den Namen der Partition fest, hier: "MULTIBOOT", und kann auch weggelassen werden. | ||
Wird mkfs.vfat nicht gefunden muss folgendes | Wird mkfs.vfat nicht gefunden muss folgendes Paket installiert werden: | ||
pacman -S dosfstools - mkfs.vfat and mkfs.msdos | pacman -S dosfstools - mkfs.vfat and mkfs.msdos | ||
pacman -S ntfsprogs - mkfs.ntfs | pacman -S ntfsprogs - mkfs.ntfs | ||
==Grub2 auf Stick installieren== | ==Grub2 auf Stick installieren== | ||
Entweder [[Grub2]] ist bereits auf dem System installiert, oder man macht diesen Schritt von einer LiveCD aus, auf der Grub2 vorhanden ist. Zum Beispiel Linux Mint | Entweder [[Grub2]] ist bereits auf dem System installiert, oder man macht diesen Schritt von einer LiveCD aus, auf der Grub2 vorhanden ist. Zum Beispiel Linux Mint oder Ubuntu. | ||
mkdir /mnt/usbstick | mkdir /mnt/usbstick | ||
mount /dev/sdXY /mnt/usbstick | mount /dev/sdXY /mnt/usbstick | ||
grub-install --no-floppy -- | grub-install --no-floppy --boot-directory=/mnt/usbstick/boot /dev/sdX | ||
umount /mnt/usbstick | umount /mnt/usbstick | ||
rm -r /mnt/usbstick | rm -r /mnt/usbstick | ||
Jetzt sollte sich auf dem Stick das Verzeichnis ''/boot/grub/'' befinden | Jetzt sollte sich auf dem Stick das Verzeichnis ''/boot/grub/'' befinden, in dem auch die Konfigurationsdatei grub.cfg abgelegt wird. | ||
===Konfigurationsdatei erstellen=== | ===Konfigurationsdatei erstellen=== | ||
Es wird | Es wird vorausgesetzt, dass die iso Images später auf dem Stick unter ''/boot/iso/'' abgelegt werden. | ||
Eine ''grub.cfg'' für die SystemRescueCD-2.2.0 sieht zum Beispiel so aus. | Eine ''grub.cfg'' für die SystemRescueCD-2.2.0 sieht zum Beispiel so aus. | ||
Zeile 66: | Zeile 66: | ||
} | } | ||
Um jetzt noch andere LiveCDs hinzuzufügen, muss nur das entsprechende iso Image in ''/boot/iso/'' | Um jetzt noch andere LiveCDs hinzuzufügen, muss nur das entsprechende iso-Image in ''/boot/iso/'' | ||
gespeichert und ein entsprechender Eintrag in der ''grub.cfg'' hinzugefügt werden. | gespeichert und ein entsprechender Eintrag in der ''grub.cfg'' hinzugefügt werden. | ||
Wenn man nicht | Wenn man nicht weiß, welche Parameter für eine bestimmte LiveCD in den Menüeintrag kommen, hilft oft ein Blick in die original Konfigurationsdateien der Images. Dazu kann man das entsprechende Image [[ISO-Image_mounten|mounten]] und sich die ''syslinux.cfg'' und/oder ''isolinux.cfg'' Dateien anschauen. | ||
Für viele LiveCDs finden sich im Internet bereits getestete ''grub.cfg'' Einträge. | Für viele LiveCDs finden sich im Internet bereits getestete ''grub.cfg'' Einträge. | ||
Zeile 77: | Zeile 77: | ||
Um die Erstellung weiterer Multiboot Sticks zu vereinfachen, empfiehlt es sich zunächst einmal einen "Minimal Stick" als Ausgangsbasis zu erstellen. Zum Beispiel nur mit der [http://www.sysresccd.org/Main_Page SystemRescueCD] oder nur mit [[Grub2]]. Der minimal Stick sollte eine möglichst geringe Kapazität haben. Will man später das "minimal Image" auf einen Stick schreiben, der eine kleinere Kapazität hat als das Image, gibt es Probleme. | Um die Erstellung weiterer Multiboot Sticks zu vereinfachen, empfiehlt es sich zunächst einmal einen "Minimal Stick" als Ausgangsbasis zu erstellen. Zum Beispiel nur mit der [http://www.sysresccd.org/Main_Page SystemRescueCD] oder nur mit [[Grub2]]. Der minimal Stick sollte eine möglichst geringe Kapazität haben. Will man später das "minimal Image" auf einen Stick schreiben, der eine kleinere Kapazität hat als das Image, gibt es Probleme. | ||
In in der ''grub.cfg'' sollten möglichst viele als funktionierend bekannte Einträge für | In in der ''grub.cfg'' sollten möglichst viele als funktionierend bekannte Einträge für verschiedene LiveCDs stehen und mit Kommentaren versehen sein. Das erleichtert später das Hinzufügen weiterer Images. | ||
===Image erstellen=== | ===Image erstellen=== | ||
Zeile 84: | Zeile 84: | ||
===Neuen Stick erstellen=== | ===Neuen Stick erstellen=== | ||
Will man jetzt einen neuen Multiboot Stick erstellen, braucht man nur das Image des minimal Sticks auf den neuen Stick zu schreiben und danach mit | Will man jetzt einen neuen Multiboot Stick erstellen, braucht man nur das Image des minimal Sticks auf den neuen Stick zu schreiben und danach mit {{paket|gparted}} oder ähnlichem die Partition auf die maximale Größe vergrößern. | ||
dd if=minimal.img of=/dev/sdY | dd if=minimal.img of=/dev/sdY | ||
Zeile 90: | Zeile 90: | ||
==Tipps== | ==Tipps== | ||
Um den Stick zu testen kann man [[ | Um den Stick zu testen kann man [[QEMU]] verwenden. So muss nicht jedes mal der Rechner neu gestartet werden. | ||
qemu -m 512 /dev/sdX | qemu -m 512 /dev/sdX | ||
Sollte es vorkommen, das man Änderungen vorgenommen hat aber | Sollte es vorkommen, das man Änderungen vorgenommen hat aber QEMU diese nicht erkennt, hilft es den Stick auszuhängen, abzuziehen und wieder einzustecken. | ||
Um Arch Linux vom USB-Stick zu starten, empfiehlt es sich statt des | Um Arch Linux vom USB-Stick zu starten, empfiehlt es sich statt des ISO-Images den Inhalt des Images auf dem Stick abzulegen. Wird beispielsweise der Inhalt des Images unter /boot/ArchLinux abgelegt und die Partition besitzt das Label "MultibootUSB", so sieht der Eintrag in der grub.cfg wie folgt aus: | ||
Aktuelle Version vom 1. Juni 2017, 14:42 Uhr
Es gibt mehrere Möglichkeiten einen Multiboot USB Stick zu realisieren. Hier wird die Verwendung von Grub2 beschrieben. Grub2 bietet die Möglichkeit iso-Images direkt zu booten, ohne diese entpacken zu müssen. Voraussetzung dafür ist allerdings, dass die entsprechenden Bootscripte der LiveCDs dies unterstützen. Ist das nicht der Fall kann es zu Problemen kommen, da die Bootscripte dann meist nicht auf die Dateien im Image zugreifen können.
Vorteile dieser Methode:
- nur eine Partition
- übersichtliches Wurzelverzeichnis auf dem Stick
- einfaches Hinzufügen, Aktualisieren, Entfernen von LiveCDs / Images
Nachteile:
- funktioniert nicht mit allen LiveCDs / Images
- original Bootmenu geht verloren
Hinweis: Wer mehrere unterschiedliche Multiboot Sticks erstellen oder sich in Zukunft das Installieren von Grub2 ersparen möchte, sollte zunächst erstmal den Abschnitt Weitere Sticks erstellen lesen.
Stick vorbereiten
Partitionieren
Zuerst muss der Stick partitioniert werden. Es empfiehlt sich nur eine FAT32 Partition anzulegen, da der noch freie Platz auf dem Stick dann auch ganz normal an Windowsrechnern genutzt werden kann.
fdisk /dev/sdX
Partitionstyp: W95 FAT32 Hexcode: b
Dateisystem erstellen
mkfs.vfat -F 32 -n MULTIBOOT /dev/sdXY
Die Option -n legt den Namen der Partition fest, hier: "MULTIBOOT", und kann auch weggelassen werden.
Wird mkfs.vfat nicht gefunden muss folgendes Paket installiert werden:
pacman -S dosfstools - mkfs.vfat and mkfs.msdos pacman -S ntfsprogs - mkfs.ntfs
Grub2 auf Stick installieren
Entweder Grub2 ist bereits auf dem System installiert, oder man macht diesen Schritt von einer LiveCD aus, auf der Grub2 vorhanden ist. Zum Beispiel Linux Mint oder Ubuntu.
mkdir /mnt/usbstick mount /dev/sdXY /mnt/usbstick grub-install --no-floppy --boot-directory=/mnt/usbstick/boot /dev/sdX umount /mnt/usbstick rm -r /mnt/usbstick
Jetzt sollte sich auf dem Stick das Verzeichnis /boot/grub/ befinden, in dem auch die Konfigurationsdatei grub.cfg abgelegt wird.
Konfigurationsdatei erstellen
Es wird vorausgesetzt, dass die iso Images später auf dem Stick unter /boot/iso/ abgelegt werden.
Eine grub.cfg für die SystemRescueCD-2.2.0 sieht zum Beispiel so aus.
set timeout=10 set default=1 set sysresciso="/boot/iso/systemrescuecd-x86-2.2.0.iso" menuentry "SystemRescueCD 2.2.0" { set isofile=$sysresciso loopback loop $isofile linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=de initrd (loop)/isolinux/initram.igz } menuentry "SystemRescueCD 2.2.0 (load to RAM)" { set isofile=$sysresciso loopback loop $isofile linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=de docache initrd (loop)/isolinux/initram.igz }
Um jetzt noch andere LiveCDs hinzuzufügen, muss nur das entsprechende iso-Image in /boot/iso/ gespeichert und ein entsprechender Eintrag in der grub.cfg hinzugefügt werden.
Wenn man nicht weiß, welche Parameter für eine bestimmte LiveCD in den Menüeintrag kommen, hilft oft ein Blick in die original Konfigurationsdateien der Images. Dazu kann man das entsprechende Image mounten und sich die syslinux.cfg und/oder isolinux.cfg Dateien anschauen.
Für viele LiveCDs finden sich im Internet bereits getestete grub.cfg Einträge.
Weitere Sticks erstellen
Minimal Stick
Um die Erstellung weiterer Multiboot Sticks zu vereinfachen, empfiehlt es sich zunächst einmal einen "Minimal Stick" als Ausgangsbasis zu erstellen. Zum Beispiel nur mit der SystemRescueCD oder nur mit Grub2. Der minimal Stick sollte eine möglichst geringe Kapazität haben. Will man später das "minimal Image" auf einen Stick schreiben, der eine kleinere Kapazität hat als das Image, gibt es Probleme.
In in der grub.cfg sollten möglichst viele als funktionierend bekannte Einträge für verschiedene LiveCDs stehen und mit Kommentaren versehen sein. Das erleichtert später das Hinzufügen weiterer Images.
Image erstellen
Ist der minimal Stick fertig und getestet kann das Image erstellt werden.
dd if=/dev/sdX of=minimal.img
Neuen Stick erstellen
Will man jetzt einen neuen Multiboot Stick erstellen, braucht man nur das Image des minimal Sticks auf den neuen Stick zu schreiben und danach mit gparted oder ähnlichem die Partition auf die maximale Größe vergrößern.
dd if=minimal.img of=/dev/sdY
Partition vergrößern
Tipps
Um den Stick zu testen kann man QEMU verwenden. So muss nicht jedes mal der Rechner neu gestartet werden.
qemu -m 512 /dev/sdX
Sollte es vorkommen, das man Änderungen vorgenommen hat aber QEMU diese nicht erkennt, hilft es den Stick auszuhängen, abzuziehen und wieder einzustecken.
Um Arch Linux vom USB-Stick zu starten, empfiehlt es sich statt des ISO-Images den Inhalt des Images auf dem Stick abzulegen. Wird beispielsweise der Inhalt des Images unter /boot/ArchLinux abgelegt und die Partition besitzt das Label "MultibootUSB", so sieht der Eintrag in der grub.cfg wie folgt aus:
menuentry "Arch Linux 64 Bit" { linux /boot/ArchLinux/arch/boot/x86_64/vmlinuz archisobasedir=/boot/ArchLinux/arch archisolabel=MultibootUSB initrd /boot/ArchLinux/arch/boot/x86_64/archiso.img }
menuentry "Arch Linux 32 Bit" { linux /boot/ArchLinux/arch/boot/i686/vmlinuz archisobasedir=/boot/ArchLinux/arch archisolabel=MultibootUSB initrd /boot/ArchLinux/arch/boot/i686/archiso.img }