1

現在、mkisofs、dd、およびアセンブリで遊んでいます。簡単なブートローダーを作成しました:

BITS 16
;-------------------
;SIMPLE BOOTLOADER
;-------------------
start:
    mov ax, 0x07C0
    mov ds, ax

    mov si, welcmsg
    call printstr

    mov ah, 0Eh
    mov al, 65
    int 10h

    cli;
    hlt;    

printstr:
    pusha
    mov ah, 0Eh
    .loop:
        mov al, byte [ds:si]

        cmp al, 0
        jz .end
        int 10h

        inc si
        jmp .loop
    .end:
        popa
    ret
;-------------------
;DATA
;-------------------
welcmsg: db "Welcome!", 0x0D, 0x0A, 0
;-------------------
;FILL
;-------------------
times 510-($-$$) db 0
dw 0xAA55

NASMを使用してLinuxでコンパイルしました。コンパイルが成功した後、512 バイトの .bin ファイルの内容をコピーし、それを Okteta 16 進エディターで空の .img ファイルに貼り付けました。

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

次に、mkisofs を使用して .iso ファイルを作成しました。

mkisofs -U -D -floppy-boot -b  boot.img -c boot.catalog -hide boot.img -hide boot.catalog -V "test" -iso-level 3 -L -o test.iso content

この .iso イメージを仮想マシンの設定に追加し、起動しました。私の問題の顔はVirtualBoxエラーメッセージです:

FATAL: No bootable medium found.

私が間違っていることを誰かが知っていますか?どうすればそれを機能させることができますか? 助けてください。

4

1 に答える 1

1

これは、 SOでブートローダーの開発に取り組んでいた他の誰かです。OSDevでさらに多くのアイデアを確認し、ゼロから構築するような人々のコミュニティに接続することをお勧めします。あなたの努力がなぜ起動しないのかについては、Using Virtualbox as a bootloader testing environmentを確認する必要があるのではないかと思います。前に言ったように、あなたは素晴らしいスタートを切りました。乾杯!

于 2013-02-07T18:37:25.063 に答える