Hi,
I have written bootloader for AVR using Codevision and WinAVR, I worked with MicroSD, I can do your project but there is a limitation, Atmega2560 has 8KB for bootloader and using available fat library needs more than 12KB. We need to consider some precondition for this bootloader, for example we can say the bin file which we want to load is the first file in fat, its size is fixed and it's copied to a fresh formatted MicroSD.
I will try to fit the code to 8KB with no limitation.
I made a bootloader for atmega2560 with size of 4KB, send me a pm, I can give the hex file to test it on your board.