6

我在 Windows 7 上使用 VirtualBox 4.1.14,并试图让它运行我的测试操作系统。我正在使用下面的汇编代码,我正在编译它

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

我正在尝试将生成的 bin 文件转换为 VB4.1.14 可以使用的 ISO(我不想花钱或受到试用程序的任何限制)。我曾尝试下载不同的转换器,如 bin2iso,但每当我尝试打开其中的生成 ISO 时,VB 都会出现不同的错误,如 VERR_NOT_SUPPORTED 等。

我希望该解决方案是一个命令行工具,这样我就可以在批处理脚本中使用它来加快测试速度。

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(在 dd 中搜索 windows)为初学者创建软盘。二进制文件仅写入 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 回答