6

Windows 7 で VirtualBox 4.1.14 を使用しており、テスト OS で実行しようとしています。私は以下のアセンブリコードを使用しており、それをコンパイルしています

nasm -f bin -o boot.bin boot.asm

得られた bin ファイルを VB4.1.14 が使用できる ISO に変換しようとしています (お金を払ったり、試用プログラムから制限を受けたりする必要はありません)。bin2iso などのさまざまなコンバーターをダウンロードしようとしましたが、VERR_NOT_SUPPORTED などのように、結果として得られる ISO を開こうとするたびに、VB はさまざまなエラーを表示します。

テストを高速化するためにバッチ スクリプトで使用できるように、ソリューションをコマンド ライン ツールにしたいと考えています。

BITS 16

start:
    mov ax, 07C0h       ; Set up 4K stack space after this bootloader
    add ax, 288     ; (4096 + 512) / 16 bytes per paragraph
    mov ss, ax
    mov sp, 4096

    mov ax, 07C0h       ; Set data segment to where we're loaded
    mov ds, ax


    mov si, text_string ; Put string position into SI
    call print_string   ; Call our string-printing routine

    jmp $           ; Jump here - infinite loop!


    text_string db 'This is my cool new OS!', 0


print_string:           ; Routine: output string in SI to screen
    mov ah, 0Eh     ; int 10h 'print char' function

.repeat:
    lodsb           ; Get character from string
    cmp al, 0
    je .done        ; If char is zero, end of string
    int 10h         ; Otherwise, print it
    jmp .repeat

.done:
    ret


    times 510-($-$$) db 0   ; Pad remainder of boot sector with 0s
    dw 0xAA55       ; The standard PC boot signature
4

2 に答える 2

11

dd (windows は dd で検索) を使用して、初心者用のフロッピーを作成できます。バイナリは、1440 kib ファイルの最初の 256 バイトに書き込まれます。

dd if=/dev/zero of=floppy.img ibs=1k count=1440
dd if=boot.img of=floppy.img conv=notrunc

さあ、いくぞ:

于 2012-05-13T13:10:39.870 に答える
1

別の質問に対するこの回答mkisofsのようにツールを使用できます。このツールは Linux でも利用できます。

于 2012-05-13T22:18:48.053 に答える