Nunca me senti confortável com drivers, só agora estou aprendendo sobre UEFI e tentando entender o quanto UEFI cria seu próprio sistema operacional com este exemplo.
Quando inicializo um sistema Windows 10 moderno (que, portanto, usa UEFI) com uma unidade USB, acredito que o controlador EFI da placa-mãe se comunica diretamente com o controlador USB até obter o código "BOOTX64.EFI" na RAM e, em seguida, inicia a CPU . (Eu provavelmente deveria pelo menos escrever "começa efetivamente" - por favor, perdoe minhas explicações simplificadas demais.)
Então, se esse código EFI for especialmente projetado para usar a porta USB, a CPU (em vez do controlador EFI) fará o trabalho de comunicação. Todos os drivers USB para isso podem ficar na partição EFI, então digamos que eles não estejam associados ao Windows.
Então, se esse código finalmente inicializar o Windows (localizado em uma segunda partição na unidade USB), os drivers USB do Windows serão usados.
Então, podemos realmente ter esses 3 modos USB distintos? Para destacar as diferenças, deixe-me chamá-los de "Sem CPU", "CPU para UEFI" e "CPU para Windows".
Normalmente, "CPU para UEFI" é ignorável (porque "BOOTX64.EFI" é o programa de inicialização do Windows), então eu me pergunto se talvez este modo seja completamente eliminado em favor de "Sem CPU" (gerado por alguma chamada da CPU para o controlador EFI).
Não existe "controlador EFI". EFI é um tipo de firmware do sistema principal e é executado na mesma CPU do sistema operacional real. A CPU e a RAM já terão sido totalmente inicializadas e executadas quando você vir qualquer tipo de texto ou gráfico vindo da EFI.
Nesse ponto, o firmware EFI até funciona de maneira muito semelhante a um sistema operacional: possui um kernel que roda na CPU; usa toda a RAM do sistema; possui uma estrutura de driver (permitindo acessar dispositivos USB, dispositivos SATA, dispositivos NVMe); ele pode ler arquivos de sistemas de arquivos e pode iniciar executáveis (arquivos .efi).
Portanto, na maioria dos casos, você está lidando com dois modos: o pendrive é acessado por UEFI ou é acessado pelo Windows. (Embora eu tenha visto algumas placas-mãe com algum suporte USB "pré-UEFI", usado para recuperar atualizações de firmware malfeitas quando a ROM do firmware está danificada.)
As CPUs têm um controlador interno que lida com a inicialização mais básica do sistema, por exemplo, a Intel o chama de "Mecanismo de gerenciamento", mas na verdade não inicializa o sistema operacional principal diretamente, apenas inicializa o firmware UEFI.
Não, a partição EFI geralmente não contém nada disso. A maioria dos drivers, especialmente aqueles necessários para lidar com o hardware integrado da placa-mãe, são embutidos diretamente na imagem principal do firmware que é mantida na memória flash da placa-mãe.
(Na verdade, o EFI tem um recurso para carregar drivers externos da partição EFI, mas isso é muito raramente usado em comparação. Ele pode ser usado para carregar um driver de sistema de arquivos, por exemplo, dando ao EFI a capacidade de carregar arquivos de uma partição NTFS.)