《X86彙編 從真實模式到保護模式》 關於Bochsdbg二次啟動錯誤的解決方案
阿新 • • 發佈:2019-02-19
1.前言:
在本書中,Bochsdbg是一個非常重要的除錯工具,關於bochsrc檔案的配置,在檔案中的配置已經給出了,按照這步驟來完全可以。
第一次時按步驟配置,之後使用“斷點”跳轉到0x7c00主引導扇區時完全可以,但當往下學習學習到下一章再次執行時,發現無法跳轉到主引導扇區,經過多次嘗試,終於找到一種可行的解決方案,再次記錄一下,希望可以對其他人有幫助。
2.問題:
1.錯誤1
再次開啟Bochsdbg未載入
2.錯誤2
當開啟並載入Bochsdbg,可以進入除錯介面,但很明顯可以看到,只能在BIOS程式中執行,無法執行到我們所編寫好的主引導扇區。
3.解決方案:
我們瀏覽載入的虛擬硬碟所在的資料夾,發現出現了個LOCK載入格式的檔案,但其位元組數為零。
我們需要刪除這個LOCK檔案,然後在Bochsdbg再重新載入Bochsrc檔案,則即可執行
注意:我們在載入bochsrc檔案時,要退出Virtual Box這個軟體,因為它在用到虛擬硬碟,故Vitrual Box對它進行記憶體保護,我們用bochdbg時無法載入的情況。
可以看出,我們在這操作之後,完美從BIOS程式跳轉到我們所向虛擬磁碟中所載入的主引導扇區程式碼。
4.問題分析:
這只是問題猜測,對於Bochdbg,當啟動時,會自動生成一個載入檔案,但當資料夾中出現相同檔案,可能因為某種原因阻止這次系統的載入,我們只要刪除這個LOCK檔案就可以了。