Das Hinzufügen von DOS 6.22-Startpartitionen innerhalb von Linux schlägt fehl

478
Mike

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, ich benutze immer noch den Parallelport.

Ich habe es geschafft, eine bootfähige MS-DOS-CD zu erstellen, aber ich möchte die CD nicht jedes Mal in das Laufwerk einlegen, wenn ich in MS-DOS booten möchte.

Folgendes habe ich ausprobiert und bisher ohne Erfolg:

  1. Ich habe das Image in Linux als Laufwerk gemountet.
  2. Ich habe das Image von der Festplatte kopiert (mit DD), damit der Rohinhalt des Images auf die neue Partition übertragen wird.
  3. Ich habe die Auflistung des Zielordners geprüft und es scheint, dass alle Dateien einwandfrei kopiert werden (etwa 1,5 MB).
  4. Ich habe die LILO-Konfiguration geändert, um die neue DOS-Partition hinzuzufügen, die auf den richtigen Gerätepfad zeigt, so dass ich sie beim Neustart optional habe.

Wenn ich nun versucht habe, auf die neue Partition zuzugreifen (nachdem ich sie aus dem LILO-Menü ausgewählt habe), scannt mein System zuerst das Diskettenlaufwerk (von dem ich glaube, dass es sich um eine Bootdiskette handelt?), Und dann diese Meldung

 Non-System disk or disk error Replace and press any key when ready 

Ohne Medien einzulegen, drückte ich eine Taste und ich kehr zum LILO-Menü zurück.

Die einzige Lösung, die ich mir vorstellen kann, ist langweilig (da Disketten nicht mehr verfügbar sind), irgendwie eine Diskette zu bekommen, die bootfähig ist, und den Befehl sys auszuführen.

Gibt es eine Möglichkeit, diesen sys.comBefehl irgendwie in einer Unix-only-Shell auszuführen, oder gibt es eine bessere Möglichkeit, dieses Dateisystem booten zu lassen, ohne das Lied und den Tanz einer Diskette zu machen?

3
Diese "neue Partition" soll die erste primäre Partition in der MBR-Partitionstabelle sein, die als FAT-16 formatiert ist. Wenn nicht, wird DOS nicht gestartet - der Boot-Record (die von Ihnen erhaltene Nachricht ist eine) durchsucht die IO.SYS-Datei in einer von mir beschriebenen Partition. PS. Warum verwenden Sie keine virtuelle Maschine? Akina vor 6 Jahren 0

2 Antworten auf die Frage

1
Alex

Nun, wenn Sie von Diskette booten möchten, denke ich, dass das Booten von einem USB-Flash-Laufwerk Ihre Anforderungen erfüllt. Sie können ein Open Source-Programm herunterladen rufusund ein eigenes startfähiges Flash-Laufwerk erstellen, das von jedem Computer aus gestartet werden kann, der vor 10 Jahren gebaut wurde.

rufusSie können ein bootfähiges Flash-Laufwerk mit einem DOS-Image erstellen, auch wenn Sie kein Original-Image von DOS haben. Es gibt jedoch einige Details, die Sie kennen müssen. - Der Autor bietet zwei Images - natives DOS und FreeDOS. FreeDOS funktioniert nicht immer mit einigen wählerischen DOS-Programmen und DOS-Versionen, die tatsächlich von der Maschine extrahiert wurden, auf der Sie laufen rufus. (Um einen Konflikt zu vermeiden, war das Programm zum Extrahieren des DOS-Abbilds diskcopy.dllin allen Fenstern bis einschließlich Windows 10 enthalten.) Obwohl es immer noch legal ist, es zu brennen, funktioniert es nicht immer, wenn Sie einen echten CPU-Modus benötigen Das DOS-Abbild von diskcopy.dllist in der Tat DOS 7+, das die Unterstützung für den Realmodus entfernt hat. DOS wird daher im geschützten Modus mit HIMEM gestartet. Weitere Details dazu finden Sie vom Originalautor von hierrufus . Mein Rat ist, das Originalbild von MSDOS 6.22 zu finden und mit dem oben beschriebenen Programm zu brennen.

Eine andere Lösung besteht darin, einen TFTP- Server einzurichten und die PXE-Funktion zu verwenden, 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 mit ISOLINUX einen PXE-Server erstellen und so viele verschiedene Images hosten, wie Sie benötigen, und nach Bedarf booten (sehr praktisch, wenn Sie andere Tools benötigen).

Gibt es eine Möglichkeit, diesen Befehl sys.com irgendwie in einer Unix-Shell auszuführen, oder gibt es eine bessere Möglichkeit, dieses Dateisystem booten zu lassen, ohne das Lied und den Tanz einer Diskette zu machen?

Unix-Kernel, die im geschützten Modus arbeiten, wenn Sie alles von der Shell aus ausführen, haben keine Freiheit für den echten Modus. Wenn Sie keinen direkten Zugriff auf Hardware benötigen, gibt es Pakete, die DOS emulieren: DOSemu, DOSbox, die Sie mit Ihren Programmen ausprobieren können.

0
dirkt

Das Ablegen eines CD-ROM-Images auf einer DOS-Partition der Festplatte funktioniert nicht. Das CD-Image hat ein anderes Format.

Die Festplattenpartition (stellen Sie sicher, dass sie 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 finden.

Eine andere Möglichkeit wäre, zu starten dosemuoder dosboxsogar qemumit einem DOS-Image, die Konfiguration zu bearbeiten, um diese Festplatte für die VM verfügbar zu machen, und sie dann sysinnerhalb der VM auszuführen .

Natürlich können Sie auch alle Tests von der VM aus durchführen, sofern Sie die Hardware für die VM verfügbar machen können (der parallele Anschluss sollte kein Problem sein). Dann müssen Sie nicht neu starten und benötigen dafür keine spezielle Partition.