메뉴 닫기

about GRUB (Grand Unified Bootloade) 정리

GRUB (Grand Unified Bootloade)

 

리눅스 계열에서 사용되는 부트로더 (컴퓨터가 시작될때 처음실행되는 프로그램) : 운영체제를 불러오는 역활

 

최근에는 LILO → GRUB 바뀌었음

 

특징

멀티부팅 가능 (리눅스, 윈도우즈) 

 

리눅스에서 하드 디스크 인식

IDE 방식은 hda, hdb, hdc … 파티션은 hda1, hda2 …

SATA 방식은 sda, sdb, sdc … 파티션은 sda1, sda2 ….

 

grub 에서는 IDE, SATA, SCSI 구분없이 

hd0, hd1…  

 

파티션이 나눠져 있다면

(hd0,0), hd(0,1)… 

 

GRUB 설정 파일 (/boot/grub/grub.conf)

 default=0

timeout=5

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

hiddenmenu

title CentOS (2.6.32-358.23.2.el6.x86_64)

        root (hd0,0)

        kernel /vmlinuz-2.6.32-358.23.2.el6.x86_64 ro root=UUID=ed8aef62-c169-43da-a466-1a29ab32b5d0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ko_KR.eucKR SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

        initrd /initramfs-2.6.32-358.23.2.el6.x86_64.img

title CentOS (2.6.32-358.18.1.el6.x86_64)

        root (hd0,0)

        kernel /vmlinuz-2.6.32-358.18.1.el6.x86_64 ro root=UUID=ed8aef62-c169-43da-a466-1a29ab32b5d0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ko_KR.eucKR SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

        initrd /initramfs-2.6.32-358.18.1.el6.x86_64.img

 

default

멀티 부팅인 경우 기본으로 부팅할 OS의 LABEL 번호 (위에서부터 아래로 0부터 시작) 를 선택합니다.

timeout

지정된시간(초)를 경과하면 default 항목에 설정된 LABEL 번호의 OS (커널)로 부팅됩니다.   만약다른 OS (커널)로 부팅하려면 timeout에서 지정된시간안에 아무키 누름

splashimage

GRUB 메뉴의 배경그림을 설정합니다.

title

GRUB의 메뉴에 나타나는 OS (커널)의 이름을 설정합니다. (LABEL 번호는 상단에서 0 부터부여)

root

(hd0,0)와 같이 GRUB에 대한 루트 파티션을 설정하고 이를 마운트 합니다.  부팅할OS(커널)가 설치된 파티션을 설정

kernel

운영체제를 부팅할 때읽어올 커널 파일을 지정

initrd

initrd 파일을 지정 

 

GRUB 명령어

 [root@localhost ~]# 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>

 

blocklist 파일명

특정파일의 블럭리스트 확인 

 grub>root (hd0,1)

Filesystem type is ext2fs,partition type 0x83

grub>blocklist /etc/fstab

(hd0,1)294928+1294930+1

grub>blocklist /etc/passwd

(hd0,1)294930[0-6]418288+1418290+1

 

boot

root 명령어로 지정한 장치와 kernel 명령어로 지정한 커널로 부팅을 하는 명령

grub>root (hd0,1)

Filesystem type is ext2fs,partition type 0x83

grub>kernel /boot/vmlinuz-2.6.18-8.el5 roroot=LABEL=/

[Linux-bzImage,setup=0x1e00,size=0x1ad034]

grub>boot 

 

cat 파일명

지정한 파일의 내용보는 명령어

grub>root (hd0,1)

Filesystem type is ext2fs,partition type 0x83

grub>cat /etc/fstab

LABEL=// ext3 defaults 11

LABEL=/boot1 /boot ext3 defaults 12

devpts /dev/pts devpts  gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0

LABEL=/home /home ext3 defaults 1 2

proc /proc proc defaults 0 0

sysfs /sys sysfsdefaults 0 0

LABEL=/tmp/tmp ext3

defaults,noatime,nodev,noexec,nosuid 12

LABEL=/usr /usr ext3 defaults 1 2

LABEL=/usr/local /usr/local ext3 defaults 1 2

LABEL=/var /varext3 defaults 1 2

LABEL=SWAP-sda3 swapswap defaults 00 

 

clear 

모니터 화면을 정리 

 

configfile 파일명

지정한 파일을 GRUB 설정파일로 로딩해서 테스팅 하는 명령어

grub>root (hd0,0)

Filesystem type is ext2fs,partition type 0x83

grub>configfile=/grub/menu.lst

GNUGRUB version 0.97(640Klower/ 3072Kuppermemory)

