Multi-Boot-USB Stick via GRUB

PsychoX7

Lieutenant
Registriert
Aug. 2008
Beiträge
532
Hallo CB'ler

Ich hoffe ich bin einigermaßen im richtigen Unterforum gelandet.

Ich arbeite derzeit an einem Multi-Boot-USB-Stick, mithilfe dessen ich Win7PE, MS-DOS und Desinfect / Knopicillin als Auswahl zum booten haben möchte.
Angefangen beim Formatieren meines 8 Gb USB-Sticks habe ich nun folgende Partitionen erstellt:

1. WinPE - FAT32
2. Desinfect - FAT32
3. MS-DOS - FAT

Win7PE habe ich mit der Software WinBuilder, welche im Heft "c't" - Ausgabe 6 vom 1.3.2010 enthalten war, auf die erste Partition inklusive Grub4DOS installiert und bootfähig gemacht.
Somit lässt sich nun WinPE ohne weiteres über den Stick booten.
Danach habe ich eine MS-DOS Startdiskette erstellt, die Bootsect.bin mithilfe von MKBT extrahiert und auf die 3. Partition geschrieben. Danach habe ich noch die MS-DOS-Files auf selbige Partition gezogen und in der menu.lst von Grub einen weiteren Eintrag für MS-DOS erstellt. Als das nicht funktionierte, versuchte ich es mit dem Extrahieren der Autoexec.bat.

Mein Problem liegt nun darin, dass ich mit keinem Befehl dazu in der Lage bin, MS-DOS von der 3. Partition zu booten. Unter anderem habe ich auch schon versucht, die jeweiligen anderen Partitionen mit dem Befehl "hide" zu verstecken und die DOS-Partition als aktiv festzulegen. Grub4Dos gibt mir meist die Fehlermeldung aus, dass es sich um ein unbekanntes oder nicht Unterstütztes Dateiformat handelt, wenn ich versuche die bootsect.bin von der 3. Partiton zu laden.

Liegt hier irgendwo ein Denkfehler vor?

Momentan steht für DOS in der menu.lst folgendes:
title DOS
find --set-root /AUTOEXEC.BAT
chainloader +1

Im Bezug auf diese Befehle bekomme ich nun folgende Fehlermeldung:
Invalid system disk.
Replace the disk, and then press any key.
 
Hi,

gab es bei alten OS nicht eine Beschränkung, dass der bootsector innerhalb der ersten 1024 Sektoren liegen musste?
Oder bringe ich da gerade was durcheinander?
 
Hi,

ich habe auch 2 Sticks mit GRUB4DOS, bei mir werden aber hauptsächlich ISOs/Floppy-Images/Linux geladen wie auf einer Partition liegen.

Probier's mal damit:


Code:
title DOS
root (hd0,2)
find --set-root /AUTOEXEC.BAT
chainloader +1
 
Nebula123 schrieb:
Hi,

ich habe auch 2 Sticks mit GRUB4DOS, bei mir werden aber hauptsächlich ISOs/Floppy-Images/Linux geladen wie auf einer Partition liegen.

Probier's mal damit:


Code:
title DOS
root (hd0,2)
find --set-root /AUTOEXEC.BAT
chainloader +1

Mit dem Befehl geht es leider auch nicht.
Die Fehlermeldung ist nach wie vor
Invalid system disk.
Replace the disk, and then press any key.
 
und so:

Code:
title dos
rootnoverify (hd0,2)
makeactive
chainloader +1
boot
 
Funktionierte leider auch nicht.
Allerdings ist mir nun aufgefallen, als ich versucht habe, DOS auf dem oben beschriebenen Wege auf einem anderen Stick zu installieren, ohne die Multi-Boot-Option, hatte ich nichteinmal so die Möglichkeit DOS zu starten.

Hier mal die Vorgehensweise: Ich arbeite mit Windows Vista und habe die MS-DOS Startdiskette über ganz normal über die Option "Formatieren -> MS-DOS Startdiskette erstellen" erstellt, nachdem ich als Pfad für die DOS-Files die USB-DOS-Version von Chip angegeben habe. Von dieser Startdiskette habe ich dann den Bootsector in MKBT mit dem Befehl:

mkbt -c b: bootsect.bin

extrahiert und danach mittels:

mkbt -x bootsect.bin e: auf die jeweilige Partition des Sticks kopiert. Danach noch die weiteren DOS-Files mit dem XCOPY-Befehl auf die Partition gezogen, aber ich habe nicht die Möglichkeit DOS zu starten.

