Linux 2단계 부트 로더
GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR 또는 iBoot와 같은 2단계 부트 로더는 그 자체로는 운영 체제가 아니지만 운영 체제를 올바르게 로드하고 실행을 전송할 수 있으며, 이후 운영 체제가 스스로 초기화되고 추가 장치 드라이버를 로드할 수 있습니다. 2단계 부트 로더는 자체 작동을 위한 드라이버가 필요하지 않지만, 일반적으로 하드웨어 기능이 제한되고 성능이 낮지만 BIOS 또는 오픈 펌웨어와 같은 시스템 펌웨어에서 제공하는 일반 스토리지 액세스 방법을 사용할 수 있습니다.

많은 부트 로더는 사용자에게 여러 부팅 옵션을 제공하도록 구성할 수 있습니다. 이러한 선택 사항에는 다른 운영 체제(다른 파티션 또는 드라이브에서 이중 또는 다중 부팅), 동일한 운영 체제의 다른 버전(새 버전에 예기치 않은 문제가 있는 경우), 다른 운영 체제 로딩 옵션(예, 복구 또는 안전 모드로 부팅), 운영 체제 없이도 작동할 수 있는 일부 독립 실행형 프로그램(예: 메모리 테스터(memtest86+), 기본 셸(GNU GRUB에서와 같이) 또는 게임(PC 부트 로더 게임 목록 참조) 등.일부 부트 로더는 다른 부트 로더를 로드할 수도 있습니다(예: GRUB는 Windows를 직접 로드하는 대신 BOOTMGR을 로드합니다). 일반적으로 기본 선택 항목은 사용자가 키를 눌러 선택 항목을 변경할 수 있는 시간 지연과 함께 미리 선택되어 있으며, 이 지연이 지나면 기본 선택 항목이 자동으로 실행되므로 상호 작용 없이 정상 부팅이 이루어질 수 있습니다.

컴퓨터가 사용자와 상호 작용할 준비가 되었거나 운영 체제가 시스템 프로그램 또는 애플리케이션 프로그램을 실행할 수 있으면 부팅 프로세스가 완료된 것으로 간주할 수 있습니다.

많은 임베디드 시스템은 즉시 부팅해야 합니다. 예를 들어, 디지털 텔레비전이나 GPS 내비게이션 장치가 시작될 때까지 잠시 기다리는 것은 일반적으로 용납되지 않습니다. 따라서 이러한 장치에는 소프트웨어 시스템이 ROM 또는 플래시 메모리에 있어 장치가 즉시 작동을 시작할 수 있으며, 장치 제작 시 로딩을 미리 계산하여 ROM에 저장할 수 있으므로 로딩이 거의 또는 전혀 필요하지 않습니다.

크고 복잡한 시스템에는 운영 체제 및 기타 프로그램이 로드되어 실행할 준비가 될 때까지 여러 단계로 진행되는 부팅 절차가 있을 수 있습니다. 운영 체제는 시작하거나 중지하지 않는 것처럼 설계되었기 때문에 부트 로더는 운영 체제를 로드하고 해당 시스템 내에서 단순한 프로세스로 자신을 구성한 다음 취소할 수 없이 운영 체제로 제어권을 이전할 수 있습니다. 그런 다음 부트 로더는 다른 프로세스처럼 정상적으로 종료됩니다.
2단계 부트로더는 실제로 두 개의 부트로더로 구성됩니다. 첫 번째 부트로더는 두 번째 부트로더를 로드하기 위한 목적으로만 작습니다. 두 번째 부트로더는 커널 로딩에 필요한 모든 코드를 포함할 수 있습니다. GRUB은 두 단계(또는 세 단계)를 사용합니다.
Linux Second-stage boot loader
Second-stage boot loaders, such as GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR or iBoot, are not themselves operating systems, but are able to load an operating system properly and transfer execution to it; the operating system subsequently initializes itself and may load extra device drivers. The second-stage boot loader does not need drivers for its own operation, but may instead use generic storage access methods provided by system firmware such as the BIOS or Open Firmware, though typically with restricted hardware functionality and lower performance.

Many boot loaders can be configured to give the user multiple booting choices. These choices can include different operating systems (for dual or multi-booting from different partitions or drives), different versions of the same operating system (in case a new version has unexpected problems), different operating system loading options (e.g., booting into a rescue or safe mode), and some standalone programs that can function without an operating system, such as memory testers (e.g., memtest86+), a basic shell (as in GNU GRUB), or even games (see List of PC Booter games).Some boot loaders can also load other boot loaders; for example, GRUB loads BOOTMGR instead of loading Windows directly. Usually, a default choice is preselected with a time delay during which a user can press a key to change the choice; after this delay, the default choice is automatically run so normal booting can occur without interaction.

The boot process can be considered complete when the computer is ready to interact with the user, or the operating system is capable of running system programs or application programs.

Many embedded systems must boot immediately. For example, waiting a minute for a digital television or a GPS navigation device to start is generally unacceptable. Therefore, such devices have software systems in ROM or flash memory so the device can begin functioning immediately; little or no loading is necessary, because the loading can be precomputed and stored on the ROM when the device is made.

Large and complex systems may have boot procedures that proceed in multiple phases until finally the operating system and other programs are loaded and ready to execute. Because operating systems are designed as if they never start or stop, a boot loader might load the operating system, configure itself as a mere process within that system, and then irrevocably transfer control to the operating system. The boot loader then terminates normally as any other process would.
A two-stage bootloader actually consists of two bootloaders after each other. The first being small with the sole purpose of loading the second one. The second one can then contain all the code needed for loading the kernel. GRUB uses two (or arguably, three) stages.