+————————————————————————-+

|CentOS (2.6.18-53.1.4.el5)  |

|  |

|  |

|  |

+————————————————————————-+

Use the ^and v keys to select which entryis highlighted.

Press enterto boot the selected OS, ‘e’to edit the

commands before booting, ‘a’tomodifythe kernel arguments

before booting, or ‘c’ for a command-line 

 

displaymem

메모리정보 출력

grub> displaymem

displaymem

 EISA Memory BIOS Interface is present

 Address Map BIOS Interface is present

 Lower memory: 640K, Upper memory (to first chipset hole): 3072K

 [Address Range Descriptor entries immediately follow (values are 64-bit)]

   Usable RAM:  Base Address: 0x0 Length: 0x0 bytes

   Reserved:  Base Address: 0xa0000 Length: 0x0 bytes

   Usable RAM:  Base Address: 0x100000 Length: 0x0 bytes 

 

find 파일명

시스템에 있는 모든 파티션에서 지정한 파일이 있는 장치 출력

grub> find /etc/resolv.conf

(hd0,1)

grub> find vi

Error 15: File not found

grub> find /bin/vi

(hd0,1) 

 

geometry 장치명

지정한 장치에 대한 정보 출력 (장치의 실린더, 헤드, 섹터정보, 전체섹터수, 각 파티션별 파일시스템 종류와 타입 등을 출력)

 grub> geometry(hd0,0)

drive 0x80:C/H/S =38913/255/63, The number ofsectors =625142448, /dev/sda

Partition num:0,  Filesystem type isext2fs, partition type 0x83

Partition num:1,  Filesystem type is ext2fs,partition type 0x83

Partition num:2,  Filesystem type unknown, partition type 0x82

Partition num:4,  Filesystem type isext2fs,partition type 0x83

Partition num:5,  Filesystem type isext2fs,partition type 0x83

Partition num:6,  Filesystem type is ext2fs,partition type 0x83

Partition num: 7,  Filesystem type isext2fs,partition type 0x83

Partition num:8,  Filesystem type is ext2fs, partition type 0x83

 

halt 

시스템 종료

 

reboot

시스템 재부팅

 

help

도움말 출력

 

hide 파티션명

지정한 파티션을 숨기는 명령 

hide 명령을 이용하여 파티션을 숨겨두게 되면 os에서 장치를 인식할 수 없음

 

initrd 파일명

지정한 장치와 커널로 부팅할 때사용할 initrd 이미지를 지정해 주는 명령어

root 명령어를 이용하여 장치를 지정하고 kernel 명령어로 부팅할 커널을 지정

 

kernel 파일명

부팅에 사용할커널이미지를 지정하는 명령어입니다. 여기서 지정한 커널을 이용하여 부팅합니다.

grub>root (hd0,0)

Filesystem type isext2fs, partition type 0x83

grub>kernel /vmlinuz-2.6.18-53.1.4.el5 ro root=LABEL=/

[Linux-bzImage, setup=0x1e00, size=0x1b32d4] 

 

md5cryp

지정한 문자를 MD5 포멧의 암호문자로 생성해주는 명령어입니다. 

GRUB의 비밀번호를 설정할 때에 사용합니다

grub>md5crypt 

Password: ****  <- test입력

Encrypted: $1$kMvxI$Yxqolms6tdqHLJSDBkqcj. 

 

pager [FLAG]

pager 모드를 시작 또는 정지시키는 명령입니다. FLAG를 주지 않으면 실행 상태에 따라 정지되거나 실행

grub>pager

Internalpager is nowoff

grub>pager

Internalpager is nowon

grub>pager off

Internalpager is nowoff

grub>pager on

Internalpager is nowon 

 

quit 

GRUB 종료

 

root 디바이스명

지정한 디바이스를 부팅파티션으로 지정

 grub>root (hd0,0)

Filesystem type isext2fs, partition type 0x83

 

rootnoverify 디바이스명

root 명령과 비슷하지만 마운트는 하지 않습니다. GRUB에서 지원하지 않는 NTFS등의 파일시스템으로 부팅할 경우 사용합니다.

 

setup [INST ALL_DEVICE]

지정한 장치에 GRUB을 자동으로 설치하는 명령입니다.

 grub>setup (hd0)

 

unhide 파티션명

hide 속성을 해제하는 명령어입니다.

 

uppermem KBYTES

GRUB가 지정한 KBytes만큼상위메모리로 설치되어 있다고 인식하게 하는 명령어입니다.

grub>uppermem 256 

 

 

[polldaddy rating=”7739789″]

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x