Se o seu firmware suportar UEFI, ele (ou a Option ROM) também incluirá um driver UEFI para o controlador.
O mesmo é válido para todos os outros componentes que o seu PC pode inicializar (ou seja, normalmente USB, CD-ROM, rede com fio). Outros componentes geralmente não possuem drivers BIOS / UEFI.
Os sistemas operacionais podem usar os drivers BIOS ou UEFI (por exemplo, DOS ou Windows 95), mas a maioria dos sistemas operacionais modernos tenta evitar o incômodo e contornar as limitações dos drivers BIOS e use seu próprio formato de driver.
Limitações comuns dos drivers do BIOS:
- geralmente desempenho de leitura ruim e desempenho de gravação ainda pior
- suportado apenas se apenas o primeiro processador / núcleo estiver ativado
- funciona apenas no modo de 16 bits (o que implica em tarefa única e memória endereçável de 640 KB)
- funciona apenas se o gate A20 estiver desmarcado (o que implica em 1MB de memória endereçável)
O que significa que durante a inicialização, os sistemas operacionais modernos terão que alternar repetidamente entre o modo de tarefa única de 16 bits e 32 bits / 64 bits e repetidamente alternar o gate até que tenham lido o kernel do SO e pelo menos o disco driver em memória alta (640K geralmente não é suficiente hoje); em seguida, eles alternarão para o modo multitarefa e continuarão carregando o restante do sistema operacional usando o kernel e o driver de disco agora carregados.
As limitações de UEFI são menos ruins (os drivers UEFI são executados no modo de 64 bits, mas ainda exigem um modo de tarefa única e apenas um núcleo ativado), mas ainda são ruins o suficiente para não conhecer nenhum sistema operacional que tente usar UEFI drivers after boot - e que provavelmente também é a razão pela qual ninguém escreveu um navegador da Web para o UEFI puro (os navegadores da Web são inerentemente multiencadeados e seria difícil criar um navegador da web de thread único com bom desempenho).