如何格式化磁碟映像以供 MS-DOS 識別?

如何格式化磁碟映像以供 MS-DOS 識別?

我正在嘗試在我的 Android 裝置上使用 bochs 模擬 Windows。我有以下磁碟機:一個用於安裝 Windows 的空白磁碟映像、一個包含安裝檔案的虛擬 vvfat 磁碟機以及一個包含最新版本 DOS 的 CDROM 磁碟機。 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可以識別它?

答案1

mkfs.vfat -F 你可以使用12或者16僅。

mkfs.vfat -F 16 -f 2

您需要避免使用自動方法,因為它會使用 32 位元檔案系統,並且與任何 DOS 程式都不相容。

12 位元檔案系統傳統上是為軟碟保留的。不過,它可以使用的最大大小是 FAT16 的 1/4 或 512mb。

在 DOS 下,硬碟通常為 FAT16。這就是為什麼我說要使用 16 位元和小寫字母-f 2表示 2 個副本,這是 DOS 的工作方式。

答案2

您可以使用 簡化整個流程mkdosfs,特別是如果您需要與 DOS 嚴格相容。mkdosfs有一個-C標誌可以讓您跳過該dd步驟。若要建立名為的 1.44MB 軟碟映像Win.img,請輸入mkdosfs -C /sdcard/Win.img 1440

但是,我懷疑問題磁碟映像是軟碟類型。即使是 Windows 3.0 在安裝時也會佔用 6-8MB 的磁碟空間。

答案3

您可以從網路上下載現成的硬碟,包括空白硬碟。人們使用它們作為 CDROM 的啟動映像。

DOS 的磁區大小為 512 位元組,如果 Windows 9x 要與早期的 DOS 進行雙重引導,請使分割區小於 126 MB。這是一個fat16分區,win9x不會轉換為fat32。

當你建立一個分割區後,你必須使用DOS fdisk來建立分割區,並使用format來格式化分割區。您可以從軟碟執行此操作。 vol 只能看到已建立的分區。您必須將主分割區設為“活動”,否則它將無法啟動。

格式化後,您就可以sys驅動器,並安裝DOS、Windows..

答案4

預設情況下,fdisk 會建立「Linux」類型的分割區。您需要將其變更為“Windows”。返回 fdisk 並鍵入(在您已經鍵入的內容之後)“t”、“1”、“b”。儲存並退出。

相關內容