I wrote a bootloader and I need it to be written to a USB drive. Since I am on Windows, my bootloader must support file systems such as FAT32 and FAT16 etc. I have used BPB (BIOS Parameter Block) for that purpose. I am aware that a USB drive is comprised of sectors.

But does it have any head, tracks etc. ? Because, this information are to be mentioned in the Bios Parameter Block.

  • 3
    Isn't this the third time you have asked this question? USB is not comprised of sectors or heads. It is a serial transmission method/protocol, which outdated RS232. It is one method used to communicate with removable external disk drives. – Weather Vane Dec 19 '15 at 20:30
  • I dont find answers still..thats why. If so, how can I load the content of usb in memory? @ Weather Vane – Karthick Raja Dec 19 '15 at 22:39
  • I don't know. You are asking the wrong question. USB has nothing to do with BPB or drive details in themselves, although it may be used to transfer such data through a USB connection. If you are trying to put a bootloader onto a USB drive, you'll probably just break it. – Weather Vane Dec 19 '15 at 23:01

Assuming you're using the BIOS INT 13h to read from the USB drive, then the BIOS will translate addresses as needed to work with the USB drive. Current boot loaders check for INT 13h extensions, and if present, use the extended version of read sectors, with a 64 bit logical sector address instead of CHS (cylinder / head / sector) to avoid the size limitations of the old interface. However a classic master boot record only has 32 bit values for starting sector and number of sectors for each primary partition, which limited drive size to 2 tera-bytes.

Wiki articles:





USB drives don't have head, tracks or sectors. Only hard disks have. Maybe your Bios parameter block is unable to handle USB drives.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy