liwinux wrote:I think guys you were all right. My bios is really trying to look for a BPB but as I didn't created one, it ends up messing my code..
I'm pretty sure that's not the case. If that were true, that would mean you couldn't boot anything else than FAT file systems, but I'm pretty sure you can boot Windows (NTFS) and Linux (ext2/3/4) on those machines just fine, so that cannot be the reason, it just happens your issue looks like it. (Plus it would mean no GPT table, no MBR partitions allowed on your machines, again, I'm sure that's not true. BPB is part of the VBR, and not the MBR.)
If I were you, I'd look for a different reason. Probably you need the 3 bytes jump at the beginning and the 2 bytes of magic at the end of the sector, but that's all.
AGAIN: the BPB, despite what its name suggests, is
not part of the BIOS, it is part of the FAT12/FAT16/FAT32 file systems, and those file systems only. Nothing else uses it, and BIOSes are not checking for it (they actually can't check for it, that's just not possible). BIOSes should check for the magic bytes at the end, some BIOS might check for a jump instruction at the beginning, end of story. Nothing about the BPB after the starting jump check is mandatory (actually differs in FAT12/16/32), and it never was mandatory. Not even old DOS (3.3 and up) and Windows (3.11, 95, 98) version installed a BPB in the MBR.
Cheers,
bzt