This is just for interest sake, only, for now.
I recently bought a Nano, to go inside a gizmo. Failed to upload a test prog. at first. I had to select Nano (with old bootloader).
For this instance, it doesn't matter, as it is a one off.
So, for the sake of any future occurence, I would like to know how I upload a new bootloader.
I know it can be done from an external programmer, and doing a quick check, I found I could use a Uno to do it.
The "new" bootloader .hex files (which are just the same bootloader that Uno has been using since ... nearly forever) are part of the Arduino distribution, and the IDE knows both where they are and how to program them. So once you have a programmer (or another Arduino with the "Arduino as ISP" sketch loaded) wired up properly (and properly configured WRT "programmer" and "port" in the tools menu), all you have to is select "Burn Bootloader" from the tools menu...
For deeper info and even newer bootloaders, see GitHub - Optiboot/optiboot: Small and Fast Bootloader for Arduino and other Atmel AVR chips
You can also put the Uno bootloader on a Nano, this will give you slightly more program memory for your sketch because the Nano bootloaders reserve more memory for the bootloader itself. The sketch can also be loaded using an ISP programmer, but this removes the bootloader in the process, so updating the sketch over USB will no longer work.