The GPIO Pins define what boot option is choosen:

Is this handled in the bootloader? Can this be changed?
My problem is that I use GPIO15 also as digital Input. Sometime when I have an external reset (RST PIN) the GPIO15 is still high. So my esp8266 tries to boot from sd card and crashs. In this case I'm unable to reset the esp8266 again. the only thing that helps is a power down.
My idea is to change the bootloader that the GPIO15 pin is ignored at boot. Is this possible?