Well, I appreciate seeing the MBR and the partition table, and re-learning something from my past:mpack wrote:Note that I said that the error means that a boot sector was found at sector 0, so you are not showing the important sector - we already knew that sector 0 was good.
The MBR is most likely a (Windows 2000/XP MBR). Depending on the drive geometry returned by Get Drive Parameters (INT 13h function 08h), the MBR code will either use Read Sectors (INT 13h function 02h) with the CHS First Sector values (0,1,1), or Extended Read Sectors (INT 13h function 42h) with the LBA First Sector value (56).
The partition table would be fully consistent if the drive really had 56 SPT (Sectors Per Track). Therefore, I suspect that the returned drive geometry is (1023,254,63) and sector 63 is read instead of sector 56. But it could also be the other way around, so I'd take a look at both sectors 56 and 63.
If I'm suspecting correctly, wouldn't it be better to patch the VDI header instead of the MBR (and the VBR)?