30.2. 부트 프로세스에 대한 자세한 정보

부트 프로세스를 시작하는 방법은 사용되고 있는 하드웨어 플랫폼에 따라 다양합니다. 하지만, 일단 커널이 발견되어 부트 로더에 의해 읽어지게 되면, 기본 부트 프로세스는 모든 아키텍쳐에서 동일합니다. 이 장에서는 x86 아키텍쳐에 중점을 두어 설명하겠습니다.

30.2.1. BIOS

x86 컴퓨터를 부팅할 때, 프로세서는 Basic Input/Output System 또는 BIOS 프로그램에 해당하는 시스템 메모리를 확인하고 이를 실행합니다. BIOS 제어는 부트 프로세스의 첫 번째 단계일 뿐 만 아니라 주변 장치에 최저 수준 인터페이스를 제공합니다. 이러한 이유로 이는 읽기 전용의 영구 메모리에만 기록되며 항상 사용 가능합니다.
다른 플랫폼은 x86 시스템에 있는 BIOS의 작업에 상응하는 저수준 작업을 실행하기 위해 다른 프로그램을 사용합니다. 예를 들어, Itanium 기반 컴퓨터는 EFI (Extensible Firmware Interface) Shell를 사용합니다.
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.