Ich verwende Linux als mein primäres Betriebssystem und starte FreeDOS in einer virtuellen Maschine. Meistens verwende ich QEMU als meinen PC-Emulator, aber manchmal führe ich andere Experimente mit GNOME Boxes (das QEMU als virtuelle Back-End-Maschine verwendet) oder mit VirtualBox durch.
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Ich spiele gerne klassische DOS-Spiele und manchmal rufe ich eine Lieblings-DOS-Anwendung auf. Ich unterrichte eine Klasse für Management-Informationssysteme (MIS), in der ich über die Geschichte der Computertechnik spreche, und ich werde manchmal eine Demonstration mit FreeDOS und einer älteren DOS-Anwendung wie As-Easy-As (meine Lieblings-DOS-Tabellenkalkulation – sobald sie veröffentlicht wurde) aufzeichnen als "Shareware", aber jetzt kostenlos von TRIUS, Inc. erhältlich).
Aber die Verwendung von FreeDOS auf diese Weise bedeutet, dass ich Dateien zwischen meiner virtuellen FreeDOS-Maschine und meinem Linux-Desktopsystem übertragen muss. 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 den Linux-mount
aufgerufen habe Befehl mit der richtigen Mischung von Optionen, um diesen Offset abzugleichen. Das war immer fehleranfällig und wenig flexibel. Glücklicherweise gibt es einen einfacheren Weg, dies zu tun. Das uestmount
Programm aus dem libguestfs-tools-Paket können Sie darauf zugreifen oder mounten das Image der virtuellen Festplatte von Linux. Sie können libguestfs-tools
installieren mit diesem Befehl auf Fedora:
$ yum install libguestfs-tools libguestfs
Verwenden von uestmount
ist nicht so einfach wie das Doppelklicken auf die Datei im GNOME-Dateimanager, aber die Verwendung der Befehlszeile ist nicht allzu schwierig. Die grundlegende Verwendung von uestmount
ist:
$ guestmount -a image -m device mountpoint
In dieser Verwendung Bild ist das zu verwendende Image der virtuellen Festplatte. Auf meinem System habe ich mein virtuelles QEMU-Festplatten-Image mit dem qemu-img
erstellt Befehl. Der guestmount
Das Programm kann dieses Disk-Image-Format sowie das von GNOME Boxes verwendete QCOW2-Image-Format oder das in VirtualBox verwendete VDI-Image-Format lesen.
Das 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 als /dev/sda1
zugreifen , die zweite Partition als /dev/sda2
, und so weiter. Das ist die Syntax für uestmount
. Standardmäßig erstellt FreeDOS 1.3 RC4 eine Partition auf einem leeren Laufwerk, greifen Sie also als /dev/sda1
auf diese Partition zu .
Und Einhängepunkt ist der Ort, an dem das DOS-Dateisystem auf Ihrem lokalen Linux-System "gemountet" wird. Normalerweise erstelle ich ein temporäres Verzeichnis, mit dem ich arbeiten kann. Sie benötigen den Einhängepunkt nur, während Sie auf die virtuelle Festplatte zugreifen.
Zusammenfassend verwende ich diese Befehle, um von Linux aus auf mein virtuelles FreeDOS-Festplatten-Image zuzugreifen:
$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos
Danach kann ich über die /tmp/freedos
auf meine FreeDOS-Dateien zugreifen Verzeichnis mit normalen Tools unter Linux. Ich könnte ls /tmp/freedos
verwenden in der Befehlszeile oder öffnen Sie die Datei /tmp/freedos
Einhängepunkt 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
Zum Beispiel, um mehrere C-Quelldateien aus meinen Linux projects
zu kopieren Verzeichnis in C:\SRC
auf dem Image der virtuellen Festplatte, damit ich die Dateien später unter FreeDOS verwenden kann, kann ich das Linux cp
verwenden Befehl:
$ cp /home/jhall/projects/*.c /tmp/freedos/SRC
Bei den Dateien und Verzeichnissen auf dem virtuellen Laufwerk wird technisch die Groß-/Kleinschreibung nicht beachtet , sodass Sie mit Groß- oder Kleinbuchstaben darauf verweisen können. Ich finde es jedoch natürlicher, DOS-Dateien und -Verzeichnisse ausschließlich 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
Unmounten mit guestmount
Sie sollten immer unmounten 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, Ihre Dateien zu beschädigen.
Der begleitende Befehl zu uestmount
ist guestunmount
, um das Disk-Image zu unmounten. Geben Sie einfach den Einhängepunkt an, den Sie aushängen möchten:
$ guestunmount /tmp/freedos
Beachten Sie, dass dieser Befehl etwas anders geschrieben wird als Linux umount
Systembefehl.