Микропрограмма BIOS на самом деле не выбирает загрузчик. Он загружает код из сектора 0 диска и выполняет его. Что бы там ни было, оно выполнится. Надеюсь, это загрузчик (или что-то, что загружает загрузчик), но это не обязательно. В первые дни ПК у вас были игры на гибких дисках, которые просто загружались и работали без ОС - теперь они называются «загрузчиками».
Микропрограмма UEFI фактически распознает разделы и файловые системы и сканирует диски на наличие системного раздела UEFI. Поскольку это файловая система, здесь можно разместить несколько загрузчиков. Предполагается, что прошивка UEFI предоставляет меню или другой способ выбора используемого загрузчика.
Многие системы UEFI загружаются в «унаследованном режиме», где UEFI загружает «служебный модуль совместимости», что делает его похожим на BIOS, и фактически работает как BIOS.
GRUB - это обычный загрузчик с открытым исходным кодом, который может загружать Linux или «загружать цепочку» (предоставлять контроль) загрузчику Windows (обычно winload.exe в папке Boot раздела Windows). GRUB - это то, что дает вам возможность принять решение. GRUB может читать файлы конфигурации и выбирать из них свой выбор по умолчанию.
Прочитайте это, если вы хотите обильные, кровавые детали.