Sim, carregadores de inicialização e gerenciadores de inicialização são iniciados diretamente pelo firmware.
(Embora alguns firmwares sejam tão complexos que você poderia praticamente chamar a UEFI de "OS" e seus bootloaders "programas UEFI" ...)
- O Gerenciador de inicialização do Windows pode existir sem o Windows? Sim.
- Poderia substituir o GRUB? Talvez talvez não. (Embora dependa de qual SO você entende por "UNIX"!) Seria mais fácil em UEFI do que em BIOS.
- O GRUB pode substituir o gerenciador de inicialização do Windows? Talvez talvez não. (Depende da versão do Windows.)
O problema é que os kernels do SO têm diferentes maneiras de serem iniciados, e esperam que o bootloader forneça certos parâmetros iniciais, como qual disco inicializar, qual "linha de comando do kernel" usar, onde o Linux initramfs está em. Por exemplo, aqui está o protocolo de inicialização do Linux , e aqui está o Multiboot spec usado por alguns BSDs.
Portanto, você não pode dizer ao Windows BOOTMGR para iniciar o vmlinuz
diretamente, e você não pode dizer ao GRUB para iniciar o ntoskrnl.exe
diretamente.
No entanto, às vezes esse trabalho não é feito pelo próprio gerenciador de inicialização, mas sim por um pequeno gerenciador de inicialização "stub" que pode ser iniciado de maneira padrão. E esse bootloader stub poderia ser iniciado por um gerenciador de boot diferente do normal.
-
Por exemplo, o Windows BOOTMGR inicia pela primeira vez
winload.efi
e que é onde todas as preparações para iniciarntoskrnl
são feitas.Isso significa que você pode fazer o GRUB inicializar o Windows iniciando
winload.efi
, sem passar pelo BOOTMGR. -
Da mesma forma, os kernels Linux muitas vezes vêm com um "stub EFI" integrado, de modo que o próprio kernel pode ser executado como um programa UEFI independente.
Portanto, se seu kernel Linux tiver sua própria opção "EFISTUB" ativada, ou o stub systemd-boot anexado, você poderá fazer o Windows BOOTMGR iniciá-lo diretamente sem usar o GRUB ou qualquer outra coisa.