Short version: If the MBR is only 256 bytes and the partition table is 4 bytes, what fills all the space between the beginning of the device and the start of the first sector on it?
More information: When I run sfdisk -l /dev/sda
(which is the system drive on this Pi system), I get:
Disk /dev/sda: 117.2 GiB, 125829120000 bytes, 245760000 sectors
Disk model: USB DISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x45d5fb5b
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 8192 532479 524288 256M e W95 FAT16 (LBA)
/dev/sda2 532480 245759999 245227520 117G 83 Linux
I wanted to be clear the Start and End columns are in sectors, so I did quick math: 532,479-8192 = 524,287. One less than the 524,288 number for total sectors in sda1, so looking at the start being sector 8,192, that works out and tells me that the Start and End columns are given in sectors. If a sector size is 512, that means if we start with sector 0 (and I don't know if that's correct), there are 8,192 blocks before the first partition, or 4,194,304 bytes, or 4MB.
If the MBR is 512 bytes (which includes the partition table), what is in the rest of that 4MB at the start of the device?
I'm working on a drive copy script for Pis (so it only works with MBR drives - at least for now), and I know I have to copy the partition table, data in the partitions, and the MBR. I'm wondering what else is in that space up front and if that data is best copied over to the new block device.