부트로더
IT 위키
더 많은 작업
- Boot Loader; 부트스트랩 로더
- 전원이 켜진 뒤 펌웨어가 넘겨준 제어권을 받아 운영체제 커널을 메모리에 올리고 실행시키는 프로그램
부트 섹터(MBR 또는 GPT의 EFI 시스템 파티션)에 있는 부트로더를 읽어 실행한다.
- 부트로더가 커널과 초기 램디스크를 메모리에 올리고 커널에 제어를 넘긴다.
그다음은 커널의 일이다 (리눅스 init 프로세스).
- 운영체제가 여럿 설치돼 있으면 부트로더가 무엇으로 부팅할지 고르는 화면을 띄운다.
MBR 은 512바이트뿐이라 부트로더 전체가 들어가지 않는다. 그래서 나누어 싣는다.
| 단계 | 위치 | 하는 일 |
|---|---|---|
| 1차 | 부트 섹터(446바이트) | 2차 부트로더를 찾아 올린다 |
| 2차 | 별도 영역이나 /boot | 설정을 읽고 메뉴를 띄우며 커널을 올린다 |
| 부트로더 | 쓰이는 곳 |
|---|---|
| GRUB / GRUB2 | 리눅스에서 가장 널리 쓴다. 설정은 grub.conf 또는 grub.cfg |
| LILO | GRUB 이전의 리눅스 부트로더. 설정을 바꾸면 다시 설치해야 했다 |
| NTLDR / BOOTMGR | 윈도우. 설정은 boot.ini 또는 BCD (윈도우 시스템 파일) |
| systemd-boot, rEFInd | UEFI 환경에서 쓰는 가벼운 부트 관리자 |
- 부트로더 메뉴에서 커널 인자를 고쳐 단일 사용자 모드로 들어가면 암호 없이 루트 권한을 얻을 수 있다.
그래서 부트로더에 암호를 건다 (GRUB 의 `password --md5`).
- UEFI 의 보안 부팅(Secure Boot)은 서명된 부트로더만 실행되게 한다.