西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識(shí) → 用vmware運(yùn)行自做的linux啟動(dòng)盤的引導(dǎo)代碼

用vmware運(yùn)行自做的linux啟動(dòng)盤的引導(dǎo)代碼

前往專題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/4/22 21:34:42字體大小:A-A+

作者:西西點(diǎn)擊:11次評(píng)論:0次標(biāo)簽: vmware

  • 類型:虛擬機(jī)大。439.3M語言:中文 評(píng)分:3.6
  • 標(biāo)簽:
立即下載

當(dāng)計(jì)算機(jī)電源被打開后,它會(huì)先進(jìn)行加電自檢(POST),然后尋找啟動(dòng)盤,如果是選擇從軟盤啟動(dòng),計(jì)算機(jī)就會(huì)查找軟盤的0面0磁道1扇區(qū),如果發(fā)現(xiàn)它以0xAA55結(jié)束,則BIOS認(rèn)為它是一個(gè)引導(dǎo)扇區(qū),然后BIOS就會(huì)把引導(dǎo)扇區(qū)的前512字節(jié)的引導(dǎo)代碼拷貝到內(nèi)存的0000:7c00處并將控制器徹底交給這段引導(dǎo)代碼。

簡(jiǎn)單的引導(dǎo)代碼如下所示:

 1     org 07c00h ;告訴編譯器加載到07c00h處
 2     
 3     mov ax, cs 
 4     mov ds, ax
 5     mov es, ax
 6     
 7     call DisPStr ;調(diào)用顯示字符串函數(shù)
 8     
 9     jmp $; 無限循環(huán)
10     
11 DispStr:
12     mov ax, BootMessge
13     mov bp, ax
14     mov cx, 16
15     mov ax, 01301h
16     mov bx, 000ch
17     mov dl, 0
18     int 10h
19     ret
20 BootMessge: db "hello, OS world!"
21 times 510 - ($ - $$) db 0
22 dw 0aa55h

這段代碼時(shí)用nasm寫的,它類似于masm的語言。org 07c00h命令就是將命令后面的代碼中的偏移地址都加上07c00h,這樣程序就相當(dāng)于在0000:7c00出執(zhí)行了。按書中所講的,用命令nasm bootsector.asm -o boot.bin生成引導(dǎo)代碼boot.bin,然后將boot.bin寫入軟盤的0面0磁道1扇區(qū)就可以了。問題就來了,我沒有軟盤怎么搞,不過在wmware虛擬機(jī)中貌似可以用軟盤的映像文件來啟動(dòng),所以就想到自己制作一個(gè)映像文件來代替軟盤來作為啟動(dòng)盤,不過怎么創(chuàng)建這個(gè)映像文件呢?

以前記得用linux下的dd命令做過linux的啟動(dòng)盤,dd應(yīng)該是可以制作的,于是在網(wǎng)上找了下dd制作映像文件,果然是可以的,制作方法如下:

1 先制作一個(gè)空的軟盤映像文件diska.img(1.44Mb的軟盤映像文件):

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

2 制作一個(gè)包含boot.bin的映像文件boot.img:

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

3 將diska.img中1個(gè)扇區(qū)后面的數(shù)據(jù)拷貝到boot.img的后面

dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879

這樣就做成了一個(gè)大小為1.44Mb的包含引導(dǎo)代碼的映像文件。

后面的事就好辦了,直接在wmware創(chuàng)建一個(gè)空的虛擬機(jī),在設(shè)置中將Floppy的路徑設(shè)置為上面制作的引導(dǎo)扇區(qū)的路徑就ok了,如下圖那樣:

設(shè)置Floppy連接,斷開CD/DVD連接,啟動(dòng)虛擬機(jī)就可以看到下面的畫面了:

 

總結(jié):這個(gè)小的代碼的編寫和運(yùn)行還是能讓自己對(duì)系統(tǒng)啟動(dòng)有一個(gè)更深的認(rèn)識(shí),不過有個(gè)不懂的就是怎么用ISO鏡像文件啟動(dòng),怎么將引導(dǎo)代碼寫入ISO鏡像文件,依然沒有找到很好的方法解決。

    mac虛擬機(jī)
    (7)mac虛擬機(jī)
    西西為大家提供最好用的虛擬機(jī)下載。雖然蘋果的系統(tǒng)在外觀上頗受眾多用戶的青睞,不過由于一些特殊的應(yīng)用在系統(tǒng)上無法使用加上操作習(xí)慣上的問題讓很多用戶選擇了裝雙系統(tǒng)。隨著蘋果電腦硬件性能的不斷提升,越來越多的用戶開始考慮使用虛擬機(jī)代替?zhèn)鹘y(tǒng)的,這樣可以同時(shí)運(yùn)行以及兩個(gè)操作系統(tǒng),不需要重啟,也基本不需要擔(dān)心硬件資源吃緊。此外,對(duì)于用戶來說,虛擬機(jī)還意味著不需要額外進(jìn)行硬盤分區(qū),無疑在很大程度上緩解了硬盤容量...更多>>
    虛擬機(jī)
    (13)虛擬機(jī)
    很多從事行業(yè)的人中會(huì)習(xí)慣性的在自己的電腦中安裝虛擬機(jī),這樣在進(jìn)行一些軟件的評(píng)測(cè)時(shí)可能系統(tǒng)一樣會(huì)崩潰但是,崩潰的只是虛擬機(jī)上的操作系統(tǒng),而不是物理計(jì)算機(jī)上的操作系統(tǒng),并且,使用虛擬機(jī)的恢復(fù)功能,你可以馬上恢復(fù)虛擬機(jī)到安裝軟件之前的狀態(tài)。這樣會(huì)大大減少重裝系統(tǒng)的幾率,而且虛擬系統(tǒng)不會(huì)降低電腦的性能,啟動(dòng)虛擬系統(tǒng)不需要像啟動(dòng)系統(tǒng)那樣耗費(fèi)時(shí)間,運(yùn)行程序更加方便快捷虛擬系統(tǒng)只能模擬和現(xiàn)有操作系統(tǒng)相同的環(huán)境,...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)