Multiboot-USB-Stick mit XBOOT erstellen
Immer wieder kommt es vor, dass man "auf die Schnelle" eine ISO-Datei zur Fehlersuche, Diagnose oder für einen Test gerne auf einen bootfähigen USB-Stick bringen möchte.
Es gibt zu diesem Thema schon zahlreiche Threads und Tutorials in diversen Foren. Windows - Anwender hatten immer das Problem, dass man mehrere Programme benötigte, um dies zu bewerkstelligen. Hier bereitete nicht selten das richtige Formatieren des USB-Sticks so manchem User Probleme.
Eigenschaften
Seit kurzen gibt es ein Tool, das es unter einer Oberfläche erlaubt, mit wenigen Mausklicks einen bootfähigen USB-Stick zu erzeugen. Dieses Tool heißt XBOOT.
XBOOT vereint unter einer grafischen Oberfläche alles, was man zur Erstellung eines bootfähigen USB-Sticks benötigt.
- auch das Formatieren und Übertragen des Boot-Records beherrscht dieses Programm.
- man kann später beliebige Bootimages ergänzen, XBOOT erweitert automatisch das Startmenü
- der eingebaute Checksum-Ermittler erstellt vom einzubindendem Bootimage die Prüfsumme, die mit der auf der Downloadseite angegebenen verglichen werden kann
- es kann wahlweise ein ISO-Abbild oder ein bootfähiger USB-Stick erstellt werden
- mit Hilfe von QEMU kann man den erstellten USB-Stick gleich auf seine Funktion hin testen
„Eigenart“ von XBOOT: Bei Erstellen des Boot-Sticks werden alle Ziffern und Sonderzeichen in den Dateinamen der Abbilder herausgefiltert.
Beispiel:
Aus rnr_31rrd.ISO und rnr_40rrd.ISO wird jeweils rnrrrd.ISO und damit wird die erste ISO durch die zweite überschrieben.
Besser ist es, die ISO-Dateien mit aussagekräftigen Namen zu versehen, wie z.B. rnr_xprrd.ISO und rnr_vistarrd.ISO – das reicht schon.
Dieser Artikel befasst sich mit zwei Szenarien:
- bootfähigen USB-Stick mit einer ISO "auf die Schnelle" erstellen
- einen Multiboot-USB-Stick erstellen und anpassen.
Benötigte Software
Zusätzliche Tools/Programme (optional):
- Virtual Floppy Disk
- Gimp , um ein Hintergrundbild in 14 Farben im XPM-Format zu erstellen
- 7zip , um aus dem Hintergrundbild ein gz-Archiv zu erstellen
(ich selbst habe beides unter Linux durchgeführt)
Erstellen eines bootfähigen USB-Sticks "auf die Schnelle"
- XBOOT starten
- ISO-Datei in das Programmfenster ziehen
Klicken Sie auf die Grafik für eine größere Ansicht
- Wird man gebeten, die Art der ISO zu identifizieren, wählt man die entsprechende Einstellung in der Listbox aus und klickt "Add"
- USB-Stick einstecken und "Create USB" anklicken.
Klicken Sie auf die Grafik für eine größere Ansicht
- Nach Auswahl des USB-Laufwerks legt man den Bootloader fest und klickt OK
- Nach Fertigstellung des Sticks kann man sich das Ergebnis in QEMU anschauen.
Wurde ein MS-DOS-basiertes Image auf den Stick übertragen, muss zusätzlich eine manuelle Anpassung der menu.lst vorgenommen werden.
Hier wäre jetzt das Ende des HowTo's, wenn nur ein Boot-Stick auf die Schnelle benötigt würde.
Erstellen eines Multiboot-Sticks
In diesem Beispiel wird ein Thinkpad-Forum Diagnose und Rettungsstick erstellt. Benötigt wird hierfür ein 4 GB USB-Stick, von denen ca. 2,1 GB belegt werden. Verwendet man nicht gerade die neuesten Downloadversionen, reicht ein 2GB USB-Stick für die älteren (und kleineren) Abbilder aus.
Folgende Abbilder werden benötigt:
- Acronis Notfalldisk selbst erstellen (ISO-Datei)
- Ultimate Boot CD
- Hiren’s Boot CD (Google)
- Parted Magic
- Avira Notfall-CD
- System Rescue CD
- Windows 98 SE Bootfloppy (Mirror 2)
- XP Bootfloppy (wird selbst erstellt)
- PC-Doctor bootable DOS für Thinkpads bis Generation T61 nach Download ausführen (=extrahieren)
- PC-Doctor bootable DOS für Thinkpads ab T400 nach Download ausführen (=extrahieren)
- IBM Hardware Maintenance Disk (Google)
- Rescue and Recovery Repair Media XP und/oder Vista (nach Download der ISO-Dateien diese umbenennen in rnrxp.ISO und rnrvista.ISO – siehe oben unter „Besonderheiten“)
- No-1802 CD-Image
Als Hintergrundbild für das Grub USB-Bootmenü habe ich einen weißen Hintergrund mit dem Thinkpad-Forum-Logo erzeugt.
(vielen Dank an die IP-Web GmbH für die Erlaubnis, dieses Hintergrundbild mit dem Foren-Logo zum Download anbieten zu dürfen)
Windows XP Floppy - Bootimage selbst erstellen
Erfolgreich getestet unter Windows XP und Windows 7 32 Bit, im Virtual XP-Mode. - Funktioniert nicht unter Windows 7 selbst!!
Um versteckte Systemdateien sehen und kopieren zu können, muss man im Windows - Explorer (Windows XP bzw. im virtual XP-Mode) folgende Einstellung vornehmen:
- Extras - Ordneroptionen - Registerkarte "Ansicht"
- Markierung bei "Geschütze- und Systemdateien ausblenden" entfernen
- Markierung bei "Alle Dateien und Ordner angeigen" setzen
- Markierung bei "Erweiterungen bei bekannten Dateitypen ausblenden" entfernen
- OK
Anschließend starten von Virtual Floppy Disk und erstellen einer leeren virtuellen Diskette:
- Virtual Floppy Disk – Downloaddatei extrahieren nach c:\vfd und anschließend im Windows Explorer
- C:\vfd\Vfdwin.exe ausführen
- Folgende Aktionen durchführen:
- [Install]
- [Start]
- Registerkarte „Drive0“ auswählen
- Drive letter: [Change]
- Laufwerksbuchstaben „A:“ auswählen – [OK]
- [Open/Create]
- Feld "ImageFile" leer lassen – Media Type „3 ½“1.44 MB“ [Create]
- Programmfenster von Virtual Floppy Disk geöffnet lassen.
- Im Windows - Explorer das virtuelle Laufwerk A: als normale DOS-Diskette formatieren (wird dieser Schritt vergessen, bootet das Image nicht!!!)
- Im Windows - Explorer die Dateien NTDETECT.COM, ntldr nebst BOOT.INI von C:\ auf das virtuelle Laufwerk A: kopieren
- BOOT.INI anpassen:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Partition 1" /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Partition 2" /fastdetect multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP Partition 3" /fastdetect multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Windows XP Partition 4" /fastdetect
So kann XP auch gebootet werden, wenn es nicht auf der ersten Partition der ersten HDD installiert ist.
- Virtuelles Laufwerk mit Virtual Floppy Disk speichern ("Save" - Dateinamen mit der Erweiterung .IMG eingeben - "OK")
- Anschließend in Virtual Floppy Disk auf „Close“ klicken und in der Registerkarte „Driver“ auf „Stop“ und „Uninstall“ klicken.
Windows 98 SE - Bootfloppy Image extrahieren
- Virtual Floppy Disk starten
- Unter der Registerkarte “Driver” erst “Install”, danach “Start” anklicken.
- Registerkarte „Drive0“ wählen, „Change“ klicken und Laufwerksbuchstaben „A:“ auswählen
- Durch Anklicken von „Open/Create“ – „Create“ ein leeres virtuelles Diskettenlaufwerk erstellen
- Programmfenster von Virtual Floppy Disk geöffnet lassen.
- das heruntergeladene Windows 98 SE selbst extrahierende Archiv ausführen
- Virtuelles Laufwerk mit Virtual Floppy Disk speichern - hierzu "Save" klicken
- Dateinamen mit der Erweiterung .IMG eingeben - "OK")
Erscheint die Fehlermeldung
besteht noch im Windows-Explorer ein Zugriff auf das Laufwerk A: - Nach Schließen des Explorers kann das Image erzeugt werden.
- Anschließend in Virtual Floppy Disk auf „Close“ klicken und in der Registerkarte „Driver“ auf „Stop“ und „Uninstall“ klicken.
- Virtual Floppy Disk schließen
Bootstick zusammenstellen
Nach Programmstart zieht man die Abbild-Dateien (*.ISO, *.IMG) in das Programmfenster von XBOOT.
Bei unbekannten Abbildern wird man gebeten, die ISO-Datei zu identifizieren. Nach Auswahl (ich verwende meist „Add using Grub4dos ISO image emulation“) klickt man auf „Add this file“
Nach Hinzufügen der Abbilder kann man die Verzeichnisstruktur (Spalte „Category“) und Namen der Menüpunkte anpassen. Einträge in der Spalte „Category“ erzeugen jeweils ein Untermenü. Ich verzichte hier gerne darauf, da meine Menüpunkte alle auf eine Bildschirmseite passen.
Man kann hier in der Spalte “Name” die Feldinhalte anklicken und den späteren Boot-Menüeinträgen aussagekräftigere Namen verpassen. Die Integrität der Downloads kann man durch Auswahl des Checksum-Verfahrens und Anklicken von „Calculate“ überprüfen. Das Ergebnis vergleicht man mit der Checksumme der jeweiligen Downloadseite.
Scrollt man den Fensterinhalt des Programmfensters nach rechts, hat man die Möglichkeit, Hilfe- bzw. Erläuterungstexte einzugeben. Mehrzeilige Eingaben sind etwas umständlich in der Handhabung. Ein Zeilenumbruch wird durch die Eingabe von „\n“ (ohne Anführungszeichen) erzwungen.
„Create USB“, rechts oben den zu beschreibenden USB-Stick auswählen. Ich wähle als Bootloader immer „Grub4Dos“
warten
Warten (dauert ca. 8 Minuten), bis die Fertigmeldung erscheint
Das Ergebnis kann man sich in QEMU anzeigen lassen, wenn man die abschließende Frage mit „Yes“ beantwortet.
Manuelle Anpassung
Nun erfolgen noch manuelle Anpassungen, die bei einigen MS-DOS-basierten Images Pflicht sind, damit Festplattenoperationen auch auf die Festplatte und nicht auf den USB-Stick geschrieben werden, sowie einige optionale Verschönerungen.
Pflichtanpassungen für DOS-basierte Anwendungen
Da MSDOS beim Booten vom USB-Stick diesen als Laufwerk C: ansieht, muss den DOS-Boot-Images mitgeteilt werden, dass die Festplatte „woanders“ zu finden ist. Dies erfolgt durch Einfügen der Zeilen
map (hd0) (hd1) map (hd1) (hd0)
jeweils einfügen nach:
title Windows98_SE\nWINDOWS98 Bootfloppy (1,40 MB)\n ... title WIN XP Boot\nXPBOOT.IMG (1,40 MB)\n ... title R&R Repair XP\nRescue & Recovery Repair Media XP (1,40 MB)\n ... title Hiren's.BootCD.15.0\n
Grub4DOS vertauscht damit den Stick und die Festplatte für DOS
optionale Anpassungen
Als nächstes kopiert man das Thinkpad-Forum Hintergrundbild splash.xpm.gz auf den Stick ins Hauptverzeichnis.
Ist die Dateierweiterung „.lst“ dem Programm Wordpad zugeordnet, wählt man als nächstes in XBOOT die Registerkarte „Edit Multiboot USB“, wählt den USB-Stick aus und klickt auf „Edit Grub4Dos menu file“. Es wird die Datei menu.lst vom USB-Stick geöffnet.
menu.lst:
Am Anfang die Zeilen:
color magenta/white white/magenta black/white black/white timeout 10
durch
color NORMAL HIGHLIGHT HELPTEXT HEADING splashimage=/splash.xpm.gz foreground=000000 background=ffffff timeout 30
ersetzen
wer will, kann noch Zwischenüberschriften einfügen: Beispiel:
title --- Thinkpad Tools --- root
Die menu.lst abschließend speichern.
Testen in XBOOT
Im XBOOT-Programmfenster die Registerkarte „QEMU“ und anschließend das Multiboot- USB-Laufwerk auswählen.
Klick auf den Schalter „Boot“ startet das Bootmenü vom USB-Stick.
Abschluss
Da ich eine lizenzierte Version von GetDataBack NTFS besitze und das Programm auch ohne Installation läuft, kopierte ich das früher auf meinem Laptop installierte Programmverzeichnis c:\Programme\GetDataBackNTFS nebst Lizenzkey (in Textdatei) in einen Ordner getdatabackntfs auf den Stick. Wenn Windows PE der Hiren’s Boot-CD läuft, starte ich einfach getdatabackntfs, schalte das Programm mit dem Key frei und schon stehen alle Funktionen zur Verfügung.
Nachträgliches Hinzufügen von Abbildern
Möchte man ein weiteres bootfähiges Abbild dem bestehendem Multiboot USB-Stick hinzufügen, geht man wie folgt vor:
- XBOOT starten
- USB Stick einstecken
- gewünschtes Abbild in das Programmfenster ziehen
- „Create USB“ anklicken und Laufwerk auswählen. Das Abbild wird zu den bestehenden Abbildern auf den Stick geschrieben und der Menüeintrag der menu.lst am Ende angehängt.
- ggf. manuelle Anpassungen der menu.lst vornehmen
Reparatur
Hat man sich die Bootdateien „zerschossen“, lassen sich diese auch wieder raparieren:
- XBOOT starten
- USB Stick einstecken
- USB Laufwerk auswählen
- Registerkarte „Edit Multiboot USB“ auswählen, unter „Reinstall Bootloader“ den gewünschten Bootloader auswählen und „Install Bootloader“ anklicken.
Bemerkungen
Avira wird nicht zusammen mit den anderen Images im Verzeichnis \images gespeichert, sondern im Verzeichnis \antivir. Gleichzeitig wird ein Ordner \avupdate angelegt, in welchem Avira die Updates der Virendefinitionen ablegt. Im Gegensatz dazu verwendet z.B. Kasperky ein Verzeichnis auf der Festplatte für die Updates.
Eigenes Hintergrundbild einbeziehen
- Gimp installieren
- 7Zip installieren
(links siehe oben)
7Zip wird benötigt, um die selbst erstellte splash.xpm zu packen, dass daraus splash.xpm.gz wird - Windows stellt hierfür keine "Bordmittel" bereit. Diese Datei kopiert man anschließend auf den Stick.
In Gimp wird es im Format 640x480 erzeugt. Anschließend wählt man im Gimp-Menü:
- Image - Mode - Indexed und begrenzt die Farben auf 14.
- Anschließend File - Save as... - "Filetype by extension" - "xpm" und gibt als Dateinamen "splash.xpm" ein.
- Danach im Windows-Explorer die Datei splash.xpm.gz mit rechter Maustaste anklicken "7Zip" - "zu einem Archiv hinzufügen" - als Archivformat "Gzip" auswählen - OK
- Die Datei splash.xpm.gz in das Hauptverzeichnis des Sticks kopieren
In der Menu.lst wird das gepackte Hintergrundbild beim Booten aufgerufen:
splashimage=/splash.xpm.gz
Wie oben Beitrag geschrieben, stellt dies ein Verfahren unter Windows dar, da nicht jeder Linux auf seinem Rechner hat
default 0 timeout 30 color NORMAL HIGHLIGHT HELPTEXT HEADING splashimage=/splash.xpm.gz foreground=000000 background=ffffff ### MENU START title Boot from hard drive map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0,0) ### MENU END title --- Tools --- root ### MENU START title Parted Magic\nPMAGIC-5.8.ISO (148 MB)\n ls /images/pmagic.iso || find --set-root /images/pmagic.iso map --heads=0 --sectors-per-track=0 /images/pmagic.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/pmagic.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title Ultimate Boot CD 4 DOS\nUBCD503.ISO (301 MB)\n ls /images/ubcd.iso || find --set-root /images/ubcd.iso map --heads=0 --sectors-per-track=0 /images/ubcd.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/ubcd.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title Systemrescue CD\nSYSTEMRESCUECD-X86-1.5.8.ISO (260 MB) map (hd0) (hd1) map (hd1) (hd0) ls /images/systemrescuecdx86.iso || find --set-root /images/systemrescuecdx86.iso map --heads=0 --sectors-per-track=0 /images/systemrescuecdx86.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/systemrescuecdx86.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title Hiren's.BootCD.13.0\nHiren's Boot-CD map (hd0) (hd1) map (hd1) (hd0) ls /images/hirensbootcd.iso || find --set-root /images/hirensbootcd.iso map --heads=0 --sectors-per-track=0 /images/hirensbootcd.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/hirensbootcd.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title MEMTEST86\nMEMTEST.IMG (1,40 MB)\n ls /images/memtest.img || find --set-root /images/memtest.img map /images/memtest.img (fd0) || map --mem /images/memtest.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END ### MENU START title Acronis Notfall\nACRONIS-NOTFALL.ISO (83,3 MB)\n ls /images/acronisnotfall.iso || find --set-root /images/acronisnotfall.iso map --heads=0 --sectors-per-track=0 /images/acronisnotfall.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/acronisnotfall.iso (0xff) map --hook chainloader (0xff) ### MENU END title --- Antiviren --- root ### MENU START title Avira AntiVir Rescue System\nRESCUE_SYSTEM-COMMON-EN.ISO (234 MB)\n ls /images/rescuesystemcommonen.iso || find --set-root /images/rescuesystemcommonen.iso map --heads=0 --sectors-per-track=0 /images/rescuesystemcommonen.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/rescuesystemcommonen.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title Kaspersky Rescue Disk\nKAV_RESCUE_10.ISO (200 MB)\n ls /rescue/rescue.iso || find --set-root /rescue/rescue.iso map --heads=0 --sectors-per-track=0 /rescue/rescue.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /rescue/rescue.iso (0xff) map --hook chainloader (0xff) ### MENU END title --- Boot --- root ### MENU START title Windows 98 Bootfloppy\nWIN98BTCD.IMG (1,40 MB)\n map (hd0) (hd1) map (hd1) (hd0) ls /images/winbtcd.img || find --set-root /images/winbtcd.img map /images/winbtcd.img (fd0) || map --mem /images/winbtcd.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END ### MENU START title XP Bootfloppy\nXPBOOT.IMG (1,40 MB)\n map (hd0) (hd1) map (hd1) (hd0) ls /images/xpboot.img || find --set-root /images/xpboot.img map /images/xpboot.img (fd0) || map --mem /images/xpboot.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END title --- Thinkpad Tools --- root ### MENU START title PC-Doctor bis T61\nPC-Doctor bis T61 ls /images/T60_pcdoctor.iso || find --set-root /images/T60_pcdoctor.iso map --heads=0 --sectors-per-track=0 /images/T60_pcdoctor.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/T60_pcdoctor.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title PC-Doctor ab T400\nPC-Doctor ab T400 ls /images/T400_pcdoctor.iso || find --set-root /images/T400_pcdoctor.iso map --heads=0 --sectors-per-track=0 /images/T400_pcdoctor.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/T400_pcdoctor.iso (0xff) map --hook chainloader (0xff) ### MENU END ### MENU START title IBM Hardware Maintenance Disk\nHWMAINTENANCE.IMG (1,40 MB)\n ls /images/hwmaintenance.img || find --set-root /images/hwmaintenance.img map /images/hwmaintenance.img (fd0) || map --mem /images/hwmaintenance.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END ### MENU START title no1802\nNO1802.IMG (1,40 MB)\n ls /images/no.img || find --set-root /images/no.img map /images/no.img (fd0) || map --mem /images/no.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END ### MENU START title Rescue & Recovery Repair Diskette XP\nRNR_31.IMG (1,40 MB)\n map (hd0) (hd1) map (hd1) (hd0) ls /images/rnr.img || find --set-root /images/rnr.img map /images/rnr.img (fd0) || map --mem /images/rnr.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) ### MENU END title --- Hilfe --- root ### MENU START title Help!\n ls /images/help.iso || find --set-root /images/help.iso map --heads=0 --sectors-per-track=0 /images/help.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /images/help.iso (0xff) map --hook chainloader (0xff) ### MENU END
Allgemeines zum Booten von USB-Sticks
Nicht jedes Thinkpad kann von USB-Stick booten. Ab einigen Thinkpad Modellen vor T/R40 ist dies aber möglich (z.B. A31(p)). Zuvor muss jedoch im BIOS die Bootreihenfolge angepasst werden, wenn es sich um eines der älteren Modelle handelt.
Hintergrund:
Ältere Thinkpad-BIOS erkennen einen USB-Stick als HDD-Laufwerk und ordnet sie in der Bootreihenfolge automatisch hinter der internen HDD ein. Über das Thinkpad Bootmenü (beim Starten mit F12 aufgerufen) kann man lediglich "HDD" als Bootmedium auswählen, nicht jedoch welche.
Aus diesem Grund muss der USB-Stick im BIOS unter Startup - Boot vor die interne HDD verschoben werden.
Neuere Thinkpad-BIOS erkennen den USB-Stick als Wechseldatenträger, welcher auch im Thinkpad Bootmenü (beim Rechnerstart mit F12 aufgerufen) auswählbar ist.
Sollen MS-DOS- oder Windows XP - basierte Betriebssysteme vom USB-Stick gebootet werden, ist im BIOS unter Config - SATA der Modus auf "compatibility" umzustellen, damit die Festplatte erkannt werden kann.
Weblinks
Downloads für XBOOT:
Zusätzliche Tools/Programme (optional):
Downloadquellen der Abbilddateien:
- Acronis True Image Home (Homepage und Shop)
- Ultimate Boot CD
- Parted Magic
- Avira Notfall-CD
- System Rescue CD
- Windows 98 SE Bootfloppy (Mirror 2)
- PC-Doctor bootable DOS für Thinkpads bis Generation T61
- PC-Doctor bootable DOS für Thinkpads ab Generation T400
- Rescue and Recovery Repair Media XP und/oder Vista
- No-1802 CD-Image