부트 매니저 (Boot Manager)

부팅을 도와주는 역할을 하는 프로그램으로 특히 시스템에 여러 운영체제가 설치되어 있으면 선택하여 부팅할 수 있도록 해준다. 부트 매니저 프로그램은 부트로더라고도 부르며, 디스크의 가장 앞 영역 MBR(Master Boot Record)에 설치된다.
MBR은 부트섹터로 디스크의 첫 번째 섹터(0번)에 해당하고 크기는 512 Byte이다. 부트로더와 파티션 정보가 기록된다.
부트로더에는 LILO, GRUB이 있는데 최신 리눅스 배포판에는 GRUB을 사용한다.


GRUB (Grand Unified BootLoader)

GNU 프로젝트에서 만든 부트로더로 LILO에 비하여 다양한 파일 시스템을 지원하고, 부팅 시에 커널 인자를 조정하여 동적 부팅을 지원한다. 메뉴 인터페이스 방식을 기본으로 사용하지만, Bash와 같은 CLI를 추가로 제공한다.


GRUB 부팅 모드

부트 화면에서 a, e, c를 누르면 커널 인자 조정을 통해 여러 부팅 모드를 제공한다.

[a]: grub.conf에서 kernel과 관련된 부분의 파라미터를 추가할 수 있게 해준다. 싱글 모드 부팅시 1또는 single 추가
[e]: grub.conf에 등록된 부팅 목록의 모든 항목을 직접 편집할 수 있도록 해준다. 현재 부팅 시에만 일시적으로 편집이 적용된다.
[c]: Bash Shell과 유사. 상호대화식 직접 입력 모드로 순차적 명령어 입력 후 boot라고 입력하면 부팅이 된다.


GRUB 환경 설정 파일

멀티 부팅 환경 시스템을 구축했을 경우 환경 설정파일 /boot/grub/grub.conf의 항목 title 값이 분리되어 나타나며, title 영역 바깥은 grub 실행과 연관이 있다.

#boot=/dev/sda 부팅 되는 디스크를 지정한다. 시스템에 장착된 디스크가 하나인 경우 주석처리

default=0부터 전원을 켰을 때 기본적으로 부팅되는 OS를 설정한다. grub.conf에 나열된 title의 순서로 0부터 시작한다.

timeout=숫자 GRUB 메뉴 화면에서의 대기 시간으로 단위는 초이다. 시간내에 선택이 없으면 default된 값으로 부팅된다.

splashimage=이미지경로

인자값에서 디스크를 칭하는 방법

(hd0) : S-ATA, SCSI 등 첫 번째 디스크를 의미하는 것 /dev/sda 또는 /dev/hda가 선택된다. ex) hd0 디스크의 0번파티션 3번파티션

(hd0,0) : /dev/sda1 또는 /dev/hda1

(hd0,3) : /dev/sda4 또는 /dev/hda4

title 이름 GRUB 부팅 메뉴에서 표시되는 이름이다. 원래 OS가 이름으로 들어가지만, 사용자가 알아보기 위한 것으로 바꿀 수 있다.

root (hd0,3) root에는 (디스크 파일명,부트 파티션명)을 설정한다.

kernel 경로 커널의 위치와 커널 매개 변수가 설정된다. 파티션 분할을 하지 않았을 경우 /boot 없이 경로가 시작한다.

initrd 경로 초기화에 필요한 이미지 경로

윈도우 OS가 설치되어 있는 경우

title DOS
   rootnoverify (hd,0)
   chainloader +1

윈도우 os의 기본 형태로 rootnoverify는 특정 파일을 로드할때 사용하는데 위의 경우 파티션의 첫 번째 섹터 파일을 로드한다.

윈도우 파티션 영역을 지정하였기 때문에 윈도우의 부트로더에 제어 권한을 넘긴다.

반응형

+ Recent posts