GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kopieren Sie Dateien zwischen Linux und FreeDOS

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.


Linux
  1. Kopieren Sie Dateien und Verzeichnisse unter Linux

  2. So kopieren Sie Dateien sicher zwischen Linux-Hosts mit SCP und SFTP

  3. Linux – Dateien zwischen Linux-Host und Windows-Gast teilen?

  4. Linux-Dateiverwaltungsbefehle zum Erstellen, Kopieren, Verschieben und Löschen von Dateien

  5. Suchen und kopieren Sie Dateien

Cp-Befehl in Linux (Dateien kopieren)

Installieren Sie Dropbox, um Dateien zwischen Linux und Windows auszutauschen

So teilen Sie Steam-Spieldateien zwischen Linux und Windows

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

So kopieren Sie Dateien zwischen Host und Docker-Container

Freigabe von Dateien zwischen Linux Mint und Windows 10