制作Linux可識別的軟盤映像文件(FAT12格式)

一張可以被Linux識別的軟盤映像很有好處的,我們可以在Linux下對軟盤里的文件進行操作,Linux會在軟盤映像中自動補充根目錄,便于軟盤中文件的組織。如果想知道軟盤中有沒有某個文件,只要在目錄中搜索文件名就行。

(FAT12格式的軟盤,摘自《Orange'S:一個操作系統的實現》)

(摘自《Orange'S:一個操作系統的實現》)

上一篇學習筆記中說過,采用dd指令,可以制作一個空白軟盤映像。

所以,第一步,制作一個空白軟盤映像:

dd if=/dev/zero of=diska.img bs=512 count=2880

第二步,準備一個BPB格式的引導文件,作為引導扇區。BPB格式如下:

(摘自《Orange'S:一個操作系統的實現》)

也就是說,將引導扇區的匯編文件boot.asm寫成這個格式,即:

然后編譯,生成bin文件。

最后一步,把引導扇區寫入軟盤映像:

dd if=boot.bin of=diska.img bs=512count=1 conv=notrun

如此我們就獲得了一個可以被Linux識別的軟盤映像。

接下來,通過mount指令將軟盤映像掛載到Linux文件系統中,一般是掛載在/mnt/floppy下。

掛載指令:mount –oloop boot.img /mnt/floppy/

解除掛載指令:umount/mnt/floppy/

判斷有沒有成功掛上的指令:mount-l

掛載完成之后,/mnt/floppy/文件夾就相當于軟盤,把文件copy到/mnt/floppy/里就相當于copy到了diska.img里面,目錄會自己生成。

順便一提,dd和cp指令的區別在于,dd指令針對的是數據塊,而cp指令針對的是文件。dd指令會將數據的位置原封不動地復制,而cp指令將以文件為單位,哪里有空就放在哪里(這篇參考資料很形象:http://blog.csdn.net/erazy0/article/details/6087554)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容