Wo liegt hier der Fehler, dass ich DOS nicht starten kann? :freak:
 
nebenbei habe ich noch einen alten 64MB Stick der direkt in (Win98-)DOS bootet.

Um den dazu zu bekommen haben ich das "HP USB Disk Storage Format Tool" und eine DOS-Diskette benutzt und den Stick damit formatiert. Anschließend noch die restl. Dateien von der Diskette auf den Stick OHNE ÜBERSCHREIBEN kopiert - funzt 1a

Da du aber mehrere Partitionen verfügst bräuchtest du imho einen Boot-Manager auf dem Stick: GRUB od. DOS bootet
bei GRUB dann das Auswahlmenü mit Win7Pe / Deinfect etc.
 
Zuletzt bearbeitet:
Das Problem bei dieser Vorgehensweise besteht aber darin, dass ich keine weiteren Partitionen mit anderen Betriebssystemen auf dem Stick erstellen kann, da das HP-Tool die Kompletten Partitionen löscht und eigens eine Neue anlegt. Aber es soll eben alles auf einem Stick bootfähig sein. Sicher wäre es einfacher, zwei Sticks zu verwenden, aber es muss doch eine möglichkeit geben.

Bei meiner obigen Vorgehensweise scheint wohl irgendetwas nicht zu stimmen. Nur was?

Der Bootmanager ist ja bereits auf der Win7PE-Partition installiert.

Aber wie bekomme ich DOS auf meine 3. Partition? Bzw. wie bekomme ich DOS allgemein ohne das HP-Tool auf meinen Stick, um meine Partitionierung beibehalten zu können? Meine Variante scheint fehlerbehaftet zu sein.
 
Zuletzt bearbeitet:
Wie bereits oben geschrieben. Mir gelingt es leider nicht, DOS lauffähig auf einen partitionierten USB-Stick zu bekommen.

Ich schaffe es lediglich, DOS so auf den Stick zu installieren, dass ein weiteres partitionieren nicht möglich ist. Dazu benötige ich dann das HP Disk Storage Format Tool und gebe als Quellverzeichnis für die DOS-Dateien dann die heruntergeladene USB-DOS-Version von Chip an. Das Problem dabei ist, dass mir das Tool dann den kompletten Stick formatiert und ein einzelnes Volume anlegt, womit ein weiteres Partitionieren nacht dem installieren von DOS nicht mehr möglich ist.

Ansonsten habe ich es wie ebenfalls schon erwähnt, die DOS-Files (auch die Systemdateien etc.) auf den Stick zu laden und dann mittels MKBT den Bootsector einer MS-DOS Startdiskette via MKBT (make bootable) zu extrahieren und auf den Stick zu übertragen. Leider blieb der Versuch, DOS so überhaupt lauffähig zu bekommen erfolglos.
Nachdem ich dann ein weiteres Programm versuchte, welches anscheinend die jeweilige Partition bootfähig machen kann, bekam ich nurnoch die Fehlermeldung "missing MBR-Helper".
Das Googlen nach der Fehlermeldung brachte mir aber keine Ergebnisse.
 
Mittlerweile habe ich es hinbekommen, DOS zu booten.
Dazu habe ich einfach eine Primäre Partition erstellt, auf der ich Windows PE und den Grub Bootloader installiert habe, kopierte eine *.iso von DOS auf den Stick und habe diese anschließend mit folgendem Befehl in der Menu.lst geladen:
title DOS
find --set-root /DOS.iso
map /DOS.iso (0xff) || map --mem /DOS.iso (0xff)
map --hook
chainloader (0xff)
lock

Soweit, so gut. Windows PE und DOS starten also Ordnungsgemäß, allerdings bekomme ich nun Desinfect 8 nicht lauffähig auf diese Partition. Die iso von Desinfect lässt sich nichteinmal ansatzweise dazu bewegen, sich laden zu lassen und wenn ich Desinfect mit dem "Universal USB-Installer" installiere, kann ich es zwar booten, aber nur direkt, ohne Grub. Nun, da ich aber mit Grub booten möchte, habe ich es in Grub mit folgendem Befehl versucht:

title Desinfect-8
root (hd0,0)
kernel /EFI/boot/vmlinuz0 root=live:CDLABEL=Desinfect-8 rootfstype=auto
initrd /EFI/boot/initrd0.img
boot

Nachdem versucht wird Desinfect zu laden, erscheint folgende Fehlermeldung:

No root device found

Boot has failed, sleeping forever.
 
wenn's ne ISO davon gibt dann lad' die doch.

Menü-Befehl wäre:
Code:
title blablabla
map (hd0,0)/datei.iso (hd32)
map --hook
chainloader (hd32)
boot

so hab' ich es bei 2 Linux-Progs machen müssen, da ich es sonst nicht bzw. mit Fehlerfunktion zum Laufen gebracht habe.
 
Beim Versuch mit diesem Eintrag bekomme ich leider die folgende Fehlermeldung:

error 60: file for drive emulation must be in one contiguous disk area

Beim googlen nach dieser Fehlermeldung stieß ich dann auf das Programm "WinContig", mit dem ich die iso von Desinfect defratmentieren sollte um sie dann via Grub laden zu können. Leider blieb das erfolglos, da mir das Programm sagt "Es gibt keine Dateien die wegen Fehlern nicht defragmentiert wurden".
Bei anderen schien es zu funktionieren und somit das Problem auch behoben zu sein.

Beim Versuch mit Grub2 zu arbeiten, kam ich leider auch nicht viel weiter. Offensichtlich ist Grub2 nicht dazu in der Lage eine *.iso von Windows PE geschweigedem von DOS zu booten, sondern akzeptiert nur iso's von bestimmten Linux Distributionen.

Edit: Es bleibt hinzuzufügen, dass es mittlerweile läuft. Allerdings brauche ich dazu eine Extra-partition für Desinfect, welche als erste Primäre fungiert. Die zweite Primäre ist dann bestückt mit Grub, und den beiden iso's von Windows PE und DOS.
Aber es sollte doch eine Möglichkeit geben, wie ich alle drei Betriebssysteme von der iso starten kann?
 
Zuletzt bearbeitet:
ich musste meinen Stick auch schon mit Wincontig bearbeiten wg. gleichem Fehler.
Teilweise musste ich den Stick etwas leerräumen (*.img-Dateien) um genug Platz für das defragmentieren zu lassen.
danach konnte ich defragmentieren; hab' den Rest wieder draufgepackt und alles lief.
 
So - Nach mehreren Versuchen habe ich es gestern dann geschafft, die iso mit WinContig zu bearbeiten und der Error 60 war weg. Danach kam ich immerhin schoneinmal in das Bootmenü von Desinfect. Während des Ladevorgangs - nach ca. 50-60 % erhalte ich allerdings dann die folgende Fehlermeltung:

no root device found
boot has failed, sleeping forever..

Nach etwas Recherche kam ich auf eine Lösung, bei der das CD-Label nicht mit dem in den Einstellungen übereinstimmte. Es betraf lediglich die Groß- und Kleinschreibung. Statt "DESINFECT-8" stand also "Desinfect-8" in den Einstellungen. Nachdem ich es dann manuell eingetragen hatte - Oh wunder - Es läuft und bootet ohne Probleme.
Somit hatte ich dann die isos zusammen mit Grub auf einer Partition. Nun wollte ich die andere Partiton löschen und habe den Stick wieder neu aufgebaut. Leider erhalte ich jetzt wieder die oben genannte Fehlermeldung, welche sich leider nicht mit dem von mir beschriebenen Trick umgehen lässt.

Es scheint also nun lediglich ein Problem der iso zu sein - Nur wie bekomme ich das Problem in den Griff?

Ich danke dir, btw, für deine Unterstützung :)
 
Zuletzt bearbeitet:
Hi Leute, ich greife das etwas angegraute Thema noch mal auf.
Ich habe mich an die Anleitung mehr oder eniger gehalten und es funzt alles soweit.
Lediglich 2 Sachen sind noch supoptimal, wovon die eine sehr subopitmal ist:
1. Das Windows 7 Iso zu mounten dauert ewig.... - alle anderen dauern nur Sekunden, selbst Knoppix mit seinen 700Mb waren nur 10 Sek oder so.
2. Ich habe nachdem er das Windows 7 gemounted hat, nur 2 Sek zeit üfr beliebe Taste damit er es startet.
Kann man das so einstellen, dass er es gleich durchstarten und/oder den Countdown bis Grub abbricht verlängern?
Habe keine Lust ca 3. Min vor dem PC zu sitzen und dann schnell eine Taste zu hämmern.

3. Woher bekomme ich dieses Desinfect ?
 
Zuletzt bearbeitet:
Zurück
Oben