簡體   English   中英

如何制作可引導的iso(不是cd或flash驅動器)來測試自己的引導加載程序?

[英]How to make an bootable iso(not cd or flash drive) for testing your own boot loader?

我正在嘗試編寫一個啟動加載程序(hello world sort)。 我正在使用Bochs進行模擬(平台Linux-Ubuntu)。 但我無法為我的二進制文件制作可引導的iso。 雖然在教程中使用了VFD(虛擬軟盤)但它適用於Windows平台。 這是我的bootloader代碼(僅用於測試)

;*********************************************
;    Boot1.asm
;        - A Simple Bootloader for testing if cd is booting or not
;
;    Operating Systems Development Tutorial
;*********************************************

[BITS 16]    ;tell the assembler that its a 16 bit code
[ORG 0x7C00]    ;Origin, tell the assembler that where the code will

Start:

    cli                    ; Clear all Interrupts
    hlt                    ; halt the system

times 510 - ($-$$) db 0                ; We have to be 512 bytes. Clear the rest of the bytes with 0

dw 0xAA55                    ; Boot Signature

我嘗試在Ubuntu上使用ISO。 它將二進制文件轉換為ISO但不轉換為可引導的ISO。 Bochs顯示錯誤“cd is el eltorito”,我用Google搜索並發現它是可引導ISO的標准。我必須添加其他東西以使其可引導。 我已經在最后添加了啟動簽名。 任何人都可以建議一個可靠的應用程序來在Ubuntu上制作可啟動的ISO嗎? 我的工作因此而陷入困境......或者我很確定很多人必須參與Linux平台上的操作系統開發。 你們怎么測試?

我用Unetbootin和我的bootloader程序iso制作了一個可啟動的閃存驅動器。 切換到虛擬盒並扭曲一點從pendrive啟動,但仍然顯示它是不可啟動的。 我想有人說得對,你需要在操作系統開發方面有很大的耐心。


:phew最后我的bootloader程序運行了...
我使用虛擬軟盤映像在虛擬機上啟動我的程序。 以下是有人在努力解決問題的步驟。
1.創建具有引導加載程序的boot.asm。
2.用nasm編譯。 nasm -f bin boot.asm -o boot.bin。
3.sudo mkfs.msdos -C / home / username /floppy.img 1440
4.sudo chown username ./floppy.img。 鏈接文字
5.與dd復制。 dd if =。/ boot.bin =。/ floppy.img。
6.運行VirtualBox並選擇floppy.img作為新虛擬機中的啟動設備。
PS:您也可以將floppy.img附加到設備“loop”並將其安裝為真正的軟盤。

在所有存儲位置/檢索方法中,CD-ROM / El-Torito是奇怪的(並且不要讓我開始使用Mac CDROM文件系統混合)

使用Floppy,Harddisk / USB或PXE-TFTP,只需將對象代碼寫入第一個扇區,或者在tftp的情況下,只需下載並執行即可。 這些都不容易。

試試WinISO,它對我來說非常適合。

一個非常簡單的腳本將在linux中執行此操作,如下所示: -

rm -f disk_images/myos.iso
mkisofs -quiet -V 'MYOS' -input-charset iso8859-1 -o disk_images/myos.iso -b myos.flp disk_images/ || exit

軟盤驅動器如下: -

nasm -f bin -o boot.bin boot.asm
dd if=boot.bin of=floppy.img count=1 bs=512 //for the bootloader

dd if=boot.bin of=floppy.img skip seek=1 count=1339 //assuming a 1.44Mb floppy

然后你有文件系統

mkdosfs (or whatever system you want ) -C floppy.img 1440

如果您需要Windows的幫助,請告訴我:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM