Wer kennt das nicht - oftmals will man "mal eben" schnell eine Distro testen und hat keine Lust einen CD-Rohlung zu suchen; oftmals hat man nicht mal ein optisches Laufwerk zur Hand. ISOs lassen sich auch einfach mit GRUB2 direkt booten.
Benötigt wird eine Distribution, für die GRUB2 zur Verfügung steht sowie einen USB-Stick (//sinnvollerweise mit mindestens 1 GB Speicherplatz//). Für die ISO-Dateien, die man booten will, benötigt man Informationen zum SYSLINUX-Loader, da sich erstmal nur Linux-ISOs booten lassen.
Zuerst wird die Partitionstabelle des Sticks gelöscht und auf dem Stick eine FAT-Partition erstellt. Es lassen sich natürlich auch ext-Dateisysteme verwenden - wer häufig Windows verwendet und schnell eine ISO "dazu kopieren" will wird allerdings die FAT-Variante bevorzugen.
**/dev/sdx** muss in diesem Code (//und in allen darauffolgenden//) durch die passende Gerätedatei ersetzt werden. Diese kann leicht mit **dmesg** beim Einstecken des Sticks herausgefunden werden.
# dd if=/dev/zero of=/dev/sdx bs=512 count=1
# fdisk /dev/sdx << EOF
c
u
n
p
1
t
b
w
EOF
# mkfs.vfat /dev/sdx1
Danach wird die angelegte Partition gemountet und darauf eine Ordnerstruktur angelegt. Im Ordner **boot** befinden die Ordner **iso** (//für ISO-Dateien//) sowie **grub** (//für den GRUB2-Bootloader//). Anschließend wird eine Konfigurationsdatei für GRUB2 angelegt:
# mount /dev/sdx1 /mnt
# mkdir -p /mnt/boot/grub
# mkdir -p /mnt/boot/iso
# vim /mnt/boot/grub/grub.cfg
...
menuentry "ArchLinux" {
loopback loop /boot/iso/archlinux.iso
linux (loop)/arch/boot/i686/vmlinuz
initrd (loop)/arch/boot/i686/archiso.img
}
menuentry "ConnochaetOS" {
loopback loop /boot/iso/connos.iso
linux (loop)/boot/isolinux/vmlinuz
initrd (loop)/boot/isolinux/initrd.img
}
...
:wq
In dem Beispiel werden zwei ISO-Dateien für ArchLinux und ConnochaetOS angelegt. Die Konfiguration kann durchaus nicht ganz trivial sein - kleiner Tipp: einfach die ISO als solche mounten und mit dem Explorer nach der Bootloader-Konfigurationsdatei Ausschau halten. Dort befinden sich die Angaben für Kernel (**linux**) und Init-Ramdisk (**initrd**). Auf der ArchLinux-CD befindet sich die Konfigurationsdatei unter **boot/syslinux/archiso_sys.cfg** - bei ConnochaetOS sollte man die Datei **boot/grub/menu.lst** konsultieren; andere Distributionen sind ähnlich aufgebaut.
Anschließend werden die ISO-Dateien in den Ordner **iso** kopiert, bevor GRUB2 installiert und der Stick ausgeworfen wird:
# cp ... iso
# grub-install --no-floppy --root-directory=/mnt /dev/sdx
Installation finished. No error reported.
# umount /mnt
# eject /dev/sdx
Wenn eine ISO nachträglich hinzugefügt werden soll, muss sie lediglich in den Ordner **iso** kopiert und ein entsprechender Eintrag in der Datei **boot/grub/grub.cfg** verfasst werden.