리눅스 부트로더 정리 – GRUB vs LILO, 부팅 원리와 복구 방법
리눅스 시스템이 부팅될 때 가장 먼저 실행되는 프로그램이 바로 부트로더(Boot Loader)입니다. 부트로더는 커널을 로드하고 운영체제를 시작하는 데 핵심적인 역할을 하며, 대표적으로 LILO와 GRUB가 사용됩니다. 이 글에서는 리눅스 부트로더의 정의와 종류, 차이점, 그리고 복구 방법까지 상세히 설명합니다.
1. 리눅스 부트로더란?
정의
- 부트로더(Boot Loader)는 컴퓨터의 전원이 켜진 후, 운영체제가 실행되기 전까지의 초기 단계에서 동작하는 프로그램입니다.
- 커널을 메모리에 로드
- OS를 실행 가능하도록 준비
- 멀티 부트 환경에서 운영체제 선택 가능
부트 시퀀스 개요
- BIOS 또는 UEFI →
- MBR(GRUB/LILO) 또는 EFI 파티션 →
- 커널 로딩 →
- init/systemd 실행 →
- 로그인 화면 또는 쉘 실행
2. 주요 리눅스 부트로더 종류
2.1 LILO (Linux Loader)
특징
- 초기 리눅스 시스템에서 널리 사용되던 부트로더
- 단순하지만 기능이 제한적
단점
| 단점 | 설명 |
|---|---|
| 인터페이스 없음 | 명령어 입력 없이 설정된 OS만 부팅 가능 |
| 설정 후 재설치 필수 | /etc/lilo.conf 수정 후 lilo 명령 실행 필요 |
| 네트워크 부팅 불가 | PXE 등의 기능 미지원 |
✅ 현재는 사용되지 않으며 GRUB로 완전히 대체된 상황입니다.
2.2 GRUB (Grand Unified Bootloader)
특징
현대 리눅스 시스템의 표준 부트로더로 대부분의 배포판에서 사용됩니다.
장점
| 기능 | 설명 |
|---|---|
| 대화형 인터페이스 | 부팅 중에 커널 매개변수, 파일 위치 등을 직접 설정 가능 |
| 네트워크 부팅 지원 | PXE 환경에서 원격 부팅 가능 |
| 파일 시스템 지원 | ext4, Btrfs, XFS, FAT 등 다양한 파일 시스템 인식 |
| 멀티 부트 지원 | Windows, macOS, BSD 등 다른 OS와 함께 사용 가능 |
| 복구 편리 | 부트 문제 발생 시 grub-install로 간편 복구 가능 |
GRUB 복구 명령어 예시
sudo grub-install /dev/sda
sudo update-grub # grub.cfg 재생성 (Ubuntu/Debian 계열)
GRUB은 BIOS(MBR) 및 UEFI 시스템 모두 지원합니다.
3. GRUB vs LILO 비교
| 항목 | GRUB | LILO |
|---|---|---|
| 지원 OS | 리눅스, Windows, BSD 등 | 리눅스 중심 |
| 복구 기능 | 대화형 명령어 및 자동 복구 가능 | 복구 기능 제한 |
| 설정 반영 | 실시간 반영 가능 | 변경 시 lilo 재실행 필요 |
| 파일 시스템 | 다양한 파일 시스템 지원 | 파일 시스템 접근 불가 |
| 멀티부팅 | 다중 OS 메뉴 제공 | 단일 OS 중심 설정 |
| 상태 | 현역 사용 중 | 사용되지 않음 |
4. 실전 예제 – GRUB 복구
상황: 시스템이 “grub rescue>”에서 멈춘 경우
1단계: 부팅 가능한 라이브 USB로 부팅
Ubuntu 등 Live CD 환경 진입
2단계: 루트 디스크 마운트
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
3단계: chroot 환경으로 진입
sudo chroot /mnt
4단계: GRUB 재설치
grub-install /dev/sda
update-grub
exit
5단계: 재부팅
sudo reboot
이 방법은 Ubuntu, Debian, CentOS 계열에서 공통으로 활용 가능합니다.
질문 정리
GRUB과 GRUB2는 무엇이 다른가요?
- GRUB2는 GRUB의 후속 버전으로 스크립트 기반 구성, 그래픽 부트 메뉴, UEFI 지원 등이 향상됨.
GRUB 설정 파일은 어디에 있나요?
/boot/grub/grub.cfg→ 직접 수정하지 말고update-grub으로 갱신- 설정은
/etc/default/grub에서 주로 수정
Windows와 리눅스를 함께 설치한 경우 GRUB이 보이지 않아요.
- Windows 설치 후 리눅스 부트가 지워진 경우 → GRUB 재설치 필요 (
grub-install)
GRUB 설치 위치는 어디로 지정해야 하나요?
- 일반적으로
MBR또는EFI 파티션의 디바이스 전체(/dev/sda)를 지정합니다. 파티션이 아니라 디스크 전체입니다!
정리
| 부트로더 | 요약 |
|---|---|
| LILO | 과거 사용되던 부트로더, 기능 제약 많고 현재는 사용 안 함 |
| GRUB | 현재 리눅스 표준 부트로더, 복구 가능, 다양한 OS와 멀티부트 지원 |
| grub-install | GRUB을 수동으로 재설치할 때 사용하는 명령어 |
댓글남기기