강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터2급강좌 : GRUB의 설정

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터2급강좌 : GRUB의 설정




GRUB의 설정

GRUB로 멀티부팅을 하기 위한 /boot/grub/grub.conf 설정 파일의 설정은 다음과 같다.

 

 

 

 

설정 변경 후에 부트로더 갱신을 위해 명령을 따로 내릴 필요는 없고, MBR에 부트로더를 새로 설치할 때에만 grub-install 명령을 사용한다.

 

 

 

 

 

 

 

 

 

 

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title SULinux Server (2.6.18-348.el5PAE)

root (hd0,0)

kernel /vmlinuz-2.6.18-348.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=771

initrd /initrd-2.6.18-348.el5PAE.img

title SULinux Server-xen (2.6.18-348.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-348.el5 vga=gfx-1024x768x16

module /vmlinuz-2.6.18-348.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet

title SULinux Server-base (2.6.18-348.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-348.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=771

initrd /initrd-2.6.18-348.el5.img

 

 

 

 

 

 

 

 

default=0

 

 

 

 

 

default의 입력값이 0이면 첫 번째 운영체제를 1이면 두 번째 운영체제로 부팅한다.

 

 

 

 

 

 

 

 

 

 

timeout=5

 

 

 

 

 

timeout5초 이후에 자동으로 부트하도록 설정한다.

 

 

 

 

 

 

 

 

 

 

shade 0

border 000000

foreground ffffff

background 000000

splashimage=(hd0,0)/grub/splash.xpm.gz

 

 

 

 

 

이 부분은 부트로더 메뉴의 배경을 설정한 것이다.

 

 

 

 

splashimage 는 배경 이미지를 설정한 것이다.

 

 

 

 

배경 이미지를 바꾸려면 파일 크기가 640x480이고 14 칼라 pixmap 이미지(.xpm)를 생성한 후에 gzip으로 압축하여 저장한 후 splashimage에 위와 같이 등록한다.

 

 

 

 

 

title SULinux Server (2.6.18-348.el5PAE)

 

 

 

 

 

title은 메뉴의 제목이다.

 

 

 

 

이 부분부터 아래 initrd 부분까지가 하나의 메뉴이다.

 

 

 

 

따라서 새로운 메뉴를 더할 때에는 이와 같은 형식을 취하면 된다.

 

 

 

 

 

root (hd0,0)

 

 

 

 

 

root는 설치된 파티션을 의미한다.

 

 

 

 

GRUB 설정에서 hd0은 무조건 hda가 아니라 시스템이 인식하는 첫 번째 하드 디스크이다.

 

 

 

 

그런데 GRUB는 하드 디스크를 SATA, IDE, SCSI와 관계없이 순서대로 디바이스를 인식한다.

 

 

 

 

따라서 sdahd0이 될 수도 있다.

 

 

 

 

그리고 파티션 번호는 0번부터 시작한다.

 

 

 

 

, 첫 번째 파티션 번호는 0, 두 번째 파티션 번호는 1이다.

 

 

 

 

이에 따르면 위 설정 내용은 첫 번째 하드 디스크의 첫 번째 파티션을 의미한다.

 

GRUB의 디바이스 장치 :

hd0(1,2,3,4) hda(1,2,3,4)

hd1(1,2,3,4) hdb(1,2,3,4)

hd2(1,2,3,4) hdc(1,2,3,4)

hd3(1,2,3,4) hdd(1,2,3,4)

hd4(1,2,3,4) sda(1,2,3,4)

 

 

 

따라서 root 명령어로 커널의 위치에 따라 root 장치 및 파티션을 변경할 수 있다.

 

 

 

 

먼저 첫 번째 장치의 첫 번째 파티션인 경우에는 (hd0,0), 첫 번째 장치의 두 번째 파티션인 경우에는 (hd0,1), 두 번째 장치의 첫 번째 파티션인 경우에는 (hd1,0)root 뒤에 기재하고 <Enter> 키를 누른다.

 

 

 

 

 

kernel /vmlinuz-2.6.18-348.el5PAE ro root=/dev/VolGroup00/LogVol00

initrd /initrd-2.6.18-348.el5PAE.img

 

 

 

 

 

kernel은 다음의 커널 이미지를 읽도록 한다.

 

 

 

 

ro 이후의 root는 리눅스 시스템 전체의 “/(루트)”가 되는 장치 및 파티션을 지정한다.

 

 

 

 

quiet 이후의 내용은 확장된 설정 사항이므로 이 부분은 삭제해도 부팅하는 데에는 문제가 없다.

 

 

 

 

initrd 부분은 initrd 파일을 읽기 위한 설정이다.

 

 

 

 

 

title Windows 8

rootnoverify (hd0,0)

chainloader +1

 

 

 

 

 

이 부분은 윈도우즈 운영체제를 위한 설정 부분이다.

 

 

 

 

rootnoverify 옵션은 root와 같은 것이지만 해당 파티션을 마운트하지는 않는다.

 

 

 

 

chainloader체인로더로서 특정된 파일을 로드한다.

 

 

 

 

+1을 붙인 경우 특정된 파티션의 첫 번째 섹터를 파일로 로드한다.

 

 

 

 

따라서 이 경우에는 윈도우즈의 부트로더로 제어권을 넘기게 된다.

 

이외에도 GRUBdiskless 부트, 네트워크 부트 기능도 갖추고 있다.

 

 

 

 

그리고 LBA(Logical Block Addressing) 모드를 지원하며, 메뉴 및 명령행 인터페이스를 가지고 있으므로 설정이 자유롭다.

 

 

 

 

또한 GRUB는 커널이 바뀔 때마다 다시 설치할 필요는 없고, 다만 커널명이 달라지면 이에 대해서 설정 파일을 수정해 주면 된다.

 

 

 

 

 

init

GRUB에 의해 리눅스 커널이 RAM에 적재된 후에 스와퍼(swapper)에 의해 init 프로세스가 실행되고, 실행된 init 프로세스는 부팅 후에도 PID 1번으로 계속 남아 있다.

 

 

 

 

init 프로세스가 생성된 이후에 시스템에서 생성되는 모든 프로세스들은 PID1번인 init 프로세스에 의해서 실행되고 이에 종속된다.

 

 

 

 

init/etc/inittab 파일을 읽어 들여서 그 설정에 따라 각 실행레벨(runlevel)에 포함된 스크립트를 실행하고 사용자들이 로그인할 수 있도록 getty 프로그램을 실행한다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,015 명
  • 현재 강좌수 :  35,688 개
  • 현재 접속자 :  171 명