Цитата
...наверняка сея проблема распространена и есть какие либо классические решения...
Классические решения есть - это загрузка операционных систем в PC с внешнего носителя (диска например).
Всегда имеется аппаратный ("железный") загрузчик, которому передается управление после включения питания и успешной отработки тестов (POST-процедур). На самом деле он, конечно, программный по сути, но находится в BIOS и поэтому всегда изначально присутствует в памяти.
Вся задача аппаратного загрузчика - считать с выбранного носителя начальный загрузчик. Про организацию носителя он ничего не знает (какая там FAT и пр.), просто читает начальную область носителя (512 байт), где должен находится начальный загрузчик, в фиксированную область памяти и передает ей управление. Начальный загрузчик тоже много сделать не может, так как должен укладываться в эти фиксированные 512 байт. Его задача - "вытащить" с диска основной загрузчик и передать ему управление. Вот тот уже может быть любого размера, умеет обращаться со структурой носителя, работать с файловой системой, загружать и выполнять программы и так далее... Вот, примерно так, в первом приближении...