2012-06-06 29 views
0

我寫了以下字節到名爲disk.img如何解決使用Qemu時「加載文件時出現錯誤13」?

FA 8D 36 1B 7C E8 01 00 F4 AC 3C 00 74 0C B4 0E 
BB 07 00 B9 01 00 CD 10 EB EF C3 4D 61 79 20 74 
68 65 20 66 6F 72 63 65 20 62 65 20 77 69 74 68 
20 79 6F 75 21 0D 0A 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
..enough zero to make the size of file 512bytes. 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 

以上字節是正確的指示和幻數加載到啓動扇區時,應該工作的文件。但是當我執行「qemu-X86_64 disk.img」後,發生錯誤。

錯誤-13,而加載disk.img

有誰知道如何解決這個問題或有什麼可能導致這個錯誤的原因是什麼?

謝謝!

回答

0

我不知道你是否可以用任何東西填充圖片,並期望它只是因爲你在正確的地方有55 AA。由於您似乎在編寫引導加載程序,因此請確保您的代碼認爲它在正確的位置執行。它應該在偏移量0x7C0(如果我正確記得這個,仔細檢查thaat)。您可以在程序集文件的頂部使用[org 0x7c0]來設置它。

另外我不確定你只能有512字節的文件。試着讓一個比dd更大的硬盤驅動器if =/dev/zero of = disk.img bs = 512 count = 2000,然後再次使用dd將你的bootloader複製到磁盤的第一部分。

另外你應該使用-hda或-fda標籤,所以它應該是qemu -hda disk.img

相關問題