web-dev-qa-db-ja.com

MS-DOSで認識されるディスクイメージをフォーマットする方法は?

Androidデバイスでbochsを使用してWindowsをエミュレートしようとしています。次のドライブがあります:Windowsをインストールするための空のディスクイメージ、セットアップファイルを含む仮想vvfatドライブ、および最新バージョンのDOSを搭載したCD-ROMドライブ。Bochsはすべてのドライブを正しく認識します。

問題は、DOSを起動すると、ディスクイメージが認識されないことです。 volコマンドを使用してドライブを識別しました。 Aはcdromに割り当てられ、Bは読み取りエラーを出し、Cは仮想vvfatドライブに割り当てられ、その他は割り当てられていませんでした。ただし、Bの読み取りエラーは、画像ファイルとは関係ありません。 cdromを除くすべてのドライブを切断した場合でも、エラーは発生します。おそらくエミュレートされたフロッピーディスクです。

問題は画像ファイルにあると思います。ターミナルでddを使って作りました。次の構成を使用しました。

dd if=/dev/zero of=/sdcard/Win.img bs=64k count=8192

そしてそれを次のようにフォーマットしました:

mkfs.vfat /sdcard/Win.img

それはうまくいきませんでした。次に、古いWindowsバージョンは最大4 kBのブロックまたはクラスターサイズしかサポートしていないことがわかったので、新しいバージョンを作成しました。

dd if=/dev/zero of=/sdcard/Win.img bs=4k count=131072

そして再びmkfs.vfatでフォーマットしました。

それでも機能しなかったので、ファイルシステムとパーティションの実験を開始しました。私はfdiskを使用してイメージをパーティション分割しました:

fdisk /sdcard/Win.img, n, p, 1, 1, 65

しかし、それでも結果はありません。パーティションテーブルを印刷すると、最後にlinuxと表示されるので、ここで何か間違ったことをしたのかもしれません。

私の質問は、DOSで認識されるように端末でディスクイメージをフォーマットする方法を知っている人はいますか?

2
Jaïr Paalman

mkfs.vfat -F使用できます12または16のみ(32はDOSと互換性がありません)

mkfs.vfat -F 16 -f 2

32ビットファイルシステムを使用する必要があるため、自動メソッドはどのDOSプログラムとも互換性がないため回避する必要があります。

12ビットファイルシステムは、従来、フロッピーディスク用に予約されていました。ただし、最大サイズはFAT16の1/4または512mbです。

DOSでは、ハードドライブは通常FAT16です。これが特に私が16ビットを使用すると言った理由であり、小文字の-f 2はDOSが機能する方法である2つのコピーを示します。

1
cybernard

特にDOSとの厳密な互換性が必要な場合は、mkdosfsを使用してプロセス全体を合理化できます。 mkdosfsには-Cフラグがあり、ddステップをスキップできます。 Win.imgという1.44MBのフロッピーディスクイメージを作成するには、mkdosfs -C /sdcard/Win.img 1440と入力します。

ただし、問題のディスクイメージがフロッピーディスクの種類であるとは思えません。 Windows 3.0でさえ、インストール時に6〜8MBのディスクスペースを占有します。

1
Larssend

空のハードドライブを含め、既製のハードドライブをインターネットからダウンロードできます。人々はそれらをCD-ROMのブートイメージとして使用します。

DOSのセクターサイズは512バイトであり、Windows 9xが以前のDOSとデュアルブートする場合は、パーティションを126MB未満にします。これは、win9xがfat32に変換しないfat16パーティションです。

パーティションを作成したら、DOS fdiskを使用してパーティションを作成し、フォーマットしてパーティションをフォーマットする必要があります。これはフロッピーから行うことができます。 volは、作成されたパーティションのみを表示します。プライマリパーティションを「アクティブ」に設定する必要があります。そうしないと、起動しません。

フォーマットしたら、ドライブをsysして、DOS、Windowsをインストールできます。

1
wendy.krieger

デフォルトでは、fdiskは「Linux」タイプのパーティションを作成します。 「Windows」に変更する必要があります。 fdiskに戻り、(すでに入力したものの後に) "t"、 "1"、 "b"と入力します。保存して終了。

0
ilkhd