30.2. Uma Investigação Detalhada do Processo de Inicialização
O início do processo de inicialização varia de acordo com a plataforma de hardware sendo usada. Entretanto, uma vez que o kernel é encontrado e carregado pelo carregador de inicialização, o processo de inicialização padrão é idêntico em todas as arquiteturas. Este capítulo concentra-se principalmente na arquitetura x86.
30.2.1. O BIOS
Quando um computador x86 é inicializado, o processador procura pelo programa Basic Input/Output System (Sistema Básico de Entrada/Saída), ou BIOS, no final da memória do sistema e o executa. O BIOS controla não apenas o primeiro passo do processo de inicialização, mas também oferece o nível mais baixo de interface para os dispositivos periféricos. Por este motivo, encontra-se em memória apenas leitura e está sempre disponível.
Outras plataformas usam programas diferentes para executar tarefas de nível baixo, praticamente equivalente àquelas do BIOS em um sistema x86. Por exemplo, computadores baseados no Itanium usam o Shell Extensible Firmware Interface (EFI).
Once loaded, the BIOS tests the system, looks for and checks peripherals, and then locates a valid device with which to boot the system. Usually, it checks any diskette drives and CD-ROM drives present for bootable media, then, failing that, looks to the system's hard drives. In most cases, the order of the drives searched while booting is controlled with a setting in the BIOS, and it looks on the master IDE device on the primary IDE bus. The BIOS then loads into memory whatever program is residing in the first sector of this device, called the Master Boot Record or MBR. The MBR is only 512 bytes in size and contains machine code instructions for booting the machine, called a boot loader, along with the partition table. Once the BIOS finds and loads the boot loader program into memory, it yields control of the boot process to it.