Yes, there are multiple options. I think the most user friendly one is avr_boot: GitHub - zevero/avr_boot: Arduino Bootloader to Flash from SD Card because unlike all the other options I've seen it has prebuilt bootloaders and an Arduino IDE compatible hardware package which can be installed via Boards Manager or manually. It supports many different boards/microcontrollers and SD shields in various configurations. It is the most actively developed of all the SD card bootloaders I've seen.
The disadvantages of avr_boot are:
- It doesn't support serial uploads(you can only load the program from the SD card)
- It doesn't support Arduino Mega 2560
- The bootloader is fairly large(4kB)
There are some other options listed at: