I'm trying to boot a custom made-in-ASM OS on my recent laptop. The OS is intended to be installed on a floppy and during make creates a bootable floppy.

Since I don't have a floppy drive, I installed it on a virtual floppy. After that I used WinToFlash's create bootable MS-DOS USB drive option to transfer the floppy image to an USB flash drive. Then I tried to boot my computer from it but got only a repeating broken string on screen.

After all that I made a virtual hard disk image form the flash drive using this tutorial and tried to boot a virtual machine from it. First time I got same problem as on real computer. I then used the reset option and next time and every time after that OS booted correctly. The virtual machine itself was made using Windows XP template and previously hosted a Windows XP virtual drive.

My question is: How do I figure out what exactly happened to the virtual machine between first and second boot?

UPDATE
I just created a new VM with default settings for windows XP and it has the same problem that I have on a real computer. I was unable to reproduce the procedure which made the first VM work correctly.

1 Answer
1

Well the bruteforce way would be to get the logs from both virtual machines and then compare them using a diff utility. The logs seem to have absolutely all information about the virtual hardware. The main bad side of this approach is that too much information is given and it takes time to determine which differences are important and which aren't, especially if virtual hardware isn't 100% same.