· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
GRUB

DeleteMe HelpWanted 문서의 오류를 잡으면 좋겠습니다. --검은해

작성일 : 2004.02.10.

문서의 범위

  • 윈도우와 Gentoo를 각기 다른 HDD에 설치한 경우를 예로 설명한다. (참조. [http]GentooLinux 설치)
  • Linux배포판의 차이 및 개인이 상황에 따라 설치 부분과 설정부분이 상이할 수 있다. 이로 인해 발생하는 모든 잘못은 다 본인의 탓이다. ;) 부팅이 안될 경우 적당히 알아서 처리하기 바란다.
  • Grub4Dos USB Memory stick multiboot : USB 메모리 스틱에 GRUB을 설치해 다양한 OS를 설치할 수 있는 환경 설정을 설명.

GRUB 소개

부트로더란 간단히 말해서 컴퓨터를 켰을 때 가장 먼저 실행되는 프로그램이다. 부트로더는 OS의 커널을 로드하고 몇몇 커널 파라메터를 커널에 넘겨주는 일을 한다. GNU GRUB은 원래 처음에는 GNU Hurd를 위해 개발되었지만 그 막강한 기능 때문에 리눅스에서도 점차 LILO 대신 GRUB을 사용하는 사람들이 늘고 있다. GRUB은 현재 리눅스를 비롯하 여 많은 공개 운영체제와 chain-loading을 사용하는 상용 운영체제를 로드할 수 있다. GRUB의 가장 큰 특징은 파일시스템과 커널 포맷을 이해한다는 점이다. 따라서 디스크상에서 커널의 물리적인 위치를 알 필요 없이 단지 파일명과 커널이 위치하고 있는 파티 션만 알고 있으면 커널을 로드할 수 있다. LILO의 경우 부트로더가 커널의 하드디스크상의 물리적인 위치를 알고 있어야 한다. 따라서 커널을 다시 설치할 경우 lilo를 실행해 부트로더를 다시 심어 주어야 하지만, GRUB의 경우 파일명만 알면 되기 때문에 파일명이 바뀌지 않는 한 다시 실행해 줄 필요가 없다.

GRUB가 제공하는 기능


  • a.out 포맷과 ELF 포맷의 커널을 읽어들일 수 있다.

  • Linux, FreeBSD, NetBSD, OpenBSD등 비-멀티부트 커널을 지원한다.

  • 멀티플 모듈을 로드할 수 있다.

  • 텍스트 형식의 설정 파일을 제공한다.

  • 메뉴 인터페이스를 제공한다.

  • 유연한 커맨드라인 인터페이스를 제공한다.

  • BSD FFS, FAT16, FAT32, Minix, ext2 그리고 ReiserFS 파일시스템을 지원한다.

  • gzip으로 압축된 파일을 다룰 수 있다.

  • BIOS, uEFI에서 인식되는 모든 장치에 엑세스할 수 있다.


GRUB식 파티션 표현 및 설치

Partition       Description     GRUB식표현
/dev/hda        Windows(FAT32, NTFS)   (hd0,0)
/dev/hda1       Boot partition(/boot)   (hd0,1)
/dev/hda2       Swap partition(swap)    (hd0,2)
/dev/hda3       Root Partition(/)       (hd0,3)

<!> /!\ DeleteMe 위 표는 잘못되었습니다. 본 문서는 전체적으로 수정되어야 합니다. --검은해
Partition       GRUB식표현
/dev/hda        (hd0)
/dev/hda1       (hd0,0)
/dev/hda2       (hd0,1)
/dev/hda3       (hd0,2)
/dev/hdb5       (hd1,4)

<!> IDE, SATA, SCSI 할 것 없이 무조건 hdx이다. /dev/sda1이라고 해서 sd0이 되는 것이 아님에 유의해야 한다.

소스 컴파일

 #!vim nosyntax
 # tar vxzf grub-0.94.tar.gz
 # cd grub-0.94
 grub-0.94# make; make install
 grub-0.94# grub-install /dev/hda


젠투 리눅스

 # emerge grub
 # grub
 grub> root (hd1,0)
 grub> setup (hd0)
 grub> quit

Debian GNU/Linux

 # apt-get install grub
 # grub-install /dev/hdxx

GRUB 메뉴설정


  • 설정파일 grub.conf는 /boot/grub/grub.conf에 위치 한다.
 default=0
 timeout=30
 30초 동안 입력이 없으면 첫 번째 방법, 즉 파일에서 맨 앞 쪽에 기술되는 방법으로 부팅한다는 의미입니다.

 splashimage=(hd0,1)/grub/splash.xpm.gz
 GRUB의 부팅 이미지 파일 위치 지정

 title Gentoo
 말 그대로 제목을 나타낸다

 root (hd0,1)
 리눅스 커널이 위치하고 있는 파티선으로 /boot 파티선의 위치를 나타낸다. /dev/hda1에 /boot를 설치하였으므로, root (hd0,1)이다.

 kernel /bzImage-2.6.7  root=/dev/hda4
 root=/dev/hda4은 / 파티선을 지정한 파티선 넘버를 지정

 title Window
 마찬가지로 윈도우 타이틀 제목...

 rootnoverify (hd0,0)
 rootnoverity는 root와 거의 같지만 마운트를 하지 않는다. FAT32나 NTFS 파티선처럼 인식하지 못하는 파티선의 경우 이 옵션으로 지
정한다.

 makeactive
 GRUB의 루트 디바이스를 부팅 가능한 파티선으로 지정합니다. 이 명령어는 첫 번째 하드디스크의 Primary 파티선에서만 사용 가능하
다.

 chainloader +1
 makeactive 명령으로 부팅 가능하도록 지정된 파티선의 첫 번째 섹터부터 읽어 부팅 하도록 한다.

  • /boot/grub/grub.conf 파일을 설정에 맞게 수정했다면 재부팅하여 GRUB 메뉴가 나오는지 확인한다.

Menu Interface

GRUB의 메뉴 선택 화면에서 화살표를 이용하면, 메뉴를 선택할 수 있으며, 해당되는 메뉴에서 'e '를 누르면, 각 메뉴에 대한 설정들 을 직접 메뉴에서 수정할 수 있다.

e 편집 모드

o 줄 추가

d 줄 삭제

b 편집이 끝난 후, 수정된 내용을 가지고 부팅

c grub 커맨드 라인

보안 설정


주의 사항


  • (hd0,0)할 경우 콤마(,)사이에 빈칸이 없어야 한다. (TAB을 이용한 자동 완성기능 추천)

  • 상대경로와 절대 경로

  • splash는 커널 패치가 필요하다던데...Docbook Sgml/Bootsplash-HOWTO




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2013-02-27 09:54:27
Processing time 0.0120 sec