bootfähige CD
Christoph Schnauß
- software
hallo Forum ;-)
Ich weiß, ich weiß, wir haben einiges zu diesem Thema im Archiv. Ich hab mir in den letzten drei Tagen wahrscheinlich fast alles dazu zu Gemüte geführt und Google mit Nachfragen nach "el Torrito" und anderen Begriffen malträtiert. Bin aber nicht klüger geworden. Ich hab in meinem eigenen Archiv jetzt zwar drei Anleitungen, wie ich meine WinXP-CD mit ServicePack1 bootfähig mache, das geht auch, ich will aber was andres.
Grob gesagt möchte ich eine CD, auf der sich alle meine "alten" Installations-CD's befinden (DOS 6.22, Win3.11, Win95, Win98, Win98SE) bootfähig haben. Das kriege ich prinzipiell auch hin, wenn ich als bootimage meine Win98-Startdiskette nehme - aber da kriege ich dann ein Verhalten, als hätte ich eben von der Win98-Diskette gestartet. Ich möchte aber gerne ein eigenes Startmenü haben, das mir die Auswahl anbietet, was ich denn nun gerne installieren bzw. reparieren möchte.
Es geht also einfach um Windows-Krimskrams. Meine CD soll booten und mich fragen, was ich denn genre installieren möchte.
Was ich nicht verstehe ist: ich habe eine _bootfähige_ WinXP-CD und eine _nicht bootfähige_ WinXP-CD. Wenn ich die Teile in mein Laufwerk einlege und mir die Eigenschaften anzeigen lasse, sind sie beide absolut identisch. Nur kann die eine eben booten, die andere nicht.
Ähnlich ist es, wenn ich eine Einzel-CD mit Win98SE bootfähig mache und meine Win98-Startdiskette als bootimage beim Brennen benutze. Eine _bootfähige_ und eine _nicht bootfähige_ Win98-CD sehen absolut identisch aus.
Als Brennersoftware benutze ich NERO - im Moment ist das "nero551015a" (ich ziehe mir die Updates etwa alle vier Wochen).
ZUm Vergleich: wenn ich mir eine (beliebige) LINUX-CD zusammenstellen möchte, geht das mit dem booten völlig problemlos. makeisofs hat da keine Rückfragen und packt mir drauf, was ich gerne haben möchte.
Grüße aus Berlin
Christoph S.
Hi Christoph,
Das kriege ich prinzipiell auch hin, wenn ich als bootimage meine Win98-Startdiskette nehme - aber da kriege ich dann ein Verhalten, als hätte ich eben von der Win98-Diskette gestartet. Ich möchte aber gerne ein eigenes Startmenü haben, das mir die Auswahl anbietet, was ich denn nun gerne installieren bzw. reparieren möchte.
Jo, das ist nicht so ganz einfach, hab ich auch noch nicht gemacht. Fakt ist, dass du dir das Teil selber schreiben musst... im Normal simuliert er halt ein Disketten-Laufwerk oder eine Festplatte... hoffe, hier kommen noch mehr Antworten, das interessiert mich auch.
Was ich nicht verstehe ist: ich habe eine _bootfähige_ WinXP-CD und eine _nicht bootfähige_ WinXP-CD. Wenn ich die Teile in mein Laufwerk einlege und mir die Eigenschaften anzeigen lasse, sind sie beide absolut identisch. Nur kann die eine eben booten, die andere nicht.
Eine Boot-CD besteht aus dem Boot-Teil und dem normalen ISO- (bzw. Joliet)-Teil. Unter Windows siehst du logischerweise nur den ISO-Teil, der Boot-Teil ist auf der einen CD wohl gar nicht vorhanden und auf der anderen schon (wird aber nicht angezeigt).
Ähnlich ist es, wenn ich eine Einzel-CD mit Win98SE bootfähig mache und meine Win98-Startdiskette als bootimage beim Brennen benutze. Eine _bootfähige_ und eine _nicht bootfähige_ Win98-CD sehen absolut identisch aus.
Jo, siehe obiger Absatz.
Als Brennersoftware benutze ich NERO - im Moment ist das "nero551015a" (ich ziehe mir die Updates etwa alle vier Wochen).
Ist nach meiner persönlichen Erfahrung die einfachste Software um bootfähige CDs zu erstellen. Jedoch bietet WinOnCD grade für - nennen wir es "benutzerdefinierte Boot-CDs" - entsprechende Optionen.
ZUm Vergleich: wenn ich mir eine (beliebige) LINUX-CD zusammenstellen möchte, geht das mit dem booten völlig problemlos. makeisofs hat da keine Rückfragen und packt mir drauf, was ich gerne haben möchte.
Aber wie sieht es hier mit einer "benutzerdefinierten Bootdisc" aus?
Grüsse
Lars
Hallo,
... Das kriege ich prinzipiell auch hin, wenn ich als bootimage meine Win98-Startdiskette nehme - aber da kriege ich dann ein Verhalten, als hätte ich eben von der Win98-Diskette gestartet.
Naja, dann ist die größte Hürde imho geschafft, ein DOS bootet dann ja schon.
Ich möchte aber gerne ein eigenes Startmenü haben, das mir die Auswahl anbietet, was ich denn nun gerne installieren bzw. reparieren möchte.
soweit ich weiß, hat die Bootdisk doch auch eine autostart.bat. Die müßte halt noch angepasst werden.
Am Ende der Autoexec kannst Du eine Anwendung starten, die das Menü beinhaltet.
Das könnte entweder über einfache Batch-Dateien abgewickelt werden[1], oder ein Script (ein Perl-Interpreter oder ähnliches läßt sich sicher auch in DOS starten), oder du machst Dir die Mühe und schreibst Dir eine Konsolenanwendung in einer Compiler-Sprache Deiner Wahl.
Grüße
Klaus
[1] Beispiel, wie man früher Benutzerführungen gebaut hat (*g*):
hauptmenu.bat:
@echo 1 fdisk
@echo 2 DOS installieren
@echo 3 win 3.11 installieren
@echo
@echo
1.bat:
fdisk
hauptmenu.bat
2.bat:
cd dos622
setup
hauptmenu.bat
usw.
Untermenüs kannst Du dann sinnvollerweise in Ordner unterbringen.
morgens,
soweit ich weiß, hat die Bootdisk doch auch eine autostart.bat.
Jaein. Zum Booten braucht die CD sowas nicht - egal, ob das Ding nun eine Stapelverarbeitungsdatei ist oder sonstwas. Allerdings läuft die "autorun"-Funktion (wenn man es denn so haben möchte) durchaus mit solchen Dateien. Das ist auch hinzukriegen, nur hat das mit dem Bootverhalten nix zu tun, sondern tritt erst dann in Aktion, wenn ich bereits ein fertiges System gestartet habe und bei laufendem System die CD einlege.
Ich habe es durchaus auch schon mit einer "autorun.inf" probiert, die dann eben auf so eine Stapelverarbeitungsdatei verweist. Damit läßt sich - wenn ich die Netzwerkkonfiguration des Rechners und seine IP kenne - sogar eine Internetverbindung aufbauen, aber leider nicht als Bootfunktion, sondern eben nur dann, wenn die CD bei bereits laufendem Rechner (das kann auch ein DOS-System sein) eingelegt wird. Sie soll aber beim Booten funktionieren, also _bevor_ das OS initialisiert wird.
Grüße aus Berlin
Christoph S.
Moin,
soweit ich weiß, hat die Bootdisk doch auch eine autostart.bat.
Jaein. Zum Booten braucht die CD sowas nicht
Jaein. Brauchen tut man die autoexec.bat auch unter DOS nicht, aber sie ist nützlich. Nochmal: Was du von der CD im Windows-Explorer siehst hat genau gar nichts mit dem zu tun, was für das Booten von dieser CD zuständig ist. Wie du schon herausgefunden hast, kann man mit El Torito (nur ein "r") ein Image auf der CD ablegen. Das BIOS ist dann dafür zuständig aus diesem Image ein Diskettenlaufwerk zu simulieren und davon zu booten. Am Einfachsten geht das indem du dir eine bootfähige Diskette machst, diese erstmal zum Booten, Testen und Debuggen verwendest und ein Image von der Diskette nachher für die CD verwendest.
So, nun zu deiner eigentlichen Anfrage. Am Einfachsten geht es indem du dir ein Startmenü nach MS-DOS-Manier baust. Das konfiguriert man über die config.sys (nicht über die autoexec.bat und schon gar nicht nach dieser). Wie das geht verrät dir die MS-DOS-Hilfe, die war damals nämlich noch nützlich. Am DOS-Prompt gibst du einfach
help config.sys [Enter]
ein und schon bist du im Hilfesystem. Falls du grade kein vollständiges MS-DOS zur Hand hast (ich sitze glücklicherweise grade neben einem), findest du die Doku auch über Google. Die Suchbegriffe config.sys, help und menuitem sollten zielführend sein.
In der Hilfe findest du erstmal eine Übersicht über all die Sachen die du in der config.sys einstellen kannst, und ein paar davon wirst du auch brauchen, wenn das funktionieren soll. Schau dir erstmal die Übersicht an und folge dann dem 'Link' "Befehle für mehrere Konfigurationen", da findest du dann die Hilfe zur Erstellung eines Startmenüs.
Dein endgültiges Ziel erreichst du indem du dir die Konfigurationen (erstmal nur die config.sys'sen) deiner Disketten die du zusammenstellen willst nimmst, und sie zusammen in eine config.sys packst. Jede sollte dabei ihren eigenen Block (die werden mit [blockname] eingeleitet) bekommen.
Dann baust du am Anfang einen Block namens Menu ein und definierst dort dein Startmenü wie in der Hilfe beschrieben, gegebenenfalls musst du die Menüs deiner Startdisketten als Submenüs einbinden.
Jetzt machst du das mit der autoexec.bat ganz ähnlich. Dort kannst du beim Zusammenfügen aber nicht solche komfortablen Blöcke verwenden, sondern musst DOS-Batchprogrammierung nutzen.
Im Wesentlichen wird das aber so aussehen:
if %CONFIG% == Blockname1 goto blockname1
if %CONFIG% == Blockname2 goto blockname2
....
:blockname1
...der Inhalt der ersten autoexec.bat
goto ende
:blockname2
...der Inhalt der zweiten autoexec.bat
goto ende
...
:ende
Das war die Grundanleitung. Wie und ob du jetzt alle Dateien von allen Disketten auf eine Diskette kriegst, oder gegebenenfalls noch weitere Tricks anwenden musst, kann ich noch nicht sagen.
Ein paar Ideen, ohne besondere Reihenfolge:
Ich habe es durchaus auch schon mit einer "autorun.inf" probiert, die dann eben auf so eine Stapelverarbeitungsdatei verweist.
Wie gesagt: Das Bootimage und der CD-Inhalt haben nichts direkt miteinander zu tun. Du kommst an den CD-Inhalt auch erst ran, wenn du einen CD-ROM-Treiber geladen hast. Diese sollten sich auf mindestens einer der Windows-Boot-Disketten befinden. Du brauchst eine dieser .sys-Dateien (der IDE-Treiber dürfte dir reichen, du kannst also die ASPI-Sachen (==SCSI) beiseite lassen) und die mscdex.exe.
Moin Moin !
Mit DOS-Mitteln alleine wirst Du früher oder später auf Probleme stoßen.
Es gibt mehrere "Bootmanager", die auf der CDROM ein Bootmenü implementieren, mit denen man verschiedene(!) Betriebssysteme als Diskimage, HDD-Image oder no-emulation-Programm starten kann, so daß sie sich eben nicht in die Quere kommen.
http://severinterrier.free.fr/Boot/CD-MultiBoot.htm#multimemdisk (französisch)
http://www.bootscriptor.org/
http://www.nu2.nu/diskemu/
http://911cd.tripod.com/other/links.html
Viel Spaß beim Weitersuchen! ;-)
Der Unterschied zwischen der bootfähigen und der nicht bootfähigen XP-CD dürfte darin liegen, daß die bootfähige XP-CD das Bootimage entweder versteckt oder gar nicht im Dateisystem eingetragen hat. So wie ich den Bootvorgang von W9x und W2K kenne, lädt MS erstmal einen minimalen Bootloader (im no-emulation-mode, schätze ich), der bei bootfähiger Festplatte das Booten von Festplatte anbietet. Danach wird ein Floppy-Image (auch bei W2K?) geladen, das das Setup startet.
Wie Du eine bootfähige W2K-CD mit Servicepacks bauen kannst, stand mal in der c't, so ähnlich sollte es auch mit XP funktionieren.
Alexander
hallo,
Mit DOS-Mitteln alleine wirst Du früher oder später auf Probleme stoßen.
Ja, leider. Aber Besseres war mir bisher nicht bekannt. Mit isolinux habe ich bisher nur LINUX-Krimskrams zum Laufen bringen können.
http://severinterrier.free.fr/Boot/CD-MultiBoot.htm#multimemdisk (französisch)
Französisch verstehe ich leider nicht.
http://www.bootscriptor.org/
http://www.nu2.nu/diskemu/
http://911cd.tripod.com/other/links.html
Oh, danke. Da gibts so ziemlich alles, was ich gesucht habe - jedenfalls erstmal nach den Beschreibungen. Hab ich ja was zu basteln ;-)
Wie Du eine bootfähige W2K-CD mit Servicepacks bauen kannst, stand mal in der c't, so ähnlich sollte es auch mit XP funktionieren.
Damit habe ich keine Probleme, und dafür hat mir Google auch eine ganze Menge geliefert.
Grüße aus Berlin
Christoph S.
Hallo Christian!
http://severinterrier.free.fr/Boot/CD-MultiBoot.htm#multimemdisk (französisch)
Französisch verstehe ich leider nicht.
Alles Gute aus Wien
flo
hi,
Hallo Christian!
huch, wen sprichst du jetzt an?
Ähm ... ja.
<grins-modus>
Du glaubst doch nicht im Ernst, daß ich babelfish noch nicht kennen würde. Leider - obwohl ich das Prinzip ganz hervorragend finde - sind die "Übersetzungen" nahezu durchgängig Lachnummern. Ja, ein bißchen hilft es schon, wenigstens das Gröbste zu begreifen. Aber irgendwo scheint da auch eine Begrenzung der Kapazität drin zu sein, bei dem von dir angegebenen link wird zum Beispiel der untere Teil ds HTML-Dokuments - bei dem es erst interessant wird - gar nicht erst übersetzt.
Macht aber in diesem Fall nix, weil es diese Seite auch in gutem Englisch gibt und ich mir die heute früh längst gezogen (und inzwischen auch für mich übersetzt) habe.
</grins-modus>
Knifflig ist das Teil trotzdem. Es sind alles relativ aktuelle tools, teilweise erst wenige Tage alt, aber wie bei manchen solchen Basteleien sieht man eher die Freude des Programmierers an seinem Können als ein schnuckliges kleines, handliches Progrämmchen.
Sehr interessant ist in diesem Zusammenhang auch http://support.microsoft.com/default.aspx?scid=kb;en-us;167685 - Microsoft erklärt, wie man mit "Diskedit" aus den Norton Utilities (was ja bekanntlich nicht "ihres" ist) eine bootfähige CD zaubern kann. Leider funktioniert das mit den jüngsten Norton Utilities nicht mehr ...
Alles Gute aus Wien
Alles Gute aus Berlin
Christoph S.