How to run boot loader in VMWare?

Posted by Asim Haroon on Ask Ubuntu See other posts from Ask Ubuntu or by Asim Haroon
Published on 2012-12-06T14:48:39Z Indexed on 2012/12/06 17:21 UTC
Read the original article Hit count: 393

Filed under:
|

I am using Ubuntu as a virtual machine in VMWare. I have used this code to write a boot loader which would write Hello world on the screen.

[BITS 16]
[ORG 0x7C00]

MOV SI, HelloString
CALL PrintString
JMP $


PrintCharacter:

MOV AH, 0x0E
MOV BH, 0x00
MOV BL, 0x07

INT 0x10
RET

PrintString:

next_character:
MOV AL, [SI]
INC SI
OR AL, AL
JZ exit_function
CALL PrintCharacter
JMP next_character
exit_function:
RET

HelloString db 'Hello World', 0

TIMES 510 - ($ - $$) db 0
DW 0xAA55

I wrote this code in the text editor in Ubuntu and saved the file as Boot.asm Then I compiled the Boot.asm to boot.bin file by using this command

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

and it didn't gave me any errors. After that I copied the boot.bin file to my usb and took it to my Windows OS. After this I burned the boot.bin file to boot.img and boot.iso files. Then I created a new virtual machine and named it booter, when it asked for the .iso file of the OS I want to run I gave it the boot.iso file, about which I told above, then I powered on that virtual machine but it gave me this error

PXE-M0F: No boot filename received
PXE-M0F: Exiting Intel PXE ROM
Operating System not found

Please tell me what is the main problem and how can I overcome that problem.

© Ask Ubuntu or respective owner

Related posts about virtualization

Related posts about vmware