컴퓨터 부팅 과정
- 전원 공급
- BIOS 실행 : POST 및 Bootstrap
- POST : 주변 하드웨어 체크
- Bootstrap : 부트로더를 RAM에 Load
- 부트로더 실행 : 운영체제 Load
- 운영체제에 의해 init 프로세스 실행
전원 ON
컴퓨터 전원 버튼을 누르면 전원이 파워 서플라이에 전달된다.
파워 서플라이에 전달된 전원은 컴퓨터 내부에서 사용되는 전압으로 바뀌어 메인보드에 부착된 장치들에게 전원이 공급된다.
BIOS 읽기 (POST 및 부트스트랩 실행)
CPU가 ROM에 저장된 펌웨어인 BIOS를 읽어 들이면, BIOS가 POST와 부트스트랩 과정을 실행한다.
Post (Power On Self Test)
주변 하드웨어(메인보드 연결, 그래픽 카드, 키보드, USB 등)의 정상 작동을 하는지 검사한다.
오류가 발생하면 화면에 오류 내용을 출력한다.
Bootstrap
BIOS는 부팅매체를 선택하고 부팅매체의 MBR에 저장된 정보를 읽어 부트로더를 RAM에 올리는 과정이다.
MBR (Master Boot Record)
컴퓨터 부팅 프로세스에서 사용되는 자료구조로, 보통 하드디스크의 첫 번째 섹터(512byte)에 위치하며, 아래 정보들을 포함한다.
1. Bootloader : MBR에 저장된 부트로더 코드는 컴퓨터가 부팅될 때, 가장 먼저 실행된다.
2. 파티션 정보 : 하나의 물리적 디스크를 여러 개의 논리적인 영역으로 분할하는 것을 의미한다.
각 파티션의 시작 위치, 크기, 종류 등의 정보를 갖고 있으며, 이 정보를 통해 각 파티션에 저장된 파일 시스템을 Access 할 수 있다.
3. Boot Signature : MBR 마지막 2byte에 Boot Signature를 가지고 있다. MBR의 유효성을 확인하는 데 사용되며, 정확한 값이 아닌 경우에는 해당 MBR이 손상되었다고 간주한다.
Bootloader 실행
부트로더가 디스크의 OS(커널)코드를 복사하여 RAM에 올려 실행 후, 제어권을 OS에게 넘긴다.
OS 부팅
운영체제를 메모리에 올림과 동시에 첫 시작 프로세스를 실행한다.