• 흐림동두천 1.0℃
  • 흐림강릉 1.3℃
  • 서울 3.2℃
  • 대전 3.3℃
  • 대구 6.8℃
  • 울산 6.6℃
  • 광주 8.3℃
  • 부산 7.7℃
  • 흐림고창 6.7℃
  • 흐림제주 10.7℃
  • 흐림강화 2.2℃
  • 흐림보은 3.2℃
  • 흐림금산 4.4℃
  • 흐림강진군 8.7℃
  • 흐림경주시 6.7℃
  • 흐림거제 8.0℃
기상청 제공

GRUB (Grand Unified Bootloader)

- 예전에는 LILO(Linux Loader)를 사용했지만 요즘은 부트로더로 대부분 GRUB 사용 (SULINUX, CentOS, Redhat, Fedora 등)

- GRUB은 윈도우 운영체제와 리눅스 운영체제 등에서 모두 사용 할 수 있는 멀티부트로더임

- MBR에 저장됨



* 시스템에 전원이 공급되면 가장 먼저 ROM-BIOS에서 시스템 제어권을 가지고 장착된 하드웨어에 대한 점검과 인식을 함

* 끝나면 ROM-BIOS는 하드디스크의 첫번째 부트섹트의 MBR에 있는 부트로더(GRUB)에게 제어권을 넘겨줌

* 그러면 GRUB은 시스템 부팅을 시작함

 


< GRUB 초기화면> : 여기서부터 GRUB에 의해 부팅될 OS가 선택되고 시스템제어권이 넘어감

 



# GRUB 초기화면에서 'c' 키 입력 : GRUB의 명령모드

- 서버가 부팅되지 않을 경우 부팅과정을 변경 또는 편집하기 위해 (bash쉘에서 사용했던 명령어와 유사)

- 명령어 모드에서 초기화면으로 돌아가려면 'ESC" 키


# GRUB 초기화면에서 'e' 키 입력 : 부팅메뉴 편집

 

 

<부팅메뉴 편집화면>

 


편집모드에서 사용할 수 있는 키

b : 선택된 부트메뉴의 명령어로 시스템을 부팅

e : 선택된 부트메뉴의 명령어 편집

c : GRUB명령어 모드로

d : 선택된 행 삭제

Esc : 초기화면




# GRUB에서의 디스크 장치명 표기

1. IDE와 SCSI 구분 없이 시스템에 장착된 디스크 순서대로 hd0, hd1 ... 표기

2. 디스크번호를 0번부터 시작

3. 특정 디스크의 파티션 시작번호를 0번부터 시작

4. (디스크장치명, 파티션명) 의 형식으로 표시   ex)  (hd0,0)  (hd0,1) ...


GRUB에서 hd0은 장착된 첫번째 디스크, hd1은 두번째 디스크를 의미

     (hd1,0) → 장착된 두번째 디스크, 첫번째 파티션을 의미




# GRUB의 환경설정 파일 grub.conf

위치 : /boot/grub/grub.conf


default=0                           // GRUB 초기화면에서 부팅할 메뉴 자동선택, 메뉴들의 번호는 0번부터 시작함

timeout=5                          // GRUB 초기부팅화면에서 지체할 시간 지정

splashimage=(hd0,0)/grub/splash.xpm.gz                 // GRUB 초기화면 배경이미지

hiddenmenu                                                          

title CentOS (2.6.18-348.16.1.el5)                              // GRUB 부팅화면에 나타나는 메뉴명

        root (hd0,0)                                                   // 루트디바이스 설정 ???

        kernel /vmlinuz-2.6.18-348.16.1.el5 ro root=LABEL=/1     // 커널의 이미지 파일 경로 지정, 즉 해당 메뉴로 부팅할경우

 메모리에 로드할 kernel의 이미지는 vmlinuz-2.6.18-348.16.1.el5 라는 커널

 

        initrd /initrd-2.6.18-348.16.1.el5.img         // SCSI 디스크 사용시 반드시 지정, 해당메뉴로 부팅할 때에 사용할 initrd 이미지 지정

  initrd 이미지 안하면 kerner panic 됨

title CentOS (2.6.18-348.el5)                          

        root (hd0,0)

        kernel /vmlinuz-2.6.18-348.el5 ro root=LABEL=/1

        initrd /initrd-2.6.18-348.el5.img



# 현재 grub.conf에는 없는 것

fallback          // default 항목에서 설정한 기본 부팅메뉴로 부팅되지 않았을 경우, 다음으로 부팅할 메뉴를 설정하는 것




# GRUB 보안 설정

[root@push06 grub]# grub

Probing devices to guess BIOS drives. This may take a long time.



    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)


 [ Minimal BASH-like line editing is supported.  For the first word, TAB

   lists possible command completions.  Anywhere else TAB lists the possible

   completions of a device/filename.]

grub> md5crypt

md5crypt

Password: abc1234

abc1234

Encrypted: $1$n96WK1$t.svMg9oIpP5q4UOLwMpI.


Encrypted 값을 grub.conf 안에 넣음

password --md5 $1$n96WK1$t.svMg9oIpP5q4UOLwMpI.

* 참조

initrd  -  부트 로더에 의해 시작되는 RAM 디스크 boot loader initialized

kerner panic - 맛탱이 감