Para "carregá-los" significa copiá-los da mídia de inicialização (disco rígido, CD, pendrive, ...) para a RAM do sistema.
A CPU só pode receber instruções diretamente do BIOS ou da RAM; Para executar um programa armazenado no disco rígido, é necessário que haja um programa que já esteja acessível e torne o outro programa acessível.
Na inicialização do sistema, há apenas o BIOS, que sabe como testar a RAM quanto a defeitos e ler dados do disco rígido. A BIOS carrega o gerenciador de inicialização, que é colocado para que possa ser encontrado facilmente (no início do disco ou em uma partição especial).
O bootloader é um programa intermediário que basicamente executa a mesma função que o BIOS - ele carrega o próximo programa. Ao contrário do BIOS, ele é feito especificamente para carregar o Linux, portanto ele sabe como ler o Formato de Executável e de Vinculação (que é usado para programas no Linux), e ele sabe que também deve ler o arquivo initrd na memória e passar o endereço onde seu conteúdo pode ser encontrado para o kernel Linux.
O kernel em si pode ser encontrado no diretório /boot
, com um nome de vmlinuz-
seguido por um número de versão, e no momento em que você pode executar comandos, uma cópia dele está em algum lugar na memória do sistema; o endereço exato é imprevisível.