O firmware do BIOS não escolhe realmente o bootloader. Ele carrega o código do setor 0 de uma unidade e o executa. O que quer que esteja lá, será executado. Espero que seja um bootloader (ou algo que carregue um bootloader), mas não precisa ser. Nos primeiros dias do PC, você tinha jogos em disquetes que simplesmente eram inicializados e executados sem um SO - agora eles são chamados de "inicializadores".
O firmware UEFI realmente entende as partições e os sistemas de arquivos e verifica as unidades para um tipo de partição do Sistema UEFI. Como este é um sistema de arquivos, vários gerenciadores de inicialização podem ser colocados aqui. O firmware UEFI deve fornecer um menu ou outra maneira de selecionar qual bootloader é usado.
Muitos sistemas UEFI estão inicializando no "Modo legado" - no qual o UEFI carrega um "Compatibility Service Module" - algo que faz com que pareça um BIOS - e funciona como o BIOS.
O GRUB é um gerenciador de boot de código aberto comum que pode inicializar o Linux ou "chainload" (dar controle a) um gerenciador de inicialização do Windows (geralmente winload.exe na pasta Boot de uma partição do Windows). O GRUB é o que está lhe dando a capacidade de tomar uma decisão. O GRUB pode ler arquivos de configuração e escolher sua opção padrão.
Leia este se você quero detalhes copiosos e sangrentos.