RHEL은 메이저 버전에 따라 부팅 절차에 조금씩 차이가 있다.
RHEL7 버전을 기준으로 다음과 같은 부팅 절차를 따른다.
서버의 전원이 켜지면 BIOS/UEFI 가 실행된다.
이 단계에서 하드웨어를 검사하고 초기화하여 기본적인 하드웨어 설정을 준비한다.
RHEL 7버전은 기본적으로 MBR/GPT 를 지원한다.
MBR을 사용할 경우 부팅 디스크의 첫 섹터에 있는 부트로더 코드가 실행되고,
GPT를 사용할 경우 UEFI 파티션에 있는 부트로더 코드가 실행된다.
부트로더로 GRUB2(GRand Unified Bootloader 2)가 사용된다.
GRUB은 메뉴를 통해 사용자가 원하는 커널이나 운영 체제를 선택할 수 있도록 한다.
부트로더는 커널 이미지와 초기 루트 파일 시스템의 위치를 알아야 한다.
GRUB이 선택한 커널 이미지(vmlinuz)를 메모리에 로드한다.
RHEL 7버전은 보통 하드웨어에 호환되는 Jeneric 커널을 제공한다.
initramfs 는 실제 루트 파일 시스템을 마운트하기 전에 초기 루트 파일 시스템으로 사용된다.
이 단계에서 필요한 모듈, 드라이버 및 설정 파일이 로드된다.
initramfs 가 준비되면 커널은 init 프로세스를 실행하고 제어권을 init 에게 이전한다.
systemd 가 init 프로세스를 대체하여 시스템 초기화 및 관리를 담당한다.
systemd 는 서비스를 병렬로 시작하여 부팅 시간을 최적화한다.
systemd 는 레벨 또는 타깃을 기반으로 서비스와 태스크를 실행한다.
레벨은 특정 시스템의 상태를 정의하는 것으로 Graphical, Multi-user, Single 등이 있다.
시스템 초기화가 완료되면 사용자가 로그인할 수 있는 화면을 제공한다.