카테고리 없음2013. 6. 18. 10:06

 

20장. 부팅과정과 시스템 초기화

 

학습목표

 

- 리눅스의 부트로더인 GRUB에 대해서 파악한다.
- 리눅스 부팅시의 시스템 초기화의 과정을 이해한다.

 


● 부팅과정 요약
- 전원공급 -> Power On Self Test -> BIOS에 설정된 부팅장치

               -> MBR (Master Boot Record) -> 부트로더 (LILO, GRUB)

 

 

● LILO(리로) : LInux LOader
- 전통적인 부트로더
- /etc/lilo.conf 에 설정파일 저장

 

 

GRUB(그룹) : Grand Unified Bootloader
- 레드햇 7.x 부터 기본 부트로더로 제공
- LILO의 단정을 보완
- 사용이 편리
- 부트정보가 올바르지 않아도 부팅시에 바로 수정가능
- 윈도우 계열 외에 다른 OS와 멀티부팅 가능
- 대화형 모드 제공
- /boot/grub/grub.conf 에 설정파일 저장

 

 

/etc/grub.conf 또는 /boot/grub/grub.conf 설정파일
- timeout = 부팅시간(초)
   → 예) timeout = 10
- default 엔트리번호 : 기본값으로 부팅되도록 설정되어진 순서
   → 예) default 0
- fallback 엔트리번호 : 부팅실패시 차순위 부팅순서
   → 예) fallback 1
- splashimg (장치명, 파티션) 이미지파일
   → 예) splashimg (hd0,0) /boot/grub/splash.xpm.gz


- title 부팅제목
   → 예) title Redhat 9 (2.4.20)
- root (하드디스크 장치, 파티션)
   → 예) root (hd0,0)
- kernel /vmlinuz-버전 ro root=/dev/장치명
   → 예) kernel /vmlinux-2.4.20 ro root=/dev/hda2


- initrd 이미지파일명 : 시스템 초기화용 램디스크 이미지파일

 

 

● 패스워드 설정
- "password --md5 [md5포맷패스워드]" 추가

 

 

● Windows 설치후 GRUB이 없어졌을 때
- 리눅스 1번 CD로 부팅
- boot : vmlinuz root=/dev/hda2
- # grub-install /dev/hda

 

 

● Windows와 멀티부팅
- /etc/grub.conf 에 아래형식 추가
   → title 타이틀명
      ☞ 예) title Windows XP Pro
   → rootnoverify (장치명, 파티션)
      ☞ 예) rootnoverify (hd0,0)
   → makeactive
   → chainloader +1

 

● /etc/grub.conf 설정이 잘못되어 부팅이 안될 때
- GRUB 부팅화면에서 "e"키로 해당 메뉴 편집

 

 

 

[실습]

 

● GRUB 편집 및 변경
● GRUB 패스워드 설정

 

 

 


vi /etc/grub.conf

/etc/grub.conf 파일을 편집



파일을 살펴보면 title 이라는 이름으로 두개의 부분이 나누어져있다.

이게 처음 부팅할때 나오는 부분이며 위쪽에 default 부분이 0으로 되어있다는 것은

title 줄에 첫번째 목록을 지칭하는 것이다.

 

1이면 두번째가 되겠다.

 



커널 파일을 한번 찾아보자.

 

다른 터미널 창을 열고

ls -l /boot/vmlinuz-2.4.20-8smp

 

첫번째 커널이 사용하는 파일을 찾을 수 있다.



두번째 커널 파일을 찾아보자.

 

역시 다른 터미널 창에서

ls -l /boot/vmlinuz-2.4.20.8

 

이것 역시 잘 찾을 수 있다.

 

이처럼 처음 부팅할 때 리눅스는 이러한 커널 파일을 읽게 된다.



vi /etc/grub.conf

/etc/grub.conf 파일을 편집하자.

 

만약에 리눅스를 깔고 윈도우즈를 깔았다면

윈도우즈에 대한 부팅정보도 추가시킬 수 있다.

 

title Windows 

                       rootnoverify (hd1,0)

           makeactive

                chainloader +1

 

맨 아랫줄에 이렇게 편집하고 wq로 저장하고 나가자.

 

(hd1,0)에서 hd1은 하드디스크의 위치가 Primary의 slave에 있다는 의미다.

뒤의 0은 첫번째 파티션을 의미한다.

 

그리고 reboot로 재부팅을 한다.



리부팅 하고 처음 OS를 선택하는 부분에서

Windows 목록이 생겼다.



새 터미널을 하나 열고

 

grub 명령을 친다.

 

그리고 md5crypt 를 치면

Password를 물어본다.

(여기서 편의상 1234로 한다)

 

그럼 Encrypted : 암호화된 이상한 문자가 나온다.

이것을 마우스로 드래그해서 복사하기 하자.



그리고 다른 새 터미널을 열고

 vi /etc/grub.conf

 

/etc/grub.conf 파일을 편집해서

 

맨 윗줄에 password --md5 까지 쓰고 그 다음은

마우스 오른쪽 버튼을 눌러 붙여 넣기를 클릭한다.



그럼 암호화된 패스워드가 복사가 된다.

이제 편집을 저장하고 종료하자.



컴퓨터를 reboot 시킨다.



 

재부팅을 하면 첫번째 목록에서

GRUB을 편집하고 싶다 하면

"e"를 눌러야 한다.

 

하지만 아무 반응이 없다.

왜냐하면 GRUB 암호를 걸어놓았기 때문이다.

 

"p"를 눌러서 우리가 만들었던 GRUB 패스워드를 입력하자.

 

그리고 이제 'e'를 누르면 GRUB를 편집할 수 있다.

(이제 더 이상은 아무나 root 사용자의 비밀번호를 바꿀 수 없게 설정되었다)

 

Posted by 아이맥스