我要寫和測試一個引導程序。爲了做到這一點,我計劃將Bootloader複製到軟盤映像文件中並將其掛載到VM中。將啓動加載程序存儲在軟盤映像上的位置?
但是,我不確定在哪裏把引導程序的機器碼。它只是被轉儲到文件的前幾個字節?
我要寫和測試一個引導程序。爲了做到這一點,我計劃將Bootloader複製到軟盤映像文件中並將其掛載到VM中。將啓動加載程序存儲在軟盤映像上的位置?
但是,我不確定在哪裏把引導程序的機器碼。它只是被轉儲到文件的前幾個字節?
軟盤的引導扇區是第一個扇區。如果你正在談論一張原始的軟盤映像(1440K),它應該是映像文件的前512個字節。
從內存中,BIOS被加載到7c00:0000(實模式),然後跳轉到該地址。
DOS引導軟盤在那裏有一個3字節的JMP
指令來跳過磁盤參數塊(DPB),該參數塊詳細說明了磁盤的屬性。但是,如果你完全控制了磁盤和引導代碼,我認爲你不需要遵循這個約定。我不記得任何BIOS檢查什麼是加載有效性(雖然承認它是一個長時間前)。
它是一個很長的時間,但如果我記得在DOS中它被存儲在MBR。我認爲它仍然是相同的今天
雖然這並沒有真正回答我的問題。 IMG文件中**在哪裏存儲? – 2010-09-14 04:10:24
完美。這正是我想知道的。 – 2010-09-14 04:32:30