在進行保護模式的運行環境配置前,先看了了下書上的代碼,編譯運行結果如下:nasm 3_pmtest1.asm -o pmtest1.bin,可以看到界面出現了紅色的 p 字
保護模式環境配置
1:在網站http://bochs.sourceforge.net/guestos/freedos-img.tar.gz 上下載FreeDos,
採用tar vxzf FreeDos.img.tar.gz 解壓
~$ cd freedos-img //進入文件夾 之後將a.img的文件重命名爲freedos.img,將其複製到bochs工作的當前文件夾,
2:採用上節的方法用~$ bximage 生成一個新的軟盤映像 起名爲pm.img //步驟同上次一樣,唯一不同的就是上次生成的文件名a.img直接回車了,這次需要輸入pm.img
此時當前工作目錄下就多了一個pm.img文件
3:修改當前工作目錄下的bochsrc配置文件
增加如下幾行:
floppya: 1_44="freedos.img", status=inserted
floppyb: 1_44="pm.img", status=inserted
boot: a
4:啓動bochs,終端操作步驟與bochs界面顯示如下,終端一次輸入:
~$ bochs -f bochsrc--------->選擇6------------輸入c
5: 此時需要需要啓動freedos格式話B盤(格式化完成後退出bochs),界面如圖:
如果之前已經格式化一次了,出現問題了,這時,你可能打算吧前邊的步驟重新操作,重新操作的界面顯示如下:
6:將文章開頭的代碼3_pmtest1.asm中的0x7c00改爲0100h,重重新編譯
nasm 3_pmtest1.asm -o pmtest1.com
7:將pmtest1.com複製到虛擬軟驅pm.img中,具體操作步驟如下:(如下的操作都在當前工作文件夾下,文章中是在。。。。/bochs-2.6中)
1) sudo mount -o loop pm.img /mnt/floppy
2) sudo cp pmtest1.com /mnt/floppy/
3) sudo umount /mnt/floppy
經常出現的錯誤是:
Q:一直提示“mount: 您必須指定文件系統類型”,
A:可能是因爲沒有成功的進行上邊的步驟5,即沒有進行格式化的原因,可以參考:http://blog.csdn.net/wuchunlong3352/article/details/6347325
Q:mount:掛載點/mnt/floppy不存在
A:不存在的話,那就在/mnt目錄下創建一個floppy
mkdir /mnt/floppy
8:啓動freedos,在B盤符下輸入pmtest1.com,最終界面顯示如下: