pxe boot dos 7.x / 8.x auf einem modernen Mainboard ohne Floppy-Controller

1994
GitaarLAB

Wie booten Sie MS DOS 7.x / 8.x auf einem modernen PC (Mainboard ohne Diskettencontroller) ohne Verwendung eines externen USB-Diskettenlaufwerks?

MS DOS 6.22 und frühere Versionen oder andere Versionen von pxe booten auf floppy-loser Hardware. Bei DOS 7.x und 8.x wird jedoch beim Booten ein Fehler angezeigt: "Geben Sie den Namen des Befehlsinterpreters ein (z. B. C: \ WINDOWS \ COMMAND.COM)".

Ich habe irgendwo während der Recherche gelesen, dass dies ein ziemlich unbekannter Fehler war, der aufgrund des Aufkommens von Hardware ohne Floppy-Controller immer häufiger wurde.
Auf einigen (bios-abhängigen) Hardwarekomponenten könnte man vor dem Booten ein USB-Diskettenlaufwerk in den Computer einstecken (aber MÖCHTEN auch erforderlich, dass es sich um ein " goldenes Diskettenlaufwerk " handelt (wie sie damals genannt wurden)).

Von einer russischen Seite (ich habe vor etwa einem Jahr gelesen und konnte den Hyperlink nicht finden). MS-Dos-Versionen> 6.22 haben während der Initialisierung eine Art Floppy-Laufwerk-Reset durchgeführt, und da es keine Verbindung zum Floppy-Host herstellen konnte, ist der Fehler aufgetreten.

Wie kann ich das beheben (ohne physische externe USB-Diskette)?
Könnte es eine Art virtueller Floppy-Treiber geben, der dies beheben könnte (zum Beispiel vor dem Laden des DOS-Images geladen werden soll)?

Oder könnte mir jemand in die richtige Richtung weisen (vielleicht sogar eine Hex-Adresse und einige weitere Erklärungen oder so)?

Ich verwende syslinux + memdisk übrigens, aber ich habe gesehen, wie dieser Fehler in einigen Symantec- und HP LAN-Imaging-Foren auftauchte (wo er normalerweise durch den Erwerb und die Verwendung von DOS6.22 behoben wurde).

Edit:
Totally vergessen, dass ich vor 2 Jahren einen (jetzt tot) Link in einem Kommentar gepostet habe, aber es ist immer noch im Archiv !! Zitat:

  • Probleme / Symptome:
    Fehlerhafter oder fehlender Befehlsinterpreter beim Imaging über PXE-Startmenü oder verwalteter Start.
    Geben Sie den Namen des
    Befehlsinterpreterfehlers ein: Fehlender Befehlsinterpreter
  • Ursache: Der
    Computer hat keinen Diskettencontroller oder der Diskettencontroller ist im BIOS deaktiviert.
    Windows 98 DOS erfordert einen Diskettencontroller.
  • Korrektur:
    Wenn der Computer über einen Diskettencontroller verfügt, aktivieren Sie ihn im BIOS.
    Wenn das Gerät keinen Diskettencontroller hat, laden Sie den beiliegenden Patch PXE 4.03a herunter und befolgen Sie die Anweisungen unten
1

3 Antworten auf die Frage

2
Pat

Warum nicht der klassische pxelinux / memdisk-Ansatz?

LABEL 1 Menübezeichnung
Dos-
Kernel Memdisk
anhängen initrd = DOS.img

bearbeiten

memdisk ist in der Lage, eine Festplatte, eine CD, eine Diskette usw. zu emulieren. Manchmal ist es gut, Ihr Image zu analysieren und zu erkennen, was Sie mounten möchten, und manchmal müssen Sie es mit einer Befehlszeile sagen.

für eine DOS-Diskette verwenden Sie einfach

Initrd = DOS.img anhängen

oder

Initrd anhängen = DOS.img edd

oder

Initrd = DOS.img-Diskette anhängen

Die Unterschiede werden auf der Memedisk- Seite erklärt. Sie erzwingen grundsätzlich verschiedene Emulationsmodi.

dh edd = Emulation der Enhanced Disk Drive Services für Disketten

wenn sie sagen, "Windows 98 DOS erfordert einen Diskettencontroller." es ist nicht wahr; Bei dieser Stufe berührt niemand den Diskettencontroller, aber das BIOS int 13h; und dieser Interrupt emuliert memdisk. Die verschiedenen Modi wirken sich auf den zurückgegebenen Wert von int 13h aus, ah = 15h -> Laufwerkstyp abrufen

Genau das mache ich. Auf jedem Computer in meinem Heim, der einen Disketten-Host-Controller (und ein leeres Diskettenlaufwerk) hat, funktioniert das Image von ms-dos 7.x (oder 8.x) normal. Aber auf jedem Computer ohne (z. B. dem Dell ZFS-Server oder einem Notebook) funktioniert das gleiche Bild nicht und rendert den (in der Frage) beschriebenen Fehler. Wenn Sie jedoch ein ms-dos <= 6.22-Image (oder kein ms-dos) auf diesen Computern laden, werden sie normal gestartet. GitaarLAB vor 12 Jahren 0
Wie wäre es, COMSPEC = a: \ command.com zur autoexec hinzuzufügen? Der Trick könnte darin bestehen, den Laufwerksbuchstaben zu wissen, von dem aus der Startvorgang tatsächlich gestartet wird, der sich aber auch auf demselben Bat befindet. Pat vor 12 Jahren 0
tat das und das wäre ein toller Tipp gewesen, wenn es geklappt hätte. Abgesehen davon, wenn ich eine 6.22 (zum Beispiel) mit derselben syslinux / memdisk-Kombination boote, ist das Bootdrive (das msdos meldet) A, daher sollte dies auch kein Problem sein. Wenn ich jedoch ein ('goldenes') USB-Diskettenlaufwerk (leer) einstecke, starten Sie 7.x / 8.x normal (und meldet A als Boot-Laufwerk). Das Problem liegt im Dos-Kernel, der etwas mit einem Floppy-Host-Controller unternehmen möchte. Ziemlich sicher (wie andere große Unternehmen wie HP und Landesk bestätigen). Reproduzieren Sie es ?: Nehmen Sie ein neues Notebook, das das Win98-Setup-Image nicht berührt. GitaarLAB vor 12 Jahren 0
Versuchen Sie es mit "APPEND initrd = DOS.img edd", wenn Ihr Image ein Disketten-Image ist, das die BIOS Enhanced Disk Drive Services auf emulierten Disketten hinzufügt Pat vor 12 Jahren 1
Ich habe "APPEND initrd = DOS.img Floppy Raw" verwendet. Das Entfernen des RAW (zum Beispiel Ersetzen durch Edd, wie Sie vorgeschlagen haben) hat funktioniert. Auch ohne die "Floppy" oder "Edd" funktionierte beim Booten von MS DOS> 6.22. Die Grundannahme für meine Frage, in der [von landesk berichtet] (http://community.landesk.com/support/docs/DOC-1430) (beispielsweise oder HP) behauptet: "Windows 98 DOS erfordert einen Diskettencontroller." Könnten Sie bitte Ihre Antwort (für zukünftige Leser) ausarbeiten und aktualisieren und vielleicht den Unterschied zwischen "Floppy", "Floppy Raw", "Edd" und "Floppy Edd" erklären. Vielen Dank bis jetzt !!! GitaarLAB vor 12 Jahren 0
Memdisk kann eine Festplatte, eine CD, eine Diskette usw. emulieren. Manchmal entdeckt es automatisch, was Sie mounten möchten, aber manchmal müssen Sie es mit Befehlszeilen unterstützen. Wenn sie sagen "benötigt einen Diskettencontroller" ist nicht wahr, auf dieser Ebene berührt niemand wirklich den Diskettencontroller, aber das BIOS int 13h; Memdisk emuliert diesen Interrupt. Jetzt haben Sie Memdisk angewiesen, ein Diskettenlaufwerk zu emulieren und alles funktioniert wie vorgesehen. Pat vor 12 Jahren 0
@Pat Es ist nicht mehr wirklich relevant für diese Antwort, aber um autoexec.bat auszuführen, muss der Befehlsinterpreter geladen worden sein. Es ist möglicherweise möglich, Dinge über config.sys ohne Befehlsinterpreter einzurichten, nicht jedoch autoexec.bat. a CVn vor 12 Jahren 0
Nun, wenn eine funktionierende autoexec.bat eine App gestartet hat und die App zurückkehrt und der residente Teil des Betriebssystems den Pfad zu command.com nicht abrufen kann, haben Sie eine autoexec.bat ausgeführt, die dieselbe Fehlermeldung anzeigt ... Pat vor 12 Jahren 0
@ MichaelKjörling: Setze was durch config.sys? @Pat: Soweit es aktuell aussieht, scheint auch das Entfernen des "raw" -Schalters (also das Nicht-Verwenden des "edd" -Schalters) zu funktionieren (den Zugriff auf command.com zu ermöglichen oder ihn auszuführen). Ich frage mich auch, ob und wie sich die Schalter "raw", "bigraw" und "int" auf "Real Mode" im Vergleich zu "Protected Mode" beziehen und ob der offizielle Microsoft "Real Mode" -Patch für DOS 8.0 das "vorsätzliche Problem" beheben könnte "Absturz in ME / XP-Dateien, die auf der Memdisk-Seite erwähnt werden. GitaarLAB vor 12 Jahren 0
Dies ist alles realer Modus, wenn der Code in den geschützten Modus memdisk verschoben wird. In diesem Moment wird auf die Festplatten von Treibern und nicht von int-Aufrufen des BIOS wie Memdisk-Emulation zugegriffen Pat vor 12 Jahren 0
@GitaarLAB Zum Beispiel Gerätetreiber laden. Es ist lange her, aber wurde nicht auch in config.sys COMSPEC eingestellt? Und so weiter. @ Pat hat zwar einen Punkt darüber, dass das Betriebssystem den Befehlsinterpreter neu laden muss, aber das war nicht wirklich das, was ich mir vorgestellt hatte. a CVn vor 12 Jahren 0
0
William Hilsum

Nahezu jede Maschine in den letzten 5 Jahren unterstützt die integrierte PXE-Plattform. PXE-Startdisketten waren einfach erforderlich, wenn die Maschine keine integrierte PXE-Unterstützung hatte. Die Festplatte würde also die Umgebung emulieren.

Suchen Sie im BIOS / EFI nach "Network Boot" und prüfen Sie, ob Sie es aktivieren können ... Manchmal müssen Sie F11oder F12während des Startvorgangs drücken (dies kann sich jedoch ändern).

Wenn es nicht aktiviert war, wie habe ich pxe-boot dos 6.22 oder das Menüsystem aktiviert? : P GitaarLAB vor 12 Jahren 0
0
TOOGAM

Wenn Sie eine Anforderung für COMMAND.COM erhalten, sieht es so aus, als würde IO.SYS in Ordnung geladen.

Stellen Sie daher sicher, dass es eine CONFIG.SYS-Datei gibt, die definiert, dass COMSPEC auf die COMMAND.COM-Datei verweist, wo auch immer COMMAND.COM sich versteckt.

Ich bin nicht sicher, ob dies alle Ihre Fragen beantwortet, aber es beantwortet mindestens eine, die Sie hatten.

Vielen Dank für Ihre Antwort, leider ist das * nicht * das Problem. Das Problem ist, dass ab 6.22 (bis 8) eine absichtliche "Einschränkung" vorliegt. MS wollte absichtlich * nicht *, dass Win95 / 98 / ME -Datenträger auf Geräten ohne Diskette geladen werden sollten (damals war es ein Problem mit eingebetteten Geräten). Es ist kein Problem, diese DOS-Versionen unter Emulation von Sachen auszuführen, es ist nur so, dass man sie nicht RAW booten kann (wie andere DOS-Versionen oder Versionen bis einschließlich 6.22). Und natürlich ... ohne RAW-Zugriff funktionieren die älteren forensischen Tools * nicht *. Es soll einen Patch geben, aber ich kann ihn nicht mehr finden. GitaarLAB vor 9 Jahren 0
Sie liefern widersprüchliche Details zu Version 6.22. Aber die Realität ist, dass 6.22 Boots einfach gut laufen und zu diesem Zweck vermarktet wurden. MS-DOS 7 funktioniert auch einwandfrei. Ich bin mit den Verhaltensweisen vertraut, auf die Sie sich beziehen, und diese "absichtlichen" Einschränkungen sind ziemlich spezifisch für Windows ME. Der "Patch", auf den Sie sich beziehen, könnte als "Cracking" -Material betrachtet werden, das meine Fähigkeit einschränkt, Ihnen Hinweise darauf zu geben. Möglicherweise möchten Sie jedoch nach einer saubereren Lösung suchen, bei der keine Bytes in offiziellen Dateien geändert wurden. Diese weniger bekannte Alternative betraf SYSTEM \ VMM32.VXD TOOGAM vor 9 Jahren 0
Es tut mir leid für meinen Sprachfehler: Ich meine immer noch: 6.22 (und Krieger's 6.31) werden im Raw-Modus (memdisk) problemlos booten. Ich glaube, ich konnte 98SE DOS nicht zum Laufen bringen (Ich habe nie das Standalone-DOS7 von 98> W2K-Update ausprobiert, wusste gar nicht, dass es existierte, ist dies die DOS7, auf die Sie sich beziehen?). Beachte, es ist jetzt schon 2 Jahre her, ich schreibe das aus Erinnerung. Ich kann die Quelle / den Autor nicht mehr finden, die das Problem spezifisch auf das Fehlen eines Diskettencontrollers oder einer FDD-Schnittstelle auf dem Mainboard festgelegt hat. GitaarLAB vor 9 Jahren 0
Hier ist jedoch eine identische Beschreibung: http://h30499.www3.hp.com/t5/Business-PCs-Compaq-Elite-Pro/HP-DC7100c-PXE-boot-ohne-floppy-drive-installed/td-p / 500327 (und ich habe den Verdacht, dass [dieser]] (http://h30499.www3.hp.com/t5/Workstations-z-series-xw-series/dc5800-SFF-PXE-boot-fail/td-p/ 4195803) bis). Ich bin aber immer noch * sehr neugierig auf was auch immer * man kann und / oder eine erneute Bestätigung, dass dies tatsächlich auf mangelnde Floppy (Host ???) - Controller zurückzuführen ist. Sie weisen auch auf eine Lösung [system \ vmm32.vxd] (http://www.helpwithwindows.com/techfiles/vmm32.html) hin? GitaarLAB vor 9 Jahren 0