Multiboot-USB-Stick mit XBOOT erstellen

Aus ThinkPad-Wiki
Wechseln zu: Navigation, Suche

Hinweise:

Funktioniert nicht mit Windows 7 64 Bit!

Da der Entwickler im Jahr 2011 verstorben ist, wird dieses Projekt nicht weitergeführt.


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:

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


Beispiel einer menu.lst des Multiboot – Sticks

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 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: