Perhaps a bit of a history lesson might clarify things. Maybe not, in which case you can ignore this. Also, if anyone notices an error in this, please feel free to correct me. Note that much of this is no longer relevant at all, as most systems today - including all Ryzen systems I know of - have UEFI instead of Legacy BIOS, and the way those handle booting is quite different if you haven't set them to a Legacy mode.
TL;DR: don't change the MBR. Chances are a modern hard disk won't actually use it anyway (it will be there, as a 'protective MBR', but the actual drive information would be in a
GUID Partition Table and an
EFI System Partition instead, and the MBR is only checked to make sure it isn't a legacy drive), and even if you do, you don't have any reason to write to the drive's zero sector. You need to find out what the zero sector of the partition you want to boot from is, and write to that instead. You'll need to write a special-purpose utility to do that, rather than using
dd or similar tools. Also, your motherboard may support Legacy BIOS routines (using the
CSM), but newer ones - including most
Socket AM4 mobos, which is what you'd have for a Ryzen CPU - often don't, so using INT 0x10 probably won't work anyway.
When
IBM first designed the PC, they had some faulty expectations about the product - through no fault of their own, their crystal ball was out of commission at the time and they'd run out of tea leaves - four of which were a) that CP/M would be the dominant disk-based OS, with UCSD p-System being for top-tier academic use and that
PC-DOS thing being the low-cost option (and for their own part, Microsoft really would have preferred
Xenix to be their main OS product, and saw PC-DOS as a stopgap in the same way Intel saw the 8086 as a way to carry them over while they developed the
iAPX 432); b) the majority of customers would buy the cassette tape based model, since the floppy drive option was half again the price of the intended base model, so the cost of the floppy OS didn't matter; c) the product life would be short, since people would soon get over this 'microcomputer' fad and go back to using batch-processed mainframes as Dog intended; and d) no one would be daft enough to connect an expensive hard drive to a home computer, and even if they did, CP/M would handle it just fine.
Most of these would have been reasonable assumptions in 1980, when the project was started. The first two were already starting to collapse by the time the PC went on sale, however, as users moved away from cassettes, and CP/M-86 got delayed due to unexpected problems unrelated to the PC project.
Just to put this in perspective, in 1980 when the PC was being designed, the price of a
5.25" form factor 5MiB Shugart fixed disk hard drive (as opposed to the massive disk-pack based beasts which IBMers saw as
real hard drives) was somewhere around $1500 in then-current dollars, which is about $4700 today. The base unit price of a 16KiB cassette model PC was projected at $1500 (1980), and the 64KiB floppy drive version at $2000. After factoring in the additional controller hardware, a hard drive would have roughly doubled the price of the most expensive model.
Now, it should be noted here that the original plan was for an 8-bit machine, similar to the Apple II or Commodore PET (the VIC-20 wasn't out just yet, and the C64 was a few years in the future), with the first idea being simply to buy out Atari's home computer division. While legend has it that Bill Gates talked them out of this, they hadn't even talked to him about the PC yet; the actual decision to go to a 16-bit system had to do with internal IBM politics. But that's irrelevant right now.
The point is, neither they nor Microsoft thought that PC-DOS would ever need to handle more than one type of disk. The 360KiB 5.25" floppy was good enough for anyone, at least in the four or five years PCs were expected to be used before a completely different system replaced them (while IBM was all about backwards compatibility usually, at the time the small computer market was shifting so rapidly that everyone saw it as a given that upgrading would mean moving to a completely new hardware and software environment. For the most part this was right, too - companies like Apple, Tandy, and Commodore would be shifting focus to entirely different hardware platforms by 1983, and while they still supported and sold their older systems, the break going from the Apple IIe, TRS-80, and C64 to the Lisa and Macintosh, the CoCo, and the Amiga was seen as natural and necessary.
It was true for the PC eventually, too, but the transition was smoothed out by the fact that while the AT and PS/2 hardware were radically different from the 5150 (and each other) in some ways, they all could still run PC-DOS software despite both IBM and Microsoft already wanting to shift way from that, too.
The sum of this was that the original PC BIOS always booted from the first sector of the floppy, and didn't need any other information from the disk itself to do so. The first versions of PC-DOS (and MS-DOS) had no BPB, since they knew what the disk geometry was going to be. I'm not even sure if the boot signature was a thing yet or not, frankly, though I imagine it was - while most early PCs had only one drive, some had two, and in either case swapping disks was a common procedure when running larger programs (less so than with system which only had single-head drives, like the Apple II, but still), so many disks didn't include a boot sector at all, as you didn't want to waste a usable sector if you didn't need to.
It was only around 1983, when hard drive prices had dropped significantly, 3.5" floppy disks and high density and 5.25" drives were starting to come out, and CP/M-86 had bungled its intended role as the main PC disk OS, that Microsoft reconsidered this a bit. The fact that - due to some clever wording in their contract - they were free to sell
MS-DOS separately, and could even sell as an OS for unrelated 8086/88 hardware such as the
AT&T 6300 and the DREC Painblow - sorry, I mean '
DEC Rainbow' - also caused them to reconsider DOS design. They needed a way to determine the disk geometry at boot time, without relying on any changes to the ROM BIOS itself - it was long before flashable BIOS, so changing the BIOS on an existing system would require a soldering iron. They settled on putting the BIOS Parameter Block at the start of the boot sector, but since the BIOS always jumped to the start of the loaded sector, they had to have a jump at the very beginning to go around the BPB. This, and the hard drive support I'll discuss next, appeared in PC-DOS 2.0.
When clone PCs started coming out (as opposed to work-alikes such as the Rainbow, which behaved almost the same but weren't actually compatible), some of the clone BIOS designers started treating that initial JMP SHORT as a sort of secondary boot signature; this was useful, since at the time PC-DOS/MS-DOS was very nearly the only game in town. Using that served as a secondary check, since it was possible, however unlikely, that a data disk would just happen to have a 0x55AA at the end of the sector zero. While not all BIOSes required this, enough did that it became standard practice, so other PC OSes at the time - which mostly meant DR-DOS and 4DOS, both of which used FAT12 anyway and thus had a BPB on their disks - had to follow Microsoft's lead on this.
Meanwhile, by 1983 IBM had introduced the
PC/XT, which still used the 8088 but now had more on-motherboard memory capacity and had a 10MiB hard drive in the top-tier models. While they had added hard drive support to the BIOS, it still would always boot from the first sector. Both IBM and Microsoft could see that this could lead to problems, however, as it was common practice even then to partition large drives into several smaller logical 'drives'. Thus, a developer at MS designed the original
Master Boot Record to accommodate multiple drive partitions. These were introduced with PC-DOS 2.0 as well.
Basically, the MBR was a compromise between the rather simple boot process IBM used, and the need to support multiple partitions. It let the BIOS load in sector zero, just as before, but allowed the system to have a volume record inside that same sector both to keep track of the partitions themselves, and to let the owner configure which of those partitions would be the boot partition. This was fortunate, since it also meant that having a boot manager for multi-booting would be feasible later on, but that wasn't the intended purpose originally. It also meant that reformatting a partition didn't require the MBR bootstrap code to be changed, only the partition table data.
This is important to understand: you, as an OS developer,
should never touch the MBR of the disk when installing your volume boot code. You may need to write a utility that changes the partition data at some point, but that's separate from the process of installing your volume boot record. There is hardly ever a need to touch the MBR boot code itself, so writing your VBR to the zeroth sector of the disk itself is the Wrong Thing To Do.
In the original design, the MBR would be loaded by the BIOS to 0000:7C00, just as a floppy disk's boot sector would be. The original MBR design has two sections, a minimal boot loader in the first 446 bytes, and the volume record table in the remaining 66 bytes. While later variants on the MBR would have different overall structures, the one thing that remained constant was the size and location of the partition table.
The way it worked was simple: the MBR bootstrap code would first relocate itself to some other part of memory. It then goes through the partition table to find which one was the boot volume, and then load the first sector of the boot volume - the
Volume Boot Record, which is the part you'd be adding - into 000:7C00 (this was meant to minimize the differences between a floppy boot sector and a VBR).
As with the JMP SHORT at the start of the boot record, various BIOS implementations started using the partition table header as a 'validity signature'. This makes sense, since a hard drive without an MBR is pretty much unreadable, and will need to have the MBR replaced (or at least the partition table, if there are not bootable partitions). Thus, even though it wasn't in any official specification originally, it became a requirement for any hard drive to have a valid partition table.
The partition table also includes information about the drive geometry and the type of file system the partition is formatted with, so any tool for formatting a drive will also need to be able to set the volume type in the partition table.
With USB drives, as others have already said, there are to ways to handle the disk: it can either emulate a floppy, or it can emulate a hard disk. I don't know off-hand how this is handled, but I will say that a) emulating a floppy limits the total usable size of the drive, and b) IIUC, most newer Legacy BIOS and UEFI BIOS have dropped support for floppy emulation.