2014-04-06 68 views
0

我需要在QEMU中專門運行一些.com文件和引導加載程序。 我正在使用Qemu 0.9.0版本運行Win XP機器。qemu,從主機獲取文件到DOS,並運行引導程序

對於.COM文件我下載了一個MS-DOS 6.22 IMG然後根據這個教程: http://gunkies.org/wiki/Installing_MS-DOS_on_Qemu 我跑的命令:

qemu-img create -f qcow msdos.disk 128M 

然而,它只是創建大小msdos.disk文件1KB。

然後我跑這個命令:

qemu -hda msdos.disk -m 64 -L . -fda dos622.img -boot a 

在引導它說某種形式的安裝應該開始,但它實際上靴子的東西,可能是MS-DOS就我所知。它給了我一個命令行,其中我試圖指出,並且它顯示了一些名爲MOUSE.EXE的.com和.exe文件等,就好像那些是某種驅動程序一樣。

我一直在Google上搜索一段時間,我發現的只是一堆Linux指南。

首先,我確實需要編譯一些以org 100h(.com文件)開頭的.asm文件,並在DOS中對它們進行測試。所以我想我編譯他們產生.o.bin文件。但接下來呢?我如何將它們從Win XP虛擬到Qemu DOS機器中?

而第二件事,我怎麼運行一個手寫的引導程序時,我有彙編代碼準備好了嗎?我能以某種方式將它編譯成某種.img?我如何讓Qemu運行我的引導程序?

我只是這一切感到困惑,並會很感激,如果有人更瞭解可以幫助我在一個小白友好的方式。

回答

1

對於您的程序集文件,您需要知道它們是爲什麼編寫的。如果他們是nasm那麼你很幸運,它可以直接爲你寫一個com文件(這只是一個扁平的二進制文件,所以使用-f bin)。

要讓它進入QEMU,您需要使用一些工具,使操作原始磁盤映像,如mtools。您應該創建並格式化一張圖片(爲了簡化,請使用軟盤),然後將您的com文件複製到其上。然後,您可以將它作爲qemu中的第二個軟盤驅動器附加。如果你的dos磁盤有足夠的空間,你當然可以將你的com文件複製到該映像中。

如果你有自己的引導記錄,你可以把它作爲一個平面二進制文件發送出去,並把它作爲一個磁盤映像傳遞給qemu(確保它被填充到512字節的倍數,除了qemu不是非常糟糕的挑剔的大小)。假設你不需要一個文件系統,因爲那樣你就不得不以某種方式替換引導扇區。如果一切都失敗了,你可以抓住dd的窗口。

+0

謝謝!這真的有幫助!你是最好的:)。 –

相關問題