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
とは少し異なることに注意してください。 システムコマンド。