この質問 で説明されているように、WinSetupFromUSBを使用して、MS-DOS 6.22(および他のバージョンのWindowsのインストーラー)で起動できるマルチブート可能なUSBを正常に作成しましたが、実行可能ファイルにアクセスできませんでしたUSBのルートが必要でした。
これに対する解決策として、必要な実行可能ファイルを元のDOS 6.22ブートディスクISO ここにあります でパッケージ化して、必要なものすべてを含む新しいISOを作成しようとしています。
これを行うために、WinRARを使用して元のブートディスクISOから40個のファイルすべてを抽出しました。次に、ImgBurnのビルドモードを開き、40個のDOSファイルと実行可能ファイルをソースとして選択して合計57個のファイルを作成しました。
DOS 6.22用のブートフロッピー/ディスケットイメージをダウンロードしました(Dos6.22.img
) ここから 、以下の設定で、[詳細設定]> [ブートマネージャー]でブートイメージとして選択しました。
次に、ISO9660および[〜#〜] udf [〜#〜]ボリュームラベルを追加し、[ビルド]ボタンを選択しました。操作は正常に実行され、WinSetupFromUSBを使用して、新しく作成したISOを起動可能なフラッシュドライブにロードしました。起動したフラッシュドライブをgrub4DOSに挿入します。 MS-DOS 6.22での起動は機能しましたが、変更されていない起動ISOを使用したときと同じように、デフォルトでDOS 6.22にパッケージ化された40個のファイルのみが表示され、新しいISOに追加した余分なファイルは完全に無視されました。
ここで何を間違えたのですか?
@cybernardからの多くの作業、調査、およびガイダンスの後、私は最終的に、必要なレガシー実行可能ファイルをISOにパッケージ化し、MS-DOS6.22内から正常に実行するという目標を達成することができました。
要するに、私の最初の間違いは、実行可能ファイルをISOに直接パッケージ化することでした。何らかの理由で、MS-DOSで起動した後に使用できるファイルは変更されません。代わりに、プログラムをブートディスクに直接「挿入」する必要があり、そこからISOを作成できます。
以下は、プロセスのより長いガイドと、DOSで新しく表示されたプログラムを実行しようとしたときに発生する可能性のあるメモリの問題の解決策です。
このプロセスはMS-DOS 6.22を使用してのみテストしましたが、目的のバージョンのブートディスクをダウンロードして使用する限り、以下に概説するプロセスはどのバージョンのMS-DOSでも同じである必要があります。
WinImageを使用してDOS6.22ブートフロッピーディスクを開きます。選択する Image >Change Format、およびブートディスクのサイズを2.88 MBに増やします。これにより、プログラムをディスクに挿入するために必要なスペースが確保されます。
DOSで使用するすべてのプログラムをWinImageインターフェイスにドラッグアンドドロップして、表示されるダイアログを確認します。
変更したブートディスクを保存します。 名前を付けて保存を使用する場合は、必ず.img
ファイルとして保存してください。そうしないと、WinImageはデフォルトで互換性のない形式で保存します。
ImgBurnを開き、ファイル/フォルダーからイメージファイルを作成を選択します(ビルドモードとも呼ばれます)。
ソースを選択しないでください。画像を保存する宛先をファイル名とともに選択し、.iso
、または使用する起動可能なメディアクリエーターと互換性のあるその他の形式であることを確認します。
下 Bootable Disc の中に Advanced タブで、Make Image Bootableオプションをチェックし、Emulation Typeを2.88MBに設定します。 ブートイメージの下で、前に変更したDOSブートディスクを参照します。を選択 Build ボタンをクリックして画像を作成します。
ビルドが完了すると、ImgBurnはイメージファイルと.mds
ファイルの両方を出力します。正直なところ、.mds
ファイルがどのような目的に役立つのか完全にはわかりませんでしたが、少なくとも私たちにとっては破棄することができます。
これ以降は、通常どおり起動可能なメディアクリエーターを使用して、作成したばかりのイメージをソースとして使用して、起動可能なUSBまたはCDを作成できます。プロセスのこの部分には WinSetupFromUSB の方が好きです。
完了すると、MS-DOSでプログラムを表示して起動できるようになります。
上記の手順を実行した後、MS-DOSを起動するとプログラムを表示できるようになりましたが、プログラムを実行しようとするとNot Enough Memory
エラーが発生する場合は、以下の手順に従って解決してください。
このエラーは、実行しようとしているプログラムが、MS-DOSがデフォルトでアクセスできる640KBを超える使用可能なメモリを必要とするために発生します。これは「コンベンショナルメモリ」として知られています。それを回避するには、DOSに「拡張メモリ」をロードするように指示する必要があります。これは最大64MBを使用します。これは、DOSのどのバージョンよりも多くのメモリを使用します。
WinImageを使用してプログラムをブートディスクにドラッグした直後に停止し、最初からこのガイドに従ってください。変更したイメージを保存する前に、ブートディスクファイルのリストでファイルCONFIG.SYS
を探して右クリックし、マシンのどこかに解凍します。ファイルをテキストエディタで開き、次の変更を加えます。
DEVICE=HIMEM.SYS
で始まる行で、その末尾に/V
を追加します。
DEVICE=HIMEM.SYS /testmem:off /V
その行のすぐ下に、次の行を挿入します。
DOS=HIGH,UMB
DEVICE=EMM386.EXE RAM
次に、WinImageインターフェイスを使用して、変更したファイルをマシンからブートディスクにドラッグして戻し、ファイルをブートディスクに挿入するように求めるプロンプトを確認します。以前と同じようにブートディスクを保存し、このガイドの残りの部分を通常どおり続行します。
完了すると、新しく表示されたプログラムを実行できるMS-DOS 6.22の起動可能なバージョンが残ります。