Ich bin gerade dabei, meinem Computer eine kleine MS-DOS-Partition hinzuzufügen, die hauptsächlich zum Testen alter benutzerdefinierter Hardware mit QuickBasic verwendet wird. Ja, ichTrotzdemVerwenden Sie den Parallelport.
Ich habe es geschafft, eine bootfähige MS-DOS-CD zu erstellen, möchte aber nicht jedes Mal, wenn ich MS-DOS booten möchte, die CD in das Laufwerk einlegen müssen.
Folgendes habe ich bisher ohne Erfolg versucht:
- Ich habe das Image in Linux als Laufwerk gemountet.
- Ich habe das Image auf die Festplatte kopiert (mit DD), sodass der Rohinhalt des Images auf die neue Partition übertragen wird.
- Ich habe die Auflistung des Zielordners geprüft und es scheint, dass alle Dateien problemlos kopiert wurden (ca. 1,5 MB).
- Ich habe die LILO-Konfiguration geändert, um die neue DOS-Partition hinzuzufügen, die auf den richtigen Gerätepfad verweist, sodass sie mir beim Neustart als Option zur Verfügung steht.
Als ich nun versuchte, auf die neue Partition zuzugreifen (nachdem ich sie aus dem LILO-Menü ausgewählt hatte), durchsuchte mein System zuerst das Diskettenlaufwerk (ich glaube, es handelt sich um eine Bootdiskette?) und ich erhielt diese Meldung:
Non-System disk or disk error
Replace and press any key when ready
Ohne ein Medium einzulegen, habe ich eine Taste gedrückt und bin zum LILO-Menü zurückgekehrt.
Die einzige Lösung, die mir einfällt (die allerdings mühsam ist (da es keine Disketten mehr gibt), besteht darin, irgendwie eine bootfähige Diskette zu besorgen und den Sys-Befehl auszuführen).
Gibt es eine Möglichkeit, diesen sys.com
Befehl in einer Nur-Unix-Shell auszuführen, oder gibt es eine bessere Möglichkeit, dieses Dateisystem zu booten, ohne den ganzen Aufwand mit dem Erstellen einer Diskette aufbringen zu müssen?
Antwort1
Wenn Sie mit dem Booten von Diskette einverstanden sind, dann denke ich, dass das Booten von einem USB-Flash-Laufwerk Ihren Anforderungen entspricht. Sie können Open-Source-Programm herunterladenrufus
und erstellen Sie Ihren eigenen bootfähigen Flash-Speicher, der von jedem Computer aus gestartet werden kann, auch wenn dieser vor 10 Jahren gebaut wurde.
rufus
kann Ihnen ein bootfähiges Flash-Laufwerk mit DOS-Image erstellen, auch wenn Sie kein Original-Image von DOS haben, aber es gibt einige Details, die Sie wissen müssen, - der Autor bietet zwei Images an - natives DOS und FreeDOS. FreeDOS funktioniert nicht immer mit einigen wählerischen DOS-Programmen und die DOS-Version wird tatsächlich von der Maschine extrahiert, auf der Sie laufenrufus
. (Um rechtliche Konflikte zu vermeiden, extrahieren Sie das DOS-Image aus einem Programm, diskcopy.dll
das auf allen Windows-Versionen bis einschließlich Windows 10 vorhanden war.) Obwohl es immer noch eine legale Möglichkeit ist, es zu brennen, funktioniert es nicht immer, wenn Sie den echten Real-CPU-Modus benötigen, da die Kopie des DOS-Images diskcopy.dll
tatsächlich DOS 7+ ist, das die Real-Mode-Unterstützung entfernt hat, sodass DOS im geschützten Modus mit integriertem HIMEM startet. Weitere Einzelheiten dazu finden Sie beim ursprünglichen Autor vonrufus
Hier. Mein Rat ist, das Originalimage von MSDOS 6.22 zu suchen und es mit dem oben beschriebenen Programm zu brennen.
Eine andere Lösung besteht darin,TFTPServer und verwenden Sie die PXE-Funktion, die auf vielen Computern verfügbar ist. Auf diese Weise können Sie ein MSDOS-Image auf einem TFTP-Server hosten und direkt über das Netzwerk booten. Wenn Sie mit Linux vertraut sind, können Sie einen PXE-Server erstellen mitISOLINUXund hosten Sie so viele unterschiedliche Images wie Sie benötigen und booten Sie diese bei Bedarf (sehr praktisch, wenn Sie unterschiedliche Tools benötigen).
Gibt es eine Möglichkeit, diesen sys.com-Befehl irgendwie in einer Nur-Unix-Shell auszuführen, oder gibt es eine bessere Möglichkeit, dieses Dateisystem zu booten, ohne den ganzen Aufwand mit dem Erstellen einer Diskette aufbringen zu müssen?
Unix-Kernel arbeiten im geschützten Modus. Wenn Sie etwas von der Shell aus ausführen, haben Sie nicht die Freiheit des Realmodus. Wenn Sie keinen direkten Zugriff auf die Hardware benötigen, gibt es Pakete, die DOS emulieren:DOS-Datei,DOSboxdie Sie mit Ihren Programmen ausprobieren können.
Antwort2
Das Kopieren eines CD-ROM-Images auf eine DOS-Partition einer Festplatte funktioniert nicht. Das CD-Image hat ein anderes Format.
Die Festplattenpartition (achten Sie darauf, dass es die erste ist) muss als FAT formatiert sein und benötigt den DOS-Bootloader. Im Prinzip sollte es möglich sein, den Bootloader mit zu kopieren dd
, aber ich konnte nicht schnell ein passendes Image googeln.
Eine andere Möglichkeit wäre, ein DOS-Image zu starten dosemu
oder dosbox
sogar qemu
damit zu arbeiten, die Konfiguration so zu bearbeiten, dass die Festplatte der VM zur Verfügung steht, und es dann sys
innerhalb der VM auszuführen.
Und natürlich können Sie alle Ihre Tests auch von vornherein von der VM aus durchführen, solange Sie der VM die Hardware zur Verfügung stellen können (ein paralleler Port sollte kein Problem sein). Dann müssen Sie nicht neu starten und benötigen keine spezielle Partition dafür.