Как создать ОС на C ( Для практики )?
На С будет тоже самое, что на асме, поскольку ваш подход некорректен.
Вдобавок, Си будет навязывать вам использование библиотек, а поскольку ОС своя, то библиотек не будет и придется вставлять кучу вставок на ассемблере.
Практически все современные ОС в своем загрузчике реализуют простейшую поддержку файловой системы, чтобы можно было уже грузить основное ядро. Правда активно используются прерывания BIOS.
А вообще, возьмите и разберите GRUB, исходники открыты - https://www.gnu.org/software/grub/grub-download.html
С этим сюда:
Как на C писать ядро для минимальной ОС?