GNU/Linux >> Linux の 問題 >  >> Linux

LinuxとFreeDOSの間でファイルをコピーする

Linuxをプライマリオペレーティングシステムとして実行し、仮想マシンでFreeDOSを起動します。ほとんどの場合、私はQEMUをPCエミュレーターとして使用しますが、GNOME Boxes(QEMUをバックエンド仮想マシンとして使用する)またはVirtualBoxを使用して他の実験を実行することもあります。

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

私は古典的なDOSゲームをプレイするのが好きで、時々お気に入りのDOSアプリケーションを起動します。私は、コンピューティングの歴史について話す経営情報システム(MIS)のクラスを教えています。また、FreeDOSと、As-Easy-As(私のお気に入りのDOSスプレッドシート-リリースされた後)などのレガシーDOSアプリケーションを使用してデモを記録することもあります。 「シェアウェア」として提供されていますが、TRIUS、Incから無料で入手できるようになりました。

しかし、このようにFreeDOSを使用するということは、FreeDOS仮想マシンとLinuxデスクトップシステムの間でファイルを転送する必要があることを意味します。私がそれをどのように行うかをお見せしましょう。

guestmountを使用して画像にアクセスする

以前は、最初のDOSパーティションへのオフセットを計算してから、Linuxのmountを呼び出すことで、仮想ディスクイメージにアクセスしていました。 そのオフセットに一致するオプションを適切に組み合わせてコマンドを実行します。これは常にエラーが発生しやすく、柔軟性があまりありませんでした。幸いなことに、それを行うためのより簡単な方法があります。 guestmount libguestfs-toolsパッケージのプログラムを使用すると、アクセスまたはマウントできます。 Linuxの仮想ディスクイメージ。 libguestfs-toolsをインストールできます Fedoraでこのコマンドを使用する:

$ yum install libguestfs-tools libguestfs

guestmountを使用する GNOMEファイルマネージャーからファイルをダブルクリックするほど簡単ではありませんが、コマンドラインを使用するのはそれほど難しくありません。 guestmountの基本的な使用法 は:

$ guestmount -a image -m device mountpoint

この使用法では、画像 使用する仮想ディスクイメージです。私のシステムでは、qemu-imgを使用してQEMU仮想ディスクイメージを作成しました 指図。 g uestmount プログラムは、このディスクイメージ形式、およびGNOME Boxesで使用されるQCOW2イメージ形式、またはVirtualBoxで使用されるVDIイメージ形式を読み取ることができます。

デバイス オプションは、仮想ディスク上のパーティションを示します。この仮想ディスクを実際のハードドライブとして使用することを想像してみてください。最初のパーティションには、/dev/sda1としてアクセスします。 、2番目のパーティションは/dev/sda2 、 等々。これがguestmountの構文です 。デフォルトでは、FreeDOS 1.3 RC4は空のドライブに1つのパーティションを作成するため、そのパーティションに/dev/sda1としてアクセスします。 。

そして、マウントポイント ローカルLinuxシステムにDOSファイルシステムを「マウント」する場所です。通常、作業する一時ディレクトリを作成します。マウントポイントが必要なのは、仮想ディスクにアクセスしているときだけです。

これらすべてをまとめると、次の一連のコマンドを使用して、LinuxからFreeDOS仮想ディスクイメージにアクセスします。

$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos

その後、/tmp/freedosからFreeDOSファイルにアクセスできます。 Linuxで通常のツールを使用するディレクトリ。 ls /tmp/freedosを使用する場合があります コマンドラインで、または/tmp/freedosを開きます デスクトップファイルマネージャを使用してマウントポイント。

$ 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

たとえば、Linuxのprojectsから複数のCソースファイルをコピーするには ディレクトリをC:\SRCに移動します 仮想ディスクイメージ上で、後でFreeDOSでファイルを使用できるように、Linuxのcpを使用できます。 コマンド:

$ cp /home/jhall/projects/*.c /tmp/freedos/SRC

仮想ドライブ上のファイルとディレクトリは、技術的には大文字と小文字を区別しない 、したがって、大文字または小文字を使用してそれらを参照できます。ただし、すべて大文字を使用してDOSファイルとディレクトリを入力する方が自然です。

$ 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

guestmountを使用したアンマウント

常にアンマウントする必要があります 仮想マシンで再度使用する前の仮想ディスクイメージ。 QEMUまたはVirtualBoxの実行中にイメージをマウントしたままにすると、ファイルを台無しにするリスクがあります。

guestmountへのコンパニオンコマンド guestunmountです 、ディスクイメージをアンマウントします。アンマウントするマウントポイントを指定するだけです:

$ guestunmount /tmp/freedos

このコマンドのスペルは、Linuxのumountとは少し異なることに注意してください。 システムコマンド。


Linux
  1. Linuxでファイルとディレクトリをコピーする

  2. SCPとSFTPを使用してLinuxホスト間でファイルを安全にコピーする方法

  3. Linux ファイルとディレクトリの削除

  1. Linux – LinuxホストとWindowsゲスト間でファイルを共有しますか?

  2. ファイルを作成、コピー、移動、および削除するためのLinuxファイル管理コマンド

  3. Linux および Unix でファイルをコピーする方法10 cp コマンドの例

  1. LinuxとWindowsコンピューター間でファイルを共有する

  2. ファイルを検索してコピーする

  3. /の間のコンテンツフォルダの差分コピー。および /* Linux では