1. 程式人生 > >自己動手寫作業系統 將載入程式成功寫入優盤啟動電腦

自己動手寫作業系統 將載入程式成功寫入優盤啟動電腦

原文:http://freesoftman.iteye.com/blog/629598

輸入命令:

nasm boot.asm -o boot.bin

一會兒就生成了一個映象檔案boot.bin. 該檔案就是我所謂的作業系統了。哈哈!其實只是一個boot sector而已。但是這個是我們步入作業系統的第一步, 跨過了這一步,以後就海闊天空

理論上偶也只是使用了10分鐘左右寫完成了。

但是,令人惱火的是,書中介紹的是將該image寫入floppy。我的本本沒有floppy驅動。那麼偶就必須要了解bootloader的概念。

於是,花了1周的時候瞭解概念,並且設想是不是能使用u盤進行啟動, 將自己的boot loader程式寫入到u盤的MBR中。於是詢問了公司的元老,哈哈,功夫不費有心人。 讓我瞭解了一款向u盤的MBR寫入Image的工具。

這裡就像大家隆重的推薦一下dd工具, 這款工具本來是Linux自帶的用於向任何儲存裝置寫映象檔案的工具。你可以在google中輸入 dd for window, 那麼你就可以獲得window版本的dd。

接下來, 我分步講解如何將boot.bin寫入到u盤的MBR中:

1,開啟cmd,進入dd.exe所在的目錄,偶的路徑為C:\NASM。如圖:

 

 2,由於dd是命令列的一個小工具,先呼叫命令--list, 檢視一下U盤的Partition。如圖:

4,既然找到了partition地址,那麼就可以將我們的boot.bin寫入到U盤的MBR。

就是這條命令,你就可以把你的boot loader寫入到u盤中。

引數含義:

if, 你要寫入的檔案絕對地址+檔名

of, 你想要寫入的地址。

bs, 每次寫入塊大小, 預設為512位元組。

count, 要寫入指定of裝置的指定塊。

那麼上面的命令就是, 將我的boot.bin檔案中的512個位元組寫入到U盤的0扇區。也就是MBR。

OK,經過上面簡單的處理, 那麼你就可以看看效果了。 於是, 偶就重啟電腦, 設定BIOS從U盤啟動。

哈哈, 在介面上顯示了Hello, OS world! 內心無比喜悅。