시스템 부팅 (System Boot)
Jan 25, 2026 · Updated Jan 27, 2026
핵심 개념
섹션 제목: “핵심 개념”커널을 로드하여 컴퓨터를 시작하는 과정으로, 부트스트랩 프로그램이 커널을 찾아 메모리에 적재하고 실행한다. 운영체제가 생성된 후 하드웨어가 커널 위치와 로드 방법을 알아야 한다.
부팅 과정
섹션 제목: “부팅 과정” 1 커널 위치 찾기
부트스트랩 프로그램(부트 로더)이 커널 위치 탐색 2 커널 로드
커널을 메모리에 로드하고 시작 3 하드웨어 초기화
커널이 하드웨어 초기화 수행 4 파일 시스템 마운트
루트 파일 시스템 마운트 5 시스템 실행
시스템 실행 상태 진입 다단계 부팅 과정
섹션 제목: “다단계 부팅 과정” 1 전원 ON
컴퓨터 전원 투입 2 BIOS
비휘발성 펌웨어 - 첫 번째 부트 로더 3 부트 블록
고정 디스크 위치 - 두 번째 부트 로더 4 커널 로드
커널을 메모리에 적재 5 운영체제 실행
OS 시작 완료 BIOS vs UEFI
섹션 제목: “BIOS vs UEFI”| 특성 | BIOS | UEFI |
|---|---|---|
| 부팅 방식 | 다단계 (느림) | 단일 완전 부트 매니저 (빠름) |
| 64비트 지원 | 제한적 | 우수 |
| 대용량 디스크 | 제한적 | 우수한 지원 |
| 장점 | 레거시 호환성 | 속도, 현대적 하드웨어 지원 |
부트 블록과 MBR
섹션 제목: “부트 블록과 MBR”- 고정 디스크 위치에 저장된 프로그램
- 단일 디스크 블록에 맞아야 하므로 단순한 코드
- 부트스트랩 프로그램의 나머지 부분의 디스크 주소와 길이만 알고 있음
MBR (Master Boot Record) 구조
섹션 제목: “MBR (Master Boot Record) 구조”MBR (512 bytes)
부트스트랩 코드 446 bytes
파티션 테이블 (4개) 64 bytes
부트 시그니처 (0x55AA) 2 bytes
- BIOS 방식: 펌웨어가 MBR의 부트 코드를 메모리에 로드하고 실행
- UEFI 방식: EFI 시스템 파티션에서 부트 로더를 직접 로드 (MBR 부트 코드 불필요)
부트스트랩 프로그램의 역할
섹션 제목: “부트스트랩 프로그램의 역할”- 커널 프로그램을 메모리에 로드
- 진단 실행: 메모리, CPU 상태 검사, 장치 검색
- 시스템 초기화: CPU 레지스터, 장치 컨트롤러, 메인 메모리 내용 등
- 운영체제 시작 및 루트 파일 시스템 마운트
GRUB
섹션 제목: “GRUB”Linux 및 UNIX 시스템용 오픈소스 부트스트랩 프로그램:
- GRUB 설정 파일에서 부트 파라미터 설정
- 유연성: 부팅 시 커널 파라미터 수정 가능, 다른 커널 선택 가능
예시 커널 파라미터 (/proc/cmdline):
BOOT_IMAGE=/boot/vmlinuz-4.4.0-59-genericroot=UUID=5f2e2232-4e47-4fe8-ae94-45ea749a5c92Linux 커널 이미지
섹션 제목: “Linux 커널 이미지”공간 절약 및 부팅 시간 단축을 위해 압축됨:
1 vmlinuz 로드
압축된 커널 이미지 로드 2 압축 해제
메모리에서 커널 압축 해제 3 initramfs
임시 RAM 파일 시스템 사용 4 루트 마운트
실제 루트 파일 시스템 마운트 5 systemd 시작
첫 번째 프로세스로 시작 initramfs (초기 RAM 파일 시스템)
섹션 제목: “initramfs (초기 RAM 파일 시스템)”- 커널 로드 직후 사용되는 임시 루트 파일 시스템
- 실제 루트 파일 시스템 마운트에 필요한 드라이버 포함
- 루트 파일 시스템이 마운트되면 initramfs는 해제됨
Windows 부트 과정
섹션 제목: “Windows 부트 과정” 1 UEFI
펌웨어 초기화 2 Windows Boot Manager
bootmgfw.efi 3 Windows Loader
winload.efi 4 ntoskrnl.exe
NT 커널 시작 모바일 시스템 부팅
섹션 제목: “모바일 시스템 부팅”- LK (little kernel): Android용 부트 로더
- Android init: 첫 번째 사용자 프로세스로 시작
트레이드오프
섹션 제목: “트레이드오프”| 방식 | 장점 | 단점 |
|---|---|---|
| BIOS | 레거시 호환성 | 느림, 현대 하드웨어 지원 제한 |
| UEFI | 빠름, 64비트/대용량 디스크 지원 우수 | 복잡성, 보안 부트 설정 필요 |
관련 개념
섹션 제목: “관련 개념”- 부트스트랩 프로그램 (Bootstrap Program) - 전원이 켜질 때 실행되어 운영체제를 로드하는 초기 프로그램
- 커널 (Kernel) - 부팅 과정에서 메모리에 로드되는 운영체제의 핵심 프로그램
- 링커와 로더 (Linkers and Loaders) - 프로그램을 메모리에 적재하는 역할을 담당하는 시스템 소프트웨어
- 운영체제 (Operating System) - 부팅 과정을 통해 시작되는 하드웨어 관리 소프트웨어
- Operating System Concepts, 10th Edition, Chapter 2, p.94-95