Ich verwende Linux als mein primäres Betriebssystem und starte FreeDOS in einer virtuellen Maschine. Die meiste Zeit verwende ich QEMU als PC-Emulator, aber manchmal führe ich andere Experimente mit GNOME-Boxen (die QEMU als virtuelle Back-End-Maschine verwendet) oder mit VirtualBox durch.
Ich spiele gerne klassische DOS-Spiele, und manchmal rufe ich eine Lieblings-DOS-Anwendung auf. Ich unterrichte einen Kurs für Management-Informationssysteme (MIS), in dem ich über die Geschichte des Computers spreche, und ich zeichne manchmal eine Demonstration mit FreeDOS und einer älteren DOS-Anwendung wie As-Easy-As (meine Lieblings-DOS-Tabelle – nach der Veröffentlichung) auf als “Shareware”, aber jetzt kostenlos bei TRIUS, Inc. erhältlich).
Aber wenn ich FreeDOS auf diese Weise verwende, muss ich Dateien zwischen meiner virtuellen FreeDOS-Maschine und meinem Linux-Desktop-System übertragen. Lassen Sie mich Ihnen zeigen, wie ich das mache.
Zugriff auf das Image mit guestmount
Früher habe ich auf mein virtuelles Festplatten-Image zugegriffen, indem ich den Offset zur ersten DOS-Partition berechnet und dann das Linux aufgerufen habe mount
Befehl mit der richtigen Mischung von Optionen, um diesem Offset zu entsprechen. Das war immer fehleranfällig und wenig flexibel. Glücklicherweise gibt es einen einfacheren Weg. Die guestmount
Programm aus dem libguestfs-tools-Paket ermöglicht den Zugriff auf oder montieren das virtuelle Festplatten-Image von Linux. Sie können installieren libguestfs-tools
Verwenden Sie diesen Befehl auf Fedora:
$ yum install libguestfs-tools libguestfs
Verwenden von guestmount
ist nicht so einfach wie ein Doppelklick auf die Datei im GNOME-Dateimanager, aber die Befehlszeile ist nicht allzu schwierig zu verwenden. Die grundlegende Verwendung von guestmount
ist:
$ guestmount -a image -m device mountpoint
Bei dieser Verwendung Bild ist das zu verwendende virtuelle Festplatten-Image. Auf meinem System habe ich mein virtuelles QEMU-Festplattenimage mit dem . erstellt qemu-img
Befehl. Das guestmount
Programm kann dieses Disk-Image-Format sowie das von GNOME-Boxen verwendete QCOW2-Image-Format oder das in VirtualBox verwendete VDI-Image-Format lesen.
Die Gerät Option gibt die Partition auf der virtuellen Festplatte an. Stellen Sie sich vor, Sie verwenden diese virtuelle Festplatte als echte Festplatte. Sie würden auf die erste Partition zugreifen als /dev/sda1
, die zweite Partition als /dev/sda2
, und so weiter. Das ist die Syntax für guestmount
. Standardmäßig erstellt FreeDOS 1.3 RC4 eine Partition auf einem leeren Laufwerk, greifen Sie also auf diese Partition wie /dev/sda1
.
Und Einhängepunkt ist der Ort zum “mounten” des DOS-Dateisystems auf Ihrem lokalen Linux-System. Normalerweise erstelle ich ein temporäres Verzeichnis, mit dem ich arbeiten kann. Sie benötigen den Bereitstellungspunkt nur, während Sie auf die virtuelle Festplatte zugreifen.
Zusammenfassend verwende ich diesen Befehlssatz, um von Linux aus auf mein virtuelles FreeDOS-Festplattenimage zuzugreifen:
$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos
Danach kann ich über das auf meine FreeDOS-Dateien zugreifen /tmp/freedos
Verzeichnis mit normalen Tools unter Linux. könnte ich verwenden ls /tmp/freedos
in der Befehlszeile oder öffnen Sie das /tmp/freedos
Mount-Punkt mit dem Desktop-Dateimanager.
$ ls -l /tmp/freedos
total 216
drwxr-xr-x. 5 root root 8192 May 10 15:53 APPS
-rwxr-xr-x. 1 root root 85048 Apr 30 07:54 COMMAND.COM
-rwxr-xr-x. 1 root root 103 May 13 15:48 CONFIG.SYS
drwxr-xr-x. 5 root root 8192 May 15 16:52 DEVEL
drwxr-xr-x. 2 root root 8192 May 15 13:36 EDLIN
-rwxr-xr-x. 1 root root 1821 May 10 15:57 FDAUTO.BAT
-rwxr-xr-x. 1 root root 740 May 13 15:47 FDCONFIG.SYS
drwxr-xr-x. 10 root root 8192 May 10 15:49 FDOS
-rwxr-xr-x. 1 root root 46685 Apr 30 07:54 KERNEL.SYS
drwxr-xr-x. 2 root root 8192 May 10 15:57 SRC
-rwxr-xr-x. 1 root root 3190 May 16 08:34 SRC.ZIP
drwxr-xr-x. 3 root root 8192 May 11 18:33 TEMP
gnome-file-manager.png
Verwenden des GNOME-Dateimanagers für den Zugriff auf die virtuelle Festplatte
(Jim Halle, CC-BY SA 4.0)
Um zum Beispiel mehrere C-Quelldateien von meinem Linux zu kopieren projects
Verzeichnis in C:SRC
auf dem virtuellen Disk-Image, damit ich die Dateien später unter FreeDOS verwenden kann, kann ich das Linux verwenden cp
Befehl:
$ cp /home/jhall/projects/*.c /tmp/freedos/SRC
Die Dateien und Verzeichnisse auf dem virtuellen Laufwerk sind technisch Groß-/Kleinschreibung nicht beachten, sodass Sie mit Groß- oder Kleinbuchstaben darauf verweisen können. Ich finde es jedoch natürlicher, DOS-Dateien und -Verzeichnisse in Großbuchstaben einzugeben.
$ ls /tmp/freedos
APPS CONFIG.SYS EDLIN FDCONFIG.SYS KERNEL.SYS SRC.ZIP
COMMAND.COM DEVEL FDAUTO.BAT FDOS SRC TEMP
$ ls /tmp/freedos/EDLIN
EDLIN.EXE MAKEFILE.OW
$ ls /tmp/freedos/edlin
EDLIN.EXE MAKEFILE.OW
Abhängen mit guestmount
Du solltest immer abmontieren das Image der virtuellen Festplatte, bevor Sie es erneut in Ihrer virtuellen Maschine verwenden. Wenn Sie das Image gemountet lassen, während Sie QEMU oder VirtualBox ausführen, riskieren Sie, dass Ihre Dateien durcheinander gebracht werden.
Der Companion-Befehl zu guestmount
ist guestunmount
, um das Disk-Image auszuhängen. Geben Sie einfach den Mountpunkt an, den Sie aushängen möchten:
$ guestunmount /tmp/freedos
Beachten Sie, dass dieser Befehl etwas anders geschrieben ist als der von Linux umount
Systembefehl.