Multiboot-USB-Stick erstellen

Um einen eigenen Multiboot-USB-Stick zu erstellen geht man folgendermaßen vor:

  1. USB-Stick mounten und auf FAT formatieren
    sudo mkfs.vfat -n USB-Stick /dev/sdc1
    (der Stick wird „USB-Stick“ benannt)
  2. evtl. muss der MBR gelöscht werden. Das geht mit folgendem Befehl:
    sudo dd if=/dev/zero of=/dev/sdc bs=446 count=1
  3. Grub einrichten
    sudo grub-install --no-floppy --root-directory=/media/USB-Stick /dev/sdc
  4. Grub-Config erstellen
    /boot/grub/grub.cfg
  5. Inhalt der Datei grub.cfg:
    if loadfont /boot/grub/fonts/unicode.pf2 ; then 
     set gfxmode="640x480" 
     insmod gfxterm 
     insmod vbe 
     terminal_output gfxterm 
     if terminal_output gfxterm; then true ; else 
        terminal gfxterm 
     fi 
    fi 
    insmod tga 
    background_image /boot/grub/splash.tga
    
    menuentry "System Rescue CD" {
           loopback loop /boot/iso/systemrescuecd.iso
           linux (loop)/isolinux/rescue32 isoloop=/boot/iso/systemrescuecd.iso setkmap=de
           initrd (loop)/isolinux/initram.igz
    }
    
    menuentry "System Rescue CD (load to RAM)" {
           loopback loop /boot/iso/systemrescuecd.iso
           linux (loop)/isolinux/rescue32 isoloop=/boot/iso/systemrescuecd.iso setkmap=de docache
           initrd (loop)/isolinux/initram.igz
    }
    
    menuentry "Grml Rescue System" {
      insmod part_msdos
      insmod ext2
      insmod part_gpt
      insmod fat
      search --no-floppy --fs-uuid --set=root 950A-B6EC
      iso_path="/boot/iso/grml.iso"
      export iso_path
      loopback loop "/boot/iso/grml.iso"
      set root=(loop)
      configfile /boot/grub/loopback.cfg
    }
    
    menuentry "Knoppix" {
    set iso_path="/boot/iso/knoppix.iso"
    loopback loop (hd0,msdos1)$iso_path
    echo "Loading linux"
    linux (loop)/boot/isolinux/linux bootfrom=/dev/sda1$iso_path acpi=off no3d keyboard=de language-de
    echo "Loading minirt"
    initrd (loop)/boot/isolinux/minirt.gz
    }
    
    menuentry "Kali-Linux" {
      set isofile="/boot/iso/kali-linux.iso"
      bootoptions="findiso=$isofile boot=live noconfig=sudo username=root hostname=kali quiet splash"
      search --set -f $isofile
      loopback loop $isofile
      linux (loop)/live/vmlinuz $bootoptions
      initrd (loop)/live/initrd.img
    }
    
    menuentry "Tails" {
        set iso="/boot/iso/tails.iso"
        loopback loop $iso
        linux (loop)/live/vmlinuz boot=live config live-media=removable nopersistent noprompt quiet timezone=Europe/Berlin block.events_dfl_poll_msecs=1000 splash nox11autologin module=Tails findiso=$iso quiet_
        initrd (loop)/live/initrd.img
    }
    
    menuentry "Speichertest" {
     linux16 /boot/iso/memtest86.bin
    }
    
    menuentry "Hardwareerkennung" {
    linux16 /boot/iso/memdisk iso
    initrd16 /boot/iso/hdt.iso
    }
     
    menuentry "Windows Passwort löschen" {
      loopback loop /boot/iso/ntpasswd.iso
      root=(loop)
      linux (loop)/vmlinuz findiso=/boot/iso/ntpasswd.iso
      initrd (loop)/initrd.cgz
    }
    
    menuentry "Ultimate Boot CD" {
    linux16 /boot/iso/memdisk iso
    initrd16 /boot/iso/ubcd.iso
    }
  6. Die ISO-Dateien liegen im Ordner /boot/iso/
    Download der einzelnen Images unter:

  7. Memdisk (notwendig um die UBCD einzubinden) kann im Paket von syslinux heruntergeladen werden: https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.04.zip
  8. Das Hintergrundbild muss 640×480 Pixel groß sein und im Ordner /boot/grub als splash.tga gespeichert werden. Mit Gimp kann dieses Grafikformat erzeugt werden.