There are too many problems encountered by gcc in the boot program in 16-bit mode, but it took a lot of effort to solve them one by one.
My own small demo has also increased from 1 sector at the beginning to more than 20 sectors.
Make a mark on the picture first, and then add the code when there is time.