HighEnd で LowEnd を実行する: QEMU を使用して MacBook M1 (Apple Silicon) で FreeDOS を実行する
MS-DOS時代には懐かしい思い出があります。もちろん、あの頃に戻りたいと言っているわけではありませんが、私にとっては、地下室のクローゼットで古いファミコンを見つけたり、TV Landを観たりしたときのように、懐かしい思い出を巡る楽しい旅のようなものです。
システムメモリがキロバイト単位で測定されていた時代、MS-DOSが王者でした。しかし、Microsoftには、今は忘れ去られつつも当時大成功を収めたXenixというUNIXクローンがありました。MS-DOSのメディアを見つけるのは難しくありませんが(実際、MSDNサブスクリプションで今でもダウンロードできます)、FreeDOSが現代の代替OSです。MS-DOSに必要な機能をすべて備えているだけでなく、豊富な快適機能と、利用可能なアプリ、ゲーム、ユーティリティも豊富です。
FreeDOSは、ビンテージハードウェアでも、x86-64のリアルモードのレガシーサポートのおかげで最新のハードウェアでも実行できますが、ドライバの問題で苦労するでしょう。それに、最新のi9(あるいはi3でさえ)を16ビットコンピューティング専用にしたい人がいるでしょうか?
明らかに、より良い解決策はVMで実行することです。一般的なコンシューマーPCでFreeDOS VMを12台、いや100台も実行できるでしょう。人気のソリューションとしては、Virtualbox、VMwareの無料Player、qemu/UTMなどがあります。また、研究用プラットフォームとしてbochsもあります。
しかし、普段macOSを使っている場合、Apple Siliconを使っていると選択肢はかなり限られます。VirtualboxとVMware Playerは、Apple Silicon上でのx86エミュレーションをサポートしていません。WindowsシステムにVirtualboxまたはVMwareをインストールしてリモートデスクトップ接続することは可能ですが、macOSからRDP接続すると、どちらも表示に多くの問題が発生することがわかりました。自宅に物理的なLinuxマシンがないので(すべてVMで実行しています)、そちらの方が良い選択肢かもしれません。
しかし、Apple Silicon 上でネイティブに実行するオプションが 1 つあります。それは QEMU です。
適切なオプションを見つけてネットワークを構築するのに少し手間取ったので、ここでその方法をご紹介します。インストール手順を一つ一つ説明するつもりはありません。一度起動してしまえば、他のFreeDOSのセットアップと全く同じなので、ここでは詳しく説明しません。ただ、いくつかヒントやコツがあります。
UTM は QEMU のグラフィカル フロントエンドであり、コマンド ラインにアレルギーがある場合はそれを試すこともできますが、ここでは取り上げません。
FreeDOSのインストール
ステップ1:FreeDOSをダウンロードします。FreeDOSのホームページにアクセスしてください。Live CDが必要です。ボーナスCDも入手しておくと便利です。ディレクトリを作成し、そこに2つのISOファイルを入れてください。
ステップ2:qemuをインストールします。WebSiteを読んでいる皆さんは既にHomebrewをインストール済みだと想定しています。もしそうでない場合は、こちらにアクセスしてコマンドをコピーし、インストールしてください。ターミナルを開いて、そのコマンドを貼り付けてください。
Homebrew をインストールしたら:
brew qemu をインストール
ステップ3:ハードドライブを作成します。正確には、ハードドライブとして機能するQEMUイメージファイルを作成します。DOSが認識できる最大容量は2GBなので、2GBに設定できます。このイメージファイルは、.ISOファイルと同じディレクトリに保存できます。
$ qemu-img で c.img 2G を作成します 'c.img' をフォーマットしています、fmt=raw サイズ=2147483648
この場合の C は C: ドライブを表しますが、好きな名前を付けることができます。
ステップ 4: QEMU スクリプトを作成します。
QEMUにはたくさんのオプションがあります。いろいろ試した結果、私が使っているものは次のとおりです。
qemu-system-i386 -cpu 486 -boot order=dc -m 16M \ -k en-us -name FreeDOS1 \ -cdrom FD13LIVE.iso \ -ドライブ ファイル=c.img、フォーマット=raw、メディア=ディスク \ -rtc ベース=ローカルタイム \ -nic ユーザー、モデル = pcnet、mac = 10:20:30:40:50:60
詳しく見てみましょう:
qemu-system-i386:時代に合わせたi386システムを使用しています。ちなみに、もし興味があれば、QEMUエミュレーションでHP PA-RISC、S390、DEC Alphaなど、様々なシステムを実行できます。
-cpu 486:必要に応じて、ここで 286、386 などを実行できます。
-boot order=dc:これは「まずCD-ROMから起動し、次にハードドライブから起動する」という意味です。FreeDOSをインストールしたら、これらの順序を入れ替えるか、CD-ROM(おそらくボーナスCD)にロードする内容を変更する必要があります。
-m 16M: 16MBのRAMを使用します。必要に応じて変更してください。ただし、DOSのメモリはLinux、Windows、Macよりも複雑であることにご注意ください。アプリがDOSメモリエクステンダーを実行している場合を除き、1MBに制限される可能性があり、そのすべてを使用することはできません。
-k en-us : en-us キーボード
-name FreeDOS1:好きな名前を選んでください。
-cdrom FD13LIVE.iso:これはD:ドライブとして表示されます。FreeDOSをインストールするには、このLive CDを起動する必要があります。
-drive file=c.img,format=raw,media=disk:これは先ほど作成したハードドライブです。
-rtc base=localtime:システムクロックをホストのローカルタイムに設定します。
-nic user,model=pcnet,mac=10:20:30:40:50:60: pcnet を使用してネットワーク インターフェイス カードを作成し、MAC を 10:20:30:40:50:60 に設定します。
これをqemu_freedos.shのような名前のファイルに記述します。次に、以下の手順を実行します。
$ chmod 755 qemu_freedos.sh $ ./qemu_freedos.sh
QEMUが起動し、LiveCDが起動するウィンドウが表示されます。「システムハードディスクにインストール」を選択すると、すぐに実行できます。
全画面モード
DOSを最大限に楽しむには、フルスクリーンモードにすることをお勧めします。Command + Fキーを押すと、キャラクターベースの世界をお楽しみいただけます。Ctrl + 矢印キーで別の仮想デスクトップに切り替えることもできます。
フルスクリーンモードを終了するには、入力キャプチャを解除する必要があります。以下のコマンドを実行してください。
- コントロール+オプション+G
- 次にCommand+Fを押してフルスクリーンモードを終了します
ネットワーキング
これはちょっと難解で、まだ完全には理解できていません。FreeDOSを起動すると、次のようなメッセージが表示されます。
QEMU ネットワークが検出されました。 現時点では物理ハードウェア ネットワークはサポートされていません。
FDAUTO.BAT および FDNET.BAT のプログラム ロジックに従うと、起動時に常にこの結論に達し、このエラー メッセージで終了するようです。
ただし、ネットワークは機能します。次の方法をお試しください。
C:\NET\FDNET\pcntpk int=0x60 DHCP
これにより、ネットワークとDHCPによるIPアドレスの設定が完了します。適切なパッケージがインストールされていれば、そこからwget、ftp、sshなどが実行できます。
次のステップ
この時点で、さらにソフトウェアをインストールしたいと思われるかもしれません。以下のリソースをご確認ください。
いつか21世紀に戻る必要があるでしょう。ウィンドウをそのまま終了することもできますが、正しく終了するには、SHUTDOWNコマンド(大文字でなくても構いません)を発行し、VMが自動的に閉じるのを待ちます。
