2 분 소요

리눅스 시스템이 부팅될 때 가장 먼저 실행되는 프로그램이 바로 부트로더(Boot Loader)입니다. 부트로더는 커널을 로드하고 운영체제를 시작하는 데 핵심적인 역할을 하며, 대표적으로 LILOGRUB가 사용됩니다. 이 글에서는 리눅스 부트로더의 정의와 종류, 차이점, 그리고 복구 방법까지 상세히 설명합니다.


1. 리눅스 부트로더란?

정의

  • 부트로더(Boot Loader)는 컴퓨터의 전원이 켜진 후, 운영체제가 실행되기 전까지의 초기 단계에서 동작하는 프로그램입니다.
  • 커널을 메모리에 로드
  • OS를 실행 가능하도록 준비
  • 멀티 부트 환경에서 운영체제 선택 가능

부트 시퀀스 개요

  1. BIOS 또는 UEFI →
  2. MBR(GRUB/LILO) 또는 EFI 파티션 →
  3. 커널 로딩 →
  4. init/systemd 실행 →
  5. 로그인 화면 또는 쉘 실행

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을 수동으로 재설치할 때 사용하는 명령어

카테고리:

업데이트:

댓글남기기