Cau Hinh Grub Chuyen de 2 0694

You might also like

You are on page 1of 63

TM HI U V C U HNH GRUB TRN LINUX

Trang- 1

[L I NI

U]

LINUX l m t h i u hnh h UNIX mi n ph dng cho my tnh c nhn ang c s d ng r ng ri hi n nay. c vi t vo nh ng nm 1991 b i Linus Tovard, h i u hnh LINUX thu c nh ng thnh cng nh t nh. Hi n nay, LINUX ngy cng pht tri n c nh gi cao v thu ht nhi u s quan tm c a cc nh tin h c. Trong nh ng nm g n y h i u hnh LINUX t ng b c c a vo s d ng t i Vi t Nam. nhi u t ch c, cng ty v cc d n tin h c ch n LINUX l mi tr ng pht tri n cc ng d ng c a mnh. Chnh v th nhu c u tm hi u h i u hnh ny ang tr nn r t quan tr ng v c n thi t. Vi c tm hi u v c u hnh trong mi tr ng b t i kh i ng GRUB-2 H i u Hnh nh LINUX(UBUNTU 10.10) l cng vi c r t kh khn. GRUB l trnh kh i ng my tnh n c nhi m v t i nhn v kh i ng h th ng Linux cng nh m t s h i u hnh khc: FreeBSD, NetBSD, OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 v XP .N c trch nhi m chuy n t i v ki m sot t i m t ph n m m h i u hnh h t nhn (ch ng h n nh Linux hay GNU Hurd h t nhn).. Do vi c tm hi u v c u hnh Grub trn ubuntu 10.10 l r t quang tr ng trong linh ho t v thu n ti n cho vi c kh i ng H i u Hnh Linux b i n c bi t h u ch cho multiboot, h th ng phn vng v n th c s l b n p l n nh t kh i ng Linux v th c t b t k h i u hnh ngu n m no khc y l l n u tin em i vo nghin c u ti c a h i u hnh LINUX(Tm hi u v c u hnh GRUB trn Linux) v qu th i gian c h n nn ti s khng trnh kh i nh ng thi u st. R t mong nh n c s ng gp ki n c a th y c v b n b. Em xin chn thnh c m n s h ng d n c a th y Nguy n T n Khi v cc b n b gip em hon thnh ti ny.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 2

I. Gi i thi u v GRUB
1. T ng qut
GRUB l trnh kh i ng my tnh n c nhi m v t i nhn v kh i ng h th ng Linux cng nh m t s h i u hnh khc: FreeBSD, NetBSD, OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 v XP...

Nm 1995, Erich Boley thi t k GRUB. Nm 1999, Gordon Matzigkeit v Yoshinori K. Okuji k th a GRUB thnh gi ph n m m GNU chnh th c.

2.

Tnh nng
GRUB h tr nhi u h i u hnh b ng cch kh i ng tr c ti p nhn h i u hnh ho c b ng cch n p chu i (chain-loading). GRUB h tr nhi u h th ng t p tin: BSD FFS, DOS FAT16 v FAT32, Minix fs, Linux ext2fs v ext3fs, ReiserFS, JSF, XFS, v VSTa fs. GRUB cung c p giao di n dng l nh linh ho t l n giao di n th c n, ng th i cng h tr t p tin c u hnh.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 3

II.
1.

Ci

t GRUB

Ni t i GRUB xu ng

GRUB c s n ftp://alpha.gnu.org/gnu/grub ho c cc mirror c a n. Tn gi GRUB c d ng grub-version.tar.gz, th d grub-0.93.tar.gz.

2.

Ci

t GRUB trong mi tr ng Linux


t GRUB: i u hnh c th s d ng c GRUB ng my tnh.

C n phn bi t 2 b c c a ci - Ci - Ci t trong mi tr ng h t GRUB

GRUB lm trnh kh i

Sau khi t i v m t th m c thch h p, gi i nn b ng l nh


tar xzvf grub-0.93.tar.gz

Sau :
cd grub-0.93.tar.gz ./configure

( )

li t k cc tu ch n khi bin d ch:

./configure --help | more

Ti p theo:
make make install

Qu trnh ny s ci t shell grub, chng trnh ki m tra multiboot mbchk, cc hnh nh GRUB (thng th ng c ci vo th m c /usr/share/grub/i386-pc), ti li u h ng d n s d ng v trang man c a GRUB.

III.
1.

S d ng GRUB (File c u hnh)

Chu n b cc t p tin c n thi t

C hai cch ci t GRUB lm trnh kh i ng my tnh: dng mi tr ng nguyn thu c a GRUB (cch ny c khuyn dng) ho c dng mi tr ng h i u hnh gi ng Unix.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 4

Tr c khi ci GRUB lm trnh kh i ng c n chp cc t p tin stage1, stage2 v *stage1_5 t th m c /usr/share/grub/i386-pc (th m c hnh nh) vo th m c /boot/grub (th m c kh i ng). Trong s cc t p tin *stage1_5 c th ch c n chp t p tin thch h p v i h th ng t p tin c a /boot/grub, ch ng h n chp t p tin e2fs_stage1_5 n u th m c ny n m trn ext2 ho c ext3. Ngo i ra c th chp t p tin splash.xpm.gz vo th m c /boot/grub.

2.

Thu t ng dng trong GRUB


nh thi t b

2.1 Xc

(thi t-b [,s -th -t -phn-vng][,ch -ci-ti u-phn-vng-bsd])


tu ch n a m m) ho c hd ( a c ng, GRUB khng phn bi t IDE hay SCSI hay RAID) theo sau b i m t con s bi u th s c a thi t b theo BIOS v b t u v i 0 ho c a . V d :
(hd0) (0x80) (128)

[ ]: thng s thi t-b : fd (

l tng ng nhau.

a, cng b t u v i 0, phn vng m r ng b t u b ng 4, b t k s phn vng s c p th c c trn a. ch -ci-ti u-phn-vng-bsd: i di n cho ti u phn vng c a BSD, nh a hay e.
s -th -t -phn-vng: l s th t c a phn vng trn

C php t t g i ti u phn vng BSD l (thi t-b [,ch -ci-ti u-phn-vng-bsd]), trong tr ng h p ny GRUB s tm phn vng PC u tin ch a nhn a BSD, r i tm ti u phn vng c yu c u. Th d :

a th nh t (ho c MBR khi ci t GRUB) vng th nh t trn a c ng th nh t (ho c sector kh i ng c a phn vng ny khi ci GRUB) (hd0,4): phn vng m r ng th nh t trn a c ng th nh t (hd1,a): phn vng BSD a trn a c ng th hai; n u c n xc nh c th s PC slice no c dng, s d ng c php nh (hd1,0,a), n u b tr ng s PC slice, GRUB tm PC slice u tin c phn vng BSD a (fd0): a m m th nh t
(hd0): ton b (hd0,0): phn

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


h th ng c 2 a c ng IDE v 2 a c ng SCSI, trnh t kh i thi t l p l "IDE tr c SCSI", GRUB s dng cc nhn sau:
(hd0) (hd1) (hd2) (hd3)

Trang- 5
ng trong BIOS c

a c a c a c a c

ng IDE th ng IDE th ng SCSI th ng SCSI th

nh t hai nh t hai

Ngoi ra cn c thi t b a m ng (nd) n u khi ci t GRUB c b t tnh nng h tr m ng. C th dng ch c nng hon thnh dng l nh c a GRUB, v d g root ( r i <TAB>, GRUB s li t k cc a, phn vng, hay tn t p tin.

2.2 Xc
C 2 cch xc

nh t p tin
nh t p tin, b ng tn t p tin tuy t i ho c b ng danh sch kh i. i Unix, dng / lm

Tn t p tin tuy t i c a GRUB gi ng v i tn t p tin tuy t d u phn cch th m c. V d :


(hd0,0)/boot/grub/menu.lst

c ngha l t p tin (hd0,0)/boot/grub/menu.lst n m phn vng u tin c a a c ng th nh t. N u b qua tn thi t b trong tn t p tin tuy t i, GRUB dng

thi t b root ng m nh. Th d n u thi t l p thi t b root, ch ng h n nh (hd1,0), b ng l nh root th /boot/kernel c ngha l (hd0,1)/boot/kernel.

Danh sch kh i (block list) dng xc nh t p tin khng xu t hi n trong h th ng t p tin, ch ng h n nh m t trnh n p chu i (chainloader). C php:
[offset]+ -di[,offset]+ -di]...

Th d
0+100,200+1,300+300

GRUB

c cc kh i 0

n 99, kh i 200 v kh i 300

n 599.

N u b qua offset, GRUB s l y offset l 0. Cng nh trong c php tn t p tin, n u danh sch kh i khng ch a tn thi t b th GRUB s dng thi t b root c a GRUB. Th d +1 khi thi t b root l (hd0,1) tng ng v i (hd0,1)+1.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX L nh blocklist li t k danh sch kh i c a t p tin, v d :


grub> blocklist (hd1,0)/vmlinuz (hd1,0)1322144+96,1322248+1227

Trang- 6

c ngha l t p tin vmlinux, n m

phn vng th nh t c a a c ng th hai, chi m

96 kh i k t kh i 1322144 v 1227 kh i k t kh i 1322248 c th th y r ng t p tin ny hi b phn m nh.

3.

Cc t p tin hnh nh c a GRUB

GRUB bao g m m t s hnh nh: 2 giai o n chnh, cc giai o n tu ch n g i l Giai o n 1.5, v 2 hnh nh kh i ng m ng.
stage1

Giai o n 1, l m t hnh nh chnh dng byte.


stage2

kh i

ng GRUB, kch th c 512

Giai o n 2, l hnh nh c t li c a GRUB.


e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 jfs_stage1_5 minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5 xfs_stage1_5

T t c cc hnh nh ny c g i l Giai o n 1.5.


nbrub pxebrub

L cc hnh nh kh i

ng m ng.

4.

C ch kh i

ng dng trong GRUB

Trn sector th nh t c a a c ng ch a, ngoi b ng phn vng, m t o n m th c thi c l giai o n u tin c a qu trnh kh i ng my tnh, ho c o n m IPL (initial program load). o n m chu n ny l ci m l nh fdisk /mbr trn DOS t o ra. Khi thi t l p trong BIOS quy nh kh i ng t a c ng , BIOS s trao quy n i u khi n cho IPL ho c o n m giai o n m t. Khi o n m chu n c n p, n s quy t nh phn vng no l ch ng (active) v trao quy n i u khi n cho o n m th c thi c n m trong ho c g n sector th nh t c a phn vng ch ng. Nh ng g x y ra ti p theo ph thu c vo h i u hnh. cc h i u hnh DOS c, ph n c t li thi hnh c c a h i u hnh n m ngay t i v tr u tin c a a v c kh i ng tr c ti p t giai o n m t. Trong cc tr ng h p i n hnh hn, m t chng trnh kh i ng giai o n hai s c n p v n l t n s bi t ni no tm nhn ho c cc thnh ph n c t li c a h i u hnh v kh i ng chng. Khi GRUB ho c m t trnh kh i ng c ci t, o n m c a trnh kh i ng s thay th o n m IPL chu n. N ph i v a v n trong 512 byte v cn ph i chia s chung v i b ng phn vng. Khc bi t chnh gi a m t trnh kh i ng

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 7

v o n m IPL chu n l quy n i u khi n s i u ti p sau . Trong tr ng h p c a GRUB, quy n i u khi n s c trao cho trnh Giai o n 2 (ho c Giai o n 1.5).

Giai o n 1 c ci vo MBR ho c vo sector kh i ng c a phn vng, cn Giai o n 2 c t trn m t h th ng t p tin. Giai o n 1.5 c th c ci trong m t h th ng t p tin (ch ng h n nh phn vng /boot), trong vng kh i ng c a FFS ho c ReiserFS, v trong cc sector ngay sau MBR v Giai o n 1.5 nh v cc sector ngay sau MBR th ng khng c s d ng. Kch th c c a vng ny l s sector cho m i head tr i 1. Giai o n 1.5 ho c Giai o n 2 c th c t b t c ni u, v Giai o n 2 c th n p t p tin c u hnh t b t c ni u trn a c ng (t p tin c u hnh khng c n ph i c t trong m t h th ng t p tin). V v y t t c cng vi c m Giai o n 1 ph i lm l t i Giai o n 2 ho c Giai o n 1.5. Giai o n 1 m ho v tr c a Giai o n 2 (hay Giai o n 1.5) d ng danh sch kh i, nn n khng hi u b t c c u trc h th ng t p tin no. V GRUB h tr c ch CHS l n LBA nn Giai o n 1 trong GRUB, sau khi thm d thng s v ch truy c p c a a c ng, ch t i sector u tin c a Giai o n 2 (ho c Giai o n 1.5) v Giai o n 2 t n t i ph n cn l i (t c l t i t a ch b t u c a n c ng thm 512 byte). Giai o n 1.5 l c u n i gi a stage1 v stage2, ngha l Giai o n 1.5 c Giai o n 1 n p v Giai o n 1.5 n p Giai o n 2. stage1 khng hi u b t k h thng t p tin no nhng *_stage1_5 hi u m t h th ng t p tin (ch ng h n e2fs_stage1_5 hi u ext2fs. Giai o n 1.5 cho php Giai o n 2 c th c n p t m t h th ng t p tin b ng ng d n thng th ng m khng c n ph i dng danh sch kh i. V v y c th an ton di chuy n v tr c a stage2 n m t ni khc (ch ng h n nh khi gi i phn m nh h th ng t p tin), ngay c sau khi GRUB c ci t. Gai o n 1 n p Giai o n 1.5 vo b nh n u c n. M t s ph n c ng c n b c trung gian n p Giai o n 2, ch ng h n nh khi phn vng /boot n m v tr qu 1024 cylinder u c a c ng ho c khi s d ng ch LBA.

5.

Ci GRUB trong mi tr ng nguyn thu c a GRUB


thi t_b _ci_ t

5.1 Ci GRUB dng l nh setup


setup [--force-lba] [--stage2=t p_tin_stage2_h h] [--prefix=th_m c]

[thi t_b _hnh_ nh]

6.

Ci GRUB dng l nh install


thi t_b _ ch u_hnh_th c]

install [--force-lba] [--stage2=t p_tin_stage2_h h] t p_tin_stage1 [d] t p_tin_stage2 [ a_ch ] [p] [t p_tin_c u_hnh] [t p_tin_c

Chi ti t 2 l nh trn tham kh o t i: http://vnoss.org/docs/?id=2 GVHD: NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 8

7.

Ci GRUB trong mi tr ng h

i u hnh gi ng Unix

7.1 Ci GRUB dng l nh grub-install


Cch ny hon ton khng c khuy n khch, v c th my tnh s khng th kh i ng c v i GRUB. Th d , h u h t cc h i u hnh khng cho GRUB bi t cch nh x chnh xc a BIOS sang thi t b c a h i u hnh, GRUB ch on cch nh x . Trong h u h t cc tr ng h p th qu trnh ny thnh cng, nhng khng lun lun nh v y. Do GRUB cung c p t p tin nh x do ng i dng nh ngha device.map; n u t p tin ny cho th y nh x sai b n c n ph i s a n l i. N u khng may ph i ci t GRUB trong mi tr ng h i u hnh gi ng UNIX, g i l nh grub-install v i t cch siu ng i dng (root). Cch s d ng r t d dng, b n ch c n ch nh m t i s v ni ci t GRUB. i s c th l t p tin thi t b hay a/phn vng theo GRUB. C php:
grub-install thi t_b _ci_ t

Th d : ci GRUB vo MBR c a
# grub-install /dev/hda

a IDE th nh t trong Linux:

N u y cng l
# grub-install 'hd(0)'

a BIOS th nh t:

M t th d khc l khi c m t phn vng kh i ng c gn t i /boot. V GRUB l m t trnh n p kh i ng, n khng bi t g v cc i m gn, nn c n ch y l nh grub-install nh sau:
# grub-install --root-directory=/boot /dev/hda

Nh trn ni, vi c on a BIOS trong h i u hnh gi ng UNIX l kh kh khn. V v y, sau khi ci t, grub-install s nh c ng i dng ki m ra xem n c on ng cc nh x khng. C n c n th n, v n u k t qu xu t ra sai my tnh r t c th b n s g p r c r i khi kh i ng l i my tnh.

Cc tu ch n c a l nh grub-install
--help

In tm t t v cc tu ch n dng l nh v thot.
--version

In s phin b n c a GRUB v thot.


--force-lba

B t bu c GRUB dng ch LBA. Ch dng tu ch n ny n u BIOS khng ho t ng ch LBA m c d n h tr ch LBA.


--grub-shell=t p_tin

Dng t p_tin lm shell grub. B n c th thm cc tu ch n tu vo t p_tin sau tn t p tin, th d :


grub-install --grub-shell="grub read-only" /dev/fd0 --recheck Ki m tra l i nh x thi t b , ngay c khi /boot/grub/device.map

t n t i. Nn dng tu ch n ny m i khi thm/tho m t a vo/ra kh i my tnh. Lu r ng grub-install th c ch t l m t Bourne shell script v ch c nng th c s do shell grub th c hi n. V v y c th ch y grub tr c ti p ci GRUB, m khng c n grub-install. Nhng khng nn lm nh v y tr khi b n r t quen thu c v i cc y u t n i t i c a GRUB. Vi c ci m t trnh n p kh i ng trong m t h i u hnh ang ch y l c c k nguy hi m.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 9

8.

Ci GRUB trong shell grub


i u hnh.

Cch ny dng l nh grub trong mi tr ng h

C n lu l shell grub l trnh m ph ng n thay th cc l i g i BIOS b ng cc l i g i h th ng UNIX v cc hm libc, n khng ch y d i mi tr ng nguyn thu , v v y i khi n ho t ng khng chnh xc, nh t l trong vi c nh x gi a cc a BIOS v cc thi t b h i u hnh. Qu trnh ci t dng shell grub tng t nh Giai o n 2 nguyn thu . B n c n c n th n v buffer cache. grub dng thi t b th thay v h th ng t p tin m h i u hnh ang s d ng, v v y c kh nng cache inconsistency no gy h h ng h th ng t p tin. L i khuyn l:

tho gn tr c khi ch y grub, n u c th , cc a m GRUB c th s vi t d li u ln. gn ch ch - c n u khng th tho gn a nhng c th gn v i c ch c. ch c ch n r ng khng c b t k ho t ng a no trong khi ch y l nh grub n u a b t bu c ph i gn v i c c-vi t. kh i ng l i h i u hnh cng s m cng t t. i u ny c th khng c n thi t n u cc b c trn c tun th , nhng kh i ng l i l cch an ton nh t.

Sau khi hon t t ci t, vi c nh p l nh quit l r t quan tr ng v quit lm cho buffer cache tr nn consistent; ng n <C-c>.

N u mu n ci GRUB khng tng tc, ch th d n gi n:


#!/bin/sh # Du`ng /usr/sbin/grub ne^'u o+? he^. tho^'ng cu~. /sbin/grub --batch <<EOT 1>/dev/null 2>/dev/null root (hd0,0) setup (hd0) quit EOT

nh tu ch n --batch

dng l nh. M t

Cc tu ch n c a l nh grub:
--help

In tm t t v cc tu ch n dng l nh v thot.
--version

In s phin b n c a GRUB v thot.


--verbose

In cc thng i p verbose nh m m c ch g l i.
--device-map=t p_tin

Dng t p tin nh x thi t b t p_tin.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


--no-floppy

Trang- 10

a m m. Tu ch n ny khng c tc d ng n u tu ch n --deviceKhng thm d map c ch nh.


--probe-second-floppy

Thm d a m m th hai. Shell grub khng thm d n n u tu ch n ny khng c ch nh v i khi n c n th i gian lu. Shell grub b qua tu ch n ny n u ch inh t p tin nh x thi t b .
--config-file=t p_tin

c t p tin c u hnh t p_tin thay v /boot/grub/menu.lst.


--boot-drive= _ a

Thi t l p a kh i ng stage2 l _ a. bt phn hay th p l c phn).


--install-partition=phn_vng

i s ny l m t s nguyn (th p thn, i s ny l m t s nguyn

Thi t l p phn vng kh i ng stage2 l phn_vng. (th p thn, bt phn hay th p l c phn).
--no-config-file

Khng dng t p tin c u hnh.


--no-curses

Khng dng giao di n curses.


--batch

Tu ch n ny c cng ngha nh --no-config-file --no-curses.


--read-only

Khng vi t vo b t c a no. C th ci GRUB theo m t t p tin c s n ch a cc thng s c n thi t cho l nh grub. Th d c t p tin /etc/grub.conf nh sau:
root (hd0,4) install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,4)/grub/menu.lst quit V b n v a hi u ch nh t p tin device.map, by gi b n ph i ci l i GRUB: grub --batch --device-map=/boot/grub/device.map </etc/grub.conf Th d b n c t p tin /etc/grubfd.conf dng ci GRUB vo a m m:

# # /etc/grubfd.conf ta.o ddi~a me^`m kho+?i ddo^.ng # # DDe^? ca`i grub va`o ddi~a me^`m, nha^.p le^.nh sau: # grep -v ^# /etc/grubfd.conf | grub --batch # root (fd0) install /boot/grub/stage1 d (fd0) (fd0)/boot/grub/stage2 0x8000 p (fd0)/boot/grub/menu.lst quit

B n dng l nh sau

ci GRUB vo a m m ( c ch thch trong t p tin ):

grep -v ^# /etc/grubfd.conf | grub batch

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 11

9.

Kh i

ng h th ng v i GRUB

GRUB c 2 cch khc nhau kh i ng h th ng. M t cch l n p h i u hnh tr c ti p, cch kia l n p chu i m t trnh n p kh i ng khc, trnh n p kh i ng ny s n p h i u hnh. Ni chung th cch th nh t c a chu ng hn v khng ph i ci hay duy tr trnh kh i ng khc. Tuy nhin i khi v n c n dng cch th hai v GRUB khng h tr m i h i u hnh v b n ch t, c bi t l cc h i u hnh thu c s h u c quy n.

9.1 Kh i

ng h

i u hnh tr c ti p
ng Linux, FreeBSD, NetBSD, OpenBSD, GNU HURD

Ni chung GRUB c th kh i theo cc b c sau:


Quy nh thi t b root c a GRUB l a ni gi cc hnh nh h i u hnh b ng l nh root. T i h i u hnh b ng l nh kernel, c th g n thm cc thng s cho nhn. N u c n, t i initrd b ng l nh initrd ho c cc m- un b ng l nh module ho c modulenounzip. Ch y l nh boot.

9.2 T i trnh n p kh i

ng khc

kh i ng cc h i u hnh khng c h tr , GRUB n p chu i m t trnh n p kh i ng cho h i u hnh . Thng th ng, trnh kh i ng c t sector kh i ng c a phn vng ci t h i u hnh.

Thi t l p thi t b root c a GRUB


rootnoverify

n phn vng h

i u hnh b ng l nh

grub> rootnoverify hd(0,0)

Thi t l p c active trong ph n vng b ng l nh makeactive


grub> makeactive

T i trnh n p kh i
grub> chainloader +1
+1

ng b ng l nh chainloader

bi u th GRUB

c m t sector k t ni b t

u c a phn vng.

Ch y l nh boot

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 12

10. C u hnh
giao di n dng l nh c n ph i g vi l nh kh i ng h i u hnh. GRUB cng cung c p giao di n th c n m ch c n ch n m t m c l m i th c th c hi n kh i ng h i u hnh.

c th s d ng giao di n th c n c n ph i c t p tin c u hnh menu.lst th m c kh i ng. Khi h th ng c kh i ng, GRUB c n i dung c a t p tin c u hnh. Khng c n ph i ci GRUB l i m i khi thay i n i dung t p tin ny. T p tin ny m c nh n m th m c /boot/grub, nhng c th t b t c ni u cng nh c th t b t c tn g cho n.

10.1 Phn tch th d v m t t p tin c u hnh:


T p tin ny b t u b ng cc thi t l p chung, cc tu ch n lin h n giao di n th c n. Cc l nh ny c th c t tr c b t c m c no (b t u v i l nh title). y l cc dng bnh lu n. GRUB b qua cc dng b t u v i k t # v cc dng tr ng.
# Theo ma(.c ddi.nh, kho+?i ddo^.ng dde^` mu.c thu+' nha^'t default 0

m c th nh t (lu l GRUB s kh i ng t

mb t

u t 0 ch khng ph i 1) s l l a ch n m c

nh.

# Tu+. ddo^.ng kho+?i ddo^.ng sau 30 gia^y timeout 30

ng sau 30 giy, tr khi b ng t b i m t nh n phm.

# Quay la.i dde^` mu.c thu+' hai fallback 1

N u v b t c l do no m m c m c nh khng ho t ng, quay l i m c th hai. ph n nh ngha cho h i u hnh, m i m c b t u b ng m t l nh c bi t title. Khng c l nh boot cu i m c v n s t ng th c hi n n u GRUB n p thnh cng cc l nh khc.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 13

10.2

c i m c a t p tin c u hnh:
cc l nh c th cho th c n ph i c dng tr c cc l nh khc t p tin ph i nh d ng vn b n thu n tu # u dng cho bi t y ch l l i bnh cc tu ch n cch nhau b ng kho ng tr ng s c th d ng th p phn ho c th p l c phn. S th p l c phn ph i kh i b ng 0x, v phn bi t ch hoa-th ng

N u qu trnh ci GRUB khng quy nh t p tin c u hnh, v n c th t i t p tin c u hnh trong mi tr ng GRUB b ng l nh configfile, th d :
grub> configfile (fd0)/boot/grub/menu.lst

11. Giao di n ng i dng c a GRUB


GRUB c c giao di n th c n n gi n ch n cc m c c thi t l p s n t t p tin c u hnh l n giao di n dng l nh linh ho t cao th c hi n b t c cc t h p l nh kh i ng no theo mu n.

12. Giao di n dng l nh


Giao di n dng l nh cung c p m t d u nh c v sau n l vng vn b n c th bin t p c gi ng m t dng l nh trong Unix ho c DOS. M i dng l nh c thi hnh ngay l p t c sau khi n c nh p vo. Cc l nh ny l m t ph n c a cc dng l nh c th dng trong t p tin c u hnh, v i cng m t c php. Dng giao di n dng l nh c th kh i ng cc h i u hnh khng c trong th c n GRUB.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 14

Khi g cc l nh m t cch tng tc, n u con tr trong ho c tr c t u tin trong dng l nh, n phm <TAB> (ho c <C-i>) s li t k cc l nh c s n, v n u con tr sau t u tin, <TAB> s li t k cc a, phn vng, v tn t p tin tu vo tnh hu ng.

Lu r ng khng th dng ch c nng hon thnh dng l nh trong h th ng t p tin TFTP v b i v TFTP khng h tr li t k tn t p tin v l do b o m t. Dng l nh help
help root

c thng tin v m t l nh, v d

xem thng tin c a l nh root:

13. Giao di n th c n

14. Bin t p m t

m c trong th c n

bin t p m t m c trn th c n, u tin n <ESC>, sau ch n m c c n thay i b ng cc phm con tr v n <e>, khi cc dng l nh cho m c s xu t hi n. Ch n dng c n i u ch nh b ng cc phm con tr v n <e> l n n a.

Trong khi bin t p m t m c, n <RET> thay th dng l nh c b ng dng l nh v a i u ch nh, n u n <ESC> m i thay i s c b qua. N u mu n thm m t dng m i vo m c kh i ng, n <o> n u thm vo sau dng hi n t i ho c GVHD: NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 15

<O> n u thm vo tr c dng hi n t i. xo m t dng, n <d>. GRUB khng h tr hu b thao tc v a lm, nhng c th lm i u tng t nh v y b ng cch quay tr l i th c n chnh. Sau khi i u ch nh xong, n <b> kh i ng v i m c .

15. Giao di n th c n n
N u thi t b cu i cm ho c GRUB c yu c n che d u giao di n th c n b ng l nh hiddenmenu, GRUB s khng hi n th giao di n th c n v t ng kh i ng m c m c nh, tr khi b ng t b ng cch n phm <ESC>. Khi ng t th i gian ch v thi t b cu i cm, GRUB quay tr l i giao di n dng l nh.

16. M t s l nh trong GRUB


16.1 Cc l nh ch dng cho th c n
default s Thi t l p m c nh cho m c s s . Vi c nh s b t u t 0, v m c s 0 l m c nh n u l nh ny khng c dng. C th ch nh saved thay v m t con s . Khi , m c m c nh l m c c lu b ng l nh savedefault. fallback s N u m c m c nh c l i, ngay l p t c chuy n qua m c s thay v ch ng i dng thao tc. Cch nh s gi ng nh l nh default. C th thi t l p nhi u hn m t fallback. hiddenmenu Khng hi n th th c n trn thi t b u cu i v m c m c nh s c kh i ng sau khi h t th i gian ch . Ng i dng v n c th yu c u hi n th th c n b ng cch n <ESC> tr c khi th i gian ch h t. timeout gy Thi t l p th i gian ch , tnh b ng gy giy, tr c khi t ng kh i ng vo m c m c nh. title tn ... B t u m t m c kh i ng m i; n i dung c a ph n cn l i c a dng ny, b t u b ng k t u tin khng ph i l kho ng tr ng, c l y lm tn cho m c .

III.16.1.1

Cc l nh chung

Cc l nh ny c th c dng trong th c n l n dng l nh. color bnh_th ng [t_sng] Thay i mu th c n. Mu bnh_th ng c dng cho h u h t cc dng trong th c n, v mu t_sng c dng t sng dng m con tr ang ch n. N u khng dng t_sng, mu ng c l i c a b nh_th ng c dng t sng. nh d ng c a m t mu l ti n_c nh/h u_c nh. ti n_c nh v h u_c nh l cc tn mu t ng trng.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Tn mu t ng trng ph i l m t trong cc tn sau:

Trang- 16

black blue green cyan red magenta brown light-gray

Nh ng tn bn d i ch dng c cho ti n c nh.


dark-gray light-blue light-green light-cyan light-red light-magenta yellow white

Nhng ch c 8 tn

u c th dng cho h u_c nh.


blink-

N u mu n ch p nhy mu ti n c nh, dng ti n t L nh ny dng c trong t p tin c u hnh v tin c u hnh:


# Thie^'t la^.p ma`u ma(.c ddi.nh. color light-gray/blue black/light-gray # Thay ddo^?i ma`u. title OS-BS like color magenta/blue black/magenta

cho ti n_c nh.

dng l nh. Th d trong t p

device _ a t p_tin Trong shell grub, ch nh t p tin t p_tin nh l a th c s cho a BIOS _ a. C th dng l nh ny t o hnh nh a, v/ho c s a ch a cc a c GRUB on khi GRUB khng xc nh c chng m t cch chnh xc, nh:
grub> device (fd0) /floppy-image grub> device (hd0) /dev/sd0

L nh ny ch dng c shell grub. hide phn_vng Che d u phn vng phn_vng b ng cch thi t l p bit n trong m lo i phn vng c a n. i u ny c l i khi kh i ng DOS hay Windows v nhi u phn vng FAT s c p t n t i trn m t a.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 17

password [--md5] m t_kh u [t p_tin_c u_hnh_m i] N u c dng trong ph n u tin c a m t t p tin th c n, n s v hi u ho m i ho t ng i u khi n bin t p tng tc (b ph n bin t p m c th c n v dng l nh) v cc m c c b o v b ng l nh lock. N u m t kh u m t_kh u c nh p, n s t i t p_tin_c u_hnh_m i lm t p tin c u hnh m i v kh i ng l i GRUB Giai o n 2 n u t p_tin_c u_hnh_m i c ch nh. N u khng, GRUB s ch m kho cc l nh c quy n. L nh ny cng c th c dng trong ph n script, khi n s h i m t kh u tr c khi ti p t c. Tu ch n --md5 b o GRUB r ng m t_kh u c m ho v i md5crypt. setkey [ n_phm t _phm] Thay i nh x bn phm. Phm t _phm c nh x sang n_phm. N u khng c i s n s thi t l p l i nh x bn phm. Lu r ng l nh ny khng hon i cc phm. N u mu n hon i cc phm, ch y l nh ny m t l n n a v i thng s hon i, nh:
grub> setkey capslock control grub> setkey control capslock

M t phm ph i l m t ch ci, m t con s , ho c m t trong cc k hi u sau: escape, exclam, at, numbersign, dollar, percent, caret, ampersand, asterisk, parenleft, parenright, minus, underscore, equal, plus, backspace, tab, bracketleft, braceleft, bracketright, braceright, enter, control, semicolon, colon, quote, doublequote, backquote, tilde, shift, backslash, bar, comma, less, period, greater, slash, question, alt, space, capslock, FX (X l m t ch s ), v delete. unhide phn_vng Kh n phn vng phn_vng b ng cch xo bit n trong m lo i phn vng. L nh ny c ch khi kh i ng DOS ho c Windows v c nhi u phn vng s c p trn m t a c ng.

17. Cc l nh dng

dng l nh v

m c th c n

Cc l nh ny dng c dng l nh v m c th c n. C th ch y l nh help xem thng tin v cc l nh ny. blocklist t p_tin In k hi u danh sch kh i c a t p tin t p_tin. boot Kh i ng h i u hnh/trnh n p chu i c n p. Ch c n thi t khi ch y trn dng l nh tng tc y (n c hi u ng m cu i m c th c n). cat t p_tin Hi n th n i dung t p tin t p_tin. L nh ny c th gip xc m c g c c a h i u hnh:
grub> cat /etc/fstab

nh ng u l th

chainloader [--force] t p_tin N p chu i t p_tin. N u ch nh tu ch n --force, n s c ng b c n p t p_tin, cho d n c ch k ng hay khng. i u ny gip n p m t trnh n p kh i ng khi m khuy t (nh kh i ng SCO UnixWare 7.1).

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 18

cmp t p_tin1 t p_tin2 So snh t p tin t p_tin1 v i t p_tin2. N u chng khc nhau v kch th c, in cc kch th c nh sau:
Differ in size: 0x1234 [foo], 0x4321 [bar]

N u kch th c b ng nhau nhng cc byte sau:


Differ at the offset 777: 0xbe [foo], 0xef [bar]

m t offset khc nhau, in cc byte nh

N u chng hon ton gi ng nhau, khng in g c . configfile t p_tin T i t p_tin lm t p tin c u hnh. displaymem Hi n th thng tin v b nh ang c s d ng, bao g m t t c cc vng c a RAM v t l c ci t, d a trn thng tin t BIOS. Gip xc nh h th ng c bao nhiu RAM dnh cho kh i ng. embed stage1_5 thi t_b a, Ghi Giai o n 1.5 stage1_5 vo cc sector sau MBR n u thi t_b l m t ho c vo vng c a trnh kh i ng n u thi t_b l m t phn vng FFS ho c phn vng ReiserFS. In con s cc sector chi m b i stage1_5, n u thnh cng. Thng th ng khng c n ch y l nh ny tr c ti p. find tn_t p_tin Tm tn t p tin tn_t p_tin trong t t c cc phn vng v in danh sch cc thi t bi ch a t p tin. Tn t p tin tn_t p_tin nn l m t tn t p tin tuy t i nh /boot/grub/stage1. halt --no-apm T t my tnh. N u tu ch n --no-apm c ch nh, khng th c hi n l i g i APM BIOS; n u khng, my tnh dng APM khi t t. help --all [m u ...] Hi n th thng tin v cc l nh c ci s n. N u khng ch nh m u, l nh ny s cho ra miu t ng n c a h u h t cc l nh c s n. N u ch nh tu ch n --all, cc miu t ng n cho cc l nh hi m dng cng c trnh by. N u ch nh m u, n s trnh by thng tin di hn v m i l nh kh p v i cc m u . initrd t p_tin ... N p a RAM ban u cho hnh nh kh i ng theo nh d ng Linux v thi t l p cc thng s thch h p cho vng thi t l p Linux trong b nh . install c c p trn. ioprobe _ a D tm c ng I/O dng cho a _ a. L nh ny s li t k cc c ng I/O trn mn hnh. kernel [--type=lo i] [--no-mem-option] t p_tin ... N p hnh nh kh i ng (Multiboot a.out ho c ELF, Linux zImage ho c bzImage, FreeBSD a.out, NetBSD a.out, v.v...) t t p_tin. Ph n cn l i c a dng c chuy n nguyn vn nh dng l nh nhn. B t c m- un no cng c th c n p sau khi dng l nh ny. L nh ny cng ch p nh n tu ch n --type ch nh c th lo i nhn c a t p_tin. i s lo i ph i l m t trong cc th sau: netbsd, freebsd,

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 19

openbsd, linux, biglinux, v multiboot. Tuy nhin, ch c n xc nh lo i nhn khi n p nhn NetBSD ELF v GRUB c th t ng xc nh lo i nhn trong cc tr ng h p khc m t cch kh an ton. Tu ch n --no-mem-option ch hi u qu trn Linux. N u ch nh tu ch n ny, GRUB khng chuy n tu ch n mem= n nhn.

lock Ngn c n ng i dng thng th ng thi hnh cc m c th c n m t cch tu . l nh ny th c s c tc d ng ph i dng km v i l nh password. L nh ny c dng trong th c n, nh th d sau:
title DDe^` mu.c na`y ddu+o+.c ba?o ve^. lock root (hd0,a) kernel /no-security-os

makeactive Thi t l p phn vng ch ng (active) trn a root cho thi t b root c a GRUB. L nh ny ch gi i h n (do ch c ngha) cho cc phn vng PC s c p trn a c ng. map t _ _ a n_ _ a a t _ _ a n a n_ _ a. i u ny c n thi t khi n p chu i m t nh x s h i u hnh, th d nh DOS, n u h i u hnh n m a khng ph i l a th nh t. Th d :
grub> map (hd0) (hd1) grub> map (hd1) (hd0)

Th d ny chuy n i tr t t gi a cng th nh t v c ng th hai. md5crypt Nh c nh p m t kh u v m ho n d ng MD5. M t kh u c m ho c th dng v i l nh password. module t p_tin ... T i m- un kh i ng t p_tin cho hnh nh kh i ng nh d ng Multiboot . Ph n cn l i c a dng c chuy n nh l dng l nh m- un, gi ng nh l nh kernel. Hnh nh nhn Multiboot ph i c n p tr c khi n p b t k m- un no. modulenounzip t p_tin ... Gi ng nh module, ngo i tr vi c gi i nn t ng b b t ho t. pause thng_ i p ... In thng_ i p, r i ch cho n khi m t phm c n. Lu r ng n u t <^G> (m ASCII 7) trong thng i p th loa s pht ra m thanh bp chu n, c ch khi nh c ng i dng thay i a m m. quit Thot shell grub. L nh ny ch dng c trong shell grub. reboot Kh i ng l i my tnh. root thi t_b [hdbias] Thi t l p thi t b root hi n t i sang thi t b thi t_b , sau gn (mount) n l y thng tin v kch th c phn vng ( chuy n nhn phn vng trong ES:ESI, c dng b i m t s trnh kh i ng theo ki u n p chu i), lo i a BSD ( kh i ng nhn BSD dng nh d ng nguyn thu c a chng), v xc nh chnh xc phn vng PC ni t cc ti u phn vng BSD. Thng s tu ch n hdbias l m t s cho nhn BSD bi t con s a BIOS l bao nhiu trn cc controller tr c

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 20

a hi n t i. Th d , n u c m t a IDE v m t a SCSI, v phn vng root c a FreeBSD trn a SCSI, th dng 1 cho hdbias. rootnoverify thi t_b [hdbias] Tng t nh root, nhng khng gn (mount) phn vng. i u ny h u ch khi h i u hnh n m ngoi khu v c trn a m GRUB c th c, nhng v n mu n thi t l p thi t b root ng. Lu r ng cc m c c p ph n l nh root bn trn c c do gn s khng lm vi c chnh xc. savedefault Lu m c hi n t i lm m c m c nh

V i c u hnh ny GRUB s ch n m c c kh i ng tr c y lm m c m c nh. Dng l nh savedefault m t ho c m t vi m c v khng dng m t s m c khc s t o th c n cho php thay i m c nh m t vi h th ng v khng bao gi thi t l p m c nh c cho cc h i u hnh kia.
setup cd c p trn.

IV. M t s th ng g p
1.1 T o a CD kh i

ng d ng c th v v n
ng v i GRUB

N u b n c a m m kh i ng v i GRUB o t a vo a v th c hi n l nh
dd if=/dev/fd0 of=boot.img bs=1024 count=1440

N u b n khng c a m m o b nc nt om t a m m o (hnh nh
o o o o o

a):

dd if=/dev/zero of=boot.img bs=1024 count=1440 mke2fs -F boot.img mount -o loop boot.img mnt mkdir -p mnt/boot/grub

Cc t p tin t i thi u c n c GRUB lm vi c g m stage1, stage2, menu.lst. nh v cc t p tin ny trong h thng c a b n, th ng chng c trong /boot/grub ho c /usr/local/share/grub/i386-pc. Chp chng vo t p tin hnh nh:
cp / ng-d n/stage1 mnt/boot/grub cp / ng-d n/stage2 mnt/boot/grub cp / ng-d n/menu.lst mnt/boot/grub

o o

o o

Bin t p menu.lst (n u c n thi t):


cd mnt/boot/grub vi menu.lst

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


o o

Trang- 21

Tho gn v ch y grub:
umount mnt grub

Trong shell grub, ch y cc l nh:


device (fd0) boot.img root (fd0) setup (fd0) quit

Dng t p tin hnh nh t o a CD kh i

ng:

mkdir -p /tmp/boot mv boot.img /tmp/boot cd /tmp mkisofs -b boot/boot.img -c boot/boot.catalog -o boot.iso -r boot

T p tin c t o ra l /tmp/boot.iso, b n dng n

ghi vo a CD.

1.2 Kh i
title windows hide (hd0,1) unhide (hd0,0) root (hd0,0) makeactive chainloader +1 title windows_2 hide (hd0,0) unhide (hd0,1) root (hd0,1) makeactive chainloader +1

ng nhi u b n Windows ci

t trn m t a c ng

1.3 Kh i

ng

CD
ng CD, do n u mu n t GRUB kh i ng trung gian. ng m t CD th

GRUB cha h tr kh i ph i nh m t trnh kh i

sbminst -t us -d /dev/fd0 (t o a m m kh i dd if=/dev/fd0 of=/boot/sbm.img bs=1k count=18 cp /path/to/syslinux-2.04/memdisk/memdisk /boot

ng Smart Boot Manager) (tm gi syslinux v l y t p tin memdisk trong

) Thm m c vo menu.lst:

title cdrom kernel (hd1,6)/boot/memdisk initrd (hd1,6)/boot/sbm.img

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 22

V.

C ch an ton v b o m t GRUB

Dng tnh nng m t kh u c a GRUB ch cho php ng i qu n tr dng cc ho t ng tng tc (nh bin t p m c th c n v vo giao di n dng l nh). s d ng tnh nng ny, c n ch y l nh password trong t p tin c u hnh, nh sau:
password --md5 PASSWORD

Khi GRUB khng cho php i u khi n tng tc no (<e> v <c>), cho n khi g phm <p> v nh p ng m t kh u. Tu ch n --md5 cho GRUB bi t r ng PASSWORD nh d ng MD5. N u khng s d ng tu ch n ny, GRUB cho r ng PASSWORD d ng vn b n thu n tu. M t kh u c th c m ho b ng l nh md5crypt. Th d ch y shell grub v nh p m t kh u:
grub> md5crypt Password: ********** Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.

Sau c t v dn m t kh u c m ho vo t p tin c u hnh. Ngoi ra cng c th ch nh i s tu ch n cho l nh password, th d :


password PASSWORD /boot/grub/menu-admin.lst Khi GRUB s n p /boot/grub/menu-admin.lst

lm t p tin c u hnh khi nh p ng m t kh u. N u mu n ch c ng i qu n tr m i c quy n ch y m t s m c th c n no , ch ng h n nh kh i ng m t h i u hnh khng b o m t nh DOS, c th dng l nh lock; l nh ny lun lun d ng l i cho n khi nh p ng m t kh u. Th d :

title Kho+?i ddo^.ng DOS lock rootnoverify (hd0,1) makeactive chainload +1

Cng c th dng l nh password thay cho lock. Trong tr ng h p ny ti n trnh kh i ng s yu c u m t kh u v d ng l i cho n khi m t kh u c nh p chnh xc. V l nh password nh n i s PASSWORD c a chnh n nn s c l i n u dng m t m t kh u khc v i m t kh u cho cc m c khc.

Nn s d ng l nh lock/password ngay sau title v cc l nh trong th c thi theo th t .


grub-md5-crypt

m c th c n c

l script g i shell grub m ho m t chu i k t d ng MD5. M t kh u do chng trnh ny m ho c th c dng v i l nh password. nh n cc tu ch n sau:

grub-md5-crypt --help

In tm t t cc tu ch n dng l nh v thot
--version

In thng tin phin b n v thot


--grub-shell=t p_tin

Dng t p_tin lm shell grub

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 23

VI.
1.

[Grub 2]

[T Ubuntu-VN]

GRand Unified Bootloader, version 2 (Grub 2) l phin b n th hai c a GNU GRUB. N l chng trnh ch u trch nhi m qu trnh n p v giao quy n i u khi n cho nhn h i u hnh trong lc kh i ng. Grub 2 tng thch v i chu n POSIX (v d nh GNU/Linux, *BSD, Mac OS,...) v cng c th k t n i n nh ng h th ng khng tng thch v i POSIX (Portable Operating System Interface for Unix). GRUB 2 c vi t l i m i hon ton v m t giao di n. D a trn nghin c u c a d n PUPA, GRUB 2 h tr tnh m- un v c ng nhi u hn ng i ti n nhi m c a n. Sau y l m t vi c i ti n d ki n c a GRUB 2:

h tr giao di n h a, k c theo ch ; m- un ha qu trnh n p (modular loading); tng thch a n n t ng (h i u hnh); h tr nhng m (scripting support); ty bi n cc m c kh i ng; ki m tra tn phn vng.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 24

2.

[Ci

t / Nng c p]
t (Ubuntu 9.10)]

2.1 [Ci

GRUB 2 s c ci m c nh trn phin b n Karmic. N u b n mu n nng c p t Jaunty 9.04 ln Karmic 9.10 b n c th theo cc b c h ng d n d i y:

2.2 [Ci

t (Ubuntu 9.04+)]

M m t c a s dng l nh (Terminal) v nh p
$ sudo apt-get install grub2

Ch n OK t grub-pc configuration

Ch n Chainload from menu.lst YES T i d u nh c l nh, n ENTER

NOTE: Ci ny ch l t m th i, b n ph i c

nh n l i b ng cch...

Nh p vo m t terminal
$ sudo upgrade-from-grub-legacy

Sau GRUB 2 s cho bi nghi m c a chng ti, n hi n th b n. N u cha chnh xc, b n ph v i h th ng c a b n v th l ch


$ sudo grub-install

t a ch m n kh i ng. Trn h th ng th (hd0) /dev/sda nhng c th khc trn my c a i ch nh s a file /boot/grub/device.map kh p y:

GRUB 2 s c ci y , cn GRUB hi n h u th b g ra v c u hnh c a n s c sao lu l i. C u hnh c a GRUB c c lu t i /boot/grub v c tn l menu.lst* B n c th xc


grub-install v

nh l i phin b n m b n v a ci b ng cch nh p:

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 25

3.

[H th ng th m c v t p tin c a Grub 2]

Trong khi ton b cc file c a n v n cn n m trong th m c /boot/grub, th khng cn c khi ni m menu.lst. Tp tin i u khi n Grub by gi l grub.cfg. N c t o ra b i nhi u k ch b n (scripts) c ch y khi l nh "update-grub" c th c thi (lu ph i ch y d i quy n root: "sudo update-grub"). Nh ng files ng vai tr chnh v n i dung c a grub.cfg /etc/default/grub v nh ng file k ch b n ring l c t t i /etc/grub.d/ Nhi u t p tin trong /boot/grub s r t xa l v i ng i dng quen v i Grub tr c. c bi t ng ch l c v s cc file *.mod trong th m c /boot/grub. Grub 2 c tnh m- un v nh ng d li u trong *.mod c n p ln khi c n thi t b i grub. M c d c s b sung c a nh ng t p tin ny, t ng kch th c c a th m c /boot/grub g n nh khng i so v i Grub Legacy v khng i h i nhi u khng gian cho phn vng /boot.

3.1 [grub.cfg (/boot/grub/grub.cfg)]


KHNG CH NH S A T P TIN NY y l t p tin chnh c a Grub 2. N l "v t tch" c a /boot/grub/menu.lst trong Grub Legacy. N ch a cc l nh ch th cc m c cho Grub. Nhng khng gi ng nh file menu.lst trong Grub Legacy, grub.cfg v n sinh NG I DNG CH NH S A!!! ra KHNG

grub.cfg c t o ra m t cch t ng ho t t c p nh t khi v ch khi l nh "update-grub" c thi hnh. L nh ny ph i c ch y d i quy n c a "ng i qu n tr " ("root"). Cc k ch b n c dng kh i t o grub.cfg bao g m cc tp tin ch a trong th m c /etc/grub.d v thng tin c thu th p t /etc/default/grub T p tin ny c chia thnh t ng khu v c. M i phn khu c m t v c th nh n bi t b ng dng ### BEGIN. Thng tin trong dng ny c p n nh ng t p tin trong th m c /etc/grub.d v n dng lin k t thng tin vo trong grub.cfg M c nh, v m i khi l nh "update-grub" c th c thi, tp tin ny c "nim ch" ch c m thi. i u ny gi cho n i dung c a t p tin s khng b thay i m t cch "th cng". N u b n mu n ch nh s a file ny, h ng d n n m cu i bi. y l n i dung m u c a grub.cfg, bao g m hai li (kernel) Ubuntu, memtest86+, Windows v m t m c ty ch nh (41_srcd), c nh p t cc k ch b n /etc/grub.d/ :

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/update-grub using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### set default=0 set timeout=5 set root=(hd0,5) search --fs-uuid --set b02e1934-12dd-418a if font /usr/share/grub/ascii.pff ; then set gfxmode=640x480 insmod gfxterm insmod vbe terminal gfxterm fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=cyan/blue set menu_color_highlight=white/blue ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_hurd ### ### END /etc/grub.d/10_hurd ###

Trang- 26

### BEGIN /etc/grub.d/10_linux ### set root=(hd0,5) search --fs-uuid --set b02e1934-12dd-418a-be3a-9ff7d3e7e7ea menuentry "Ubuntu, linux 2.6.28-13-generic" { linux /boot/vmlinuz-2.6.28-13-generic root=UUID=b02e1934-12dd-418a ro quiet splash vga800 initrd /boot/initrd.img-2.6.28-13-generic } menuentry "Ubuntu, linux 2.6.28-13-generic (single-user mode)" { linux /boot/vmlinuz-2.6.28-13-generic root=UUID=b02e1934-12dd-418a ro single initrd /boot/initrd.img-2.6.28-13-generic } menuentry "Ubuntu, linux 2.6.28-11-generic" { linux /boot/vmlinuz-2.6.28-11-generic root=UUID=b02e1934-12dd-418a ro quiet splash vga800 initrd /boot/initrd.img-2.6.28-11-generic } menuentry "Ubuntu, linux 2.6.28-11-generic (single-user mode)" { linux /boot/vmlinuz-2.6.28-11-generic root=UUID=b02e1934-12dd-418a ro single initrd /boot/initrd.img-2.6.28-11-generic } ### END /etc/grub.d/10_linux ###

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


### BEGIN /etc/grub.d/20_memtest86+ ### menuentry "Memory test (memtest86+)" { linux /boot/memtest86+.bin } menuentry "Memory test (memtest86+, serial console 115200)" { linux /boot/memtest86+.bin console=ttyS0,115200n8 } ### END /etc/grub.d/20_memtest86+ ### ### BEGIN /etc/grub.d/30_os-prober ### menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" { set root=(hd0,1) chainloader +1 } ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/40_custom ### # This file is an example on how to add custom entries ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_srcd ### menuentry "SystemRescue CD on hard drive" { set root=(hd0,10) linux /sysrcd/rescuecd subdir=sysrcd setkmap=us initrd /sysrcd/initram.igz } ### END /etc/grub.d/41_srcd ###

Trang- 27

3.2 [grub (/etc/default/grub)]


T p tin ny ch a ng d li u n m ph n trn trong t p tin /boot/grub/menu.lst v n thu c v grub tr c y. N lu l i nh ng thi t t chnh y u nh h ng n vi c hi n th cc m c c a Grub. T p tin ny c th c ch nh s a b i root thay i cc thi t t ny; chng s c a vo grub.cfg khi ch y l nh "updategrub".
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg.

GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480

Trang- 28

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entrys #GRUB_DISABLE_LINUX_RECOVERY="true"

This file contains information formerly contained in the upper section of Grub Legacy's ''menu.lst'' and items contained on the end of the kernel line. The items in this file can be edited by a user with administrator (root) privileges. Grub developers have have placed explanatory comments within the file itself.

GRUB_DEFAULT=0 o Thi t t l a ch n kh i ng m c nh. Gi tr c th l con s ho c t "saved" o GRUB_DEFAULT=0 Thi t t m c nh theo v tr trong m c. Gi ng v i Grub Legacy, dng m c u tin trong grub.cfg l 0, th hai l 1, ... o GRUB_DEFAULT=saved Thi t t m c nh theo l a ch n l n kh i ng tr c. N u b ng l a ch n c hi n th trong lc kh i ng th l a ch n tr c s c lm n i b t. N u khng tc ng g n bn phm ho c b ng l a ch n khng xu t hi n th l a ch n s c kh i ng khi h t th i gian ch . o GRUB_DEFAULT="xxxx" V i xxxx l tn chnh xc c a m c l a ch n (ch ph i c thm 2 d u ngo c kp). Trong tr ng h p ny th khng c n ph i quan tm n th t c a m c l a ch n. bi t tn c a m c c n ch n, ch y l nh ny trong terminal:
grep menuentry /boot/grub/grub.cfg

GRUB_TIMEOUT=5 o Khng c g thay i t phin b n tr c. y l th i gian m ng c (tnh b ng giy) hi n th b ng l a ch n tr c khi l a ch n m c nh c kh i ng. o Thi t t gi tr l -1 s hi n th b ng l a ch n cho n khi ng i dng a ra quy t nh (khng c th i gian ch ).

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 29

GRUB_HIDDEN_TIMEOUT=0 o B ng l a ch n s b n i n u khng c d u "#" t u dng ny. ( # GRUB_HIDDEN_TIMEOUT=0 ) o Thi t t m c nh ban u ph thu c vo s hi n di n c a h i u hnh khc. N u pht hi n c h i u hnh khc: b ng l a ch n s xu t hi n (dng ny s chm d u "#") N u khng pht hi n h i u hnh khc: b ng s b n i. o N u t m t s nguyn l n hn 0, khi kh i ng my s xu t hi n th i gian ch tng ng v i con s , nhng v n khng hi n b ng l a ch n. o 0: kh i ng ngay t c kh c, khng c b ng l a ch n, khng c th i gian ch . Khi thi t t gi tr 0: Ng i dng c th p bu c my ph i hi n th b ng l a ch n b ng cch n v gi phm SHIFT. Trong qu trnh kh i ng, h th ng s ki m tra tr ng thi c a phm SHIFT. N u n khng xc nh c tr ng thi c a phm, s hi n ra m t kho ng th i gian ng n cho php hi n th b ng l a ch n b ng cch n phm ESC. N u c kch ho t, m t hnh n n (splash screen) ki u 05_debian_theme s c hi n th k c khi tnh nng n b ng l a ch n c b t. GRUB_HIDDEN_MENU_QUIET=true o true - Khng hi n th th i gian m ng c. Mn hnh hon ton tr ng. o false - Hi n th th i gian m ng c d a trn gi tr t i dng GRUB_HIDDEN_TIMEOUT. GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` o Xc nh ph n m t c a tn m c trong b ng l a ch n. (Ubuntu, Xubuntu, Debian, ...) GRUB_CMDLINE_LINUX o N u c dng ny c gn thng tin, n s nh p thng tin vo cu i dng c a m c (cho cc ch normal v recovery). L nh ny gi ng v i l nh "altoptions" trong menu.lst tr c y. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" o Dng ny nh p thng tin vo cu i dng c a m c (ch p d ng cho ch normal). N tng t nh dng "defoptions" trong menu.lst. N u b n mu n lc kh i ng vo Ubuntu s hi n chi cht ch v s hy g b c m t "quiet splash". N u b n mu n c m t t thng tin ch y d i logo c a Ubuntu th ch l "splash". <-- i u ny ("splash") khng c tc d ng trong qu trnh kh i ng c a Karmic v trnh xsplash khng cho php hi n th thng tin, nhng lc t t my (shutdown) th l i c.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 30

#GRUB_TERMINAL=console o N u b ch thch th s v hi u tnh

h a c a terminal (ch grub-pc).

#GRUB_DISABLE_LINUX_UUID=true o B ch thch n u b n khng mu n GRUB b qua thng s "root=UUID=xxx" trong Linux. GRUB_DISABLE_LINUX_RECOVERY=true o Thm ho c b ch thch (#) dng ny ngn khng cho ch "Recovery" xu t hi n trong b ng l a ch n. GRUB_DISABLE_OS_PROBER=true o B t/T t ki m tra cc h i u hnh khc c trong h th ng, bao g m Windows, Linux, OSX v Hurd.

3.3 [/etc/grub.d/ (th m c)]


Nh ng t p tin trong th m c ny c truy xu t trong qu trnh th c thi l nh "update-grub". Cc o n m trong nh ng t p tin ny xu t thng tin vo trong /boot/grub/grub.cfg. Cc t p tin c ch y m t cch tu n t - t p tin no c tn b t u b ng s th ch y tr c, k n l tn b ng ch ci. Th t c a t p tin c ch y quy t nh v tr c a cc m c trong b ng l a ch n. Cc m c ty ch n c th m t t p tin m i. c thm vo t p tin "40_custom" ho c c t vo

B t k t p tin no c t o ra ph i c tnh th c thi c trch xu t vo trong t p tin "grub.cfg" t i th i i m th c hi n l nh "update-grub". C th t c i u ny b ng cch g vo trong terminal "sudo chmod u+x /etc/grub.d/tn-t p-tin". D i dy l m t t ng qut nhi m v c a cc t p tin:

00_header o T i cc thi t l p t /etc/default/grub, bao g m cch trnh by, v cc tu ch n v terminal . 05_debian_theme o Ch nh hnh n n, mu ch v ch 10_hurd
o

m ng c

nh v hurd kernels (hi n t i khng dng).

10_linux

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


o

Trang- 31

nh v kernels d a trn tn b n phn ph i c xc nh b i k t qu c a l nh "lsb_release -i -s" ("Ubuntu"). 20_memtest86+ o N u c t n t i t p tin /boot/memtest86+.bin, n s c a vo danh sch l a ch n lc kh i ng. 30_os-prober o D tm cc h i u hnh khc v a n vo danh sch l a ch n.

40_custom o M t ki u m u dng t o cc l a ch n tu bi n s c a vo trong grub.cfg khi th c hi n l nh "update-grub". T p tin ny v b t k t p tin tu bi n no khc ph i c tnh th c thi cho php nh p n i dung vo trong grub.cfg. Nh ng t p tin ny c t vo trong b ng l a ch n theo s th t ghi trn tn t p tin.

4.

[Thm m c l a ch n vo Grub 2]

grub.cfg c c p nh t khi update-grub ho c update-grub c th c thi. Cc thay i trong grub.cfg ph i c t o ra b ng cc t p tin ch a m tng ng ch khng ph i t chnh b n thn grub.cfg. LU : Dng ghi ch u tin trong grub.cfg c ngha l "KHNG C CH NH S A T P TIN NY". T p tin ny mang thu c tnh "ch c" v d b n c c g ng s a th n v n tr v tr ng thi nh c m i khi l nh update-grub c ch y.

4.1 [T

ng thi t l p]

Khi "update-grub" c th c thi, Grub 2 s c d li u t /etc/default/grub v nh ng t p tin n m trong th m c /etc/grub.d. S k t h p ny s t o nn nh ng thng s tr c quan cho b ng l a ch n (/etc/default/grub) v tm ki m cc nhn linux, cc h i u hnh khc v cc tu ch n khc do ng i dng thi t l p trong /etc/grub.d.

Cc t p tin k ch b n trong /etc/grub.d th c hi n cc thao tc sau:


10_linux d tm nh ng nhn linux c ci t. 30_os-prober d tm cc h i u hnh khc . 40_custom v nh ng t p tin khc do ng i dng t thi t l p trong th m c /etc/grub.d c vai tr thm cc nh ng m c tu ch n vo trong b ng l a ch n. Tn t p tin s quy t nh th t c a cc m c trong b ng l a ch n. Cc m c trong 30_os-prober s ng tr c cc m c trong 40_custom. Cc m c c s cao hn s x p sau cc m c c s nh hn.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 32

M i t p tin do ng i dng t o ra ph i c tnh th c thi. i u ny c th th c hi n v i quy n root b ng cch ch y:

sudo chmod u+x /etc/grub.d/tn-t p-tin

4.2 [Ng i dng t thi t l p]


Ng i s d ng v i quy n "root" c th t o cc k ch b n trong th m c /etc/grub.d/ c th st nh p chng vo trong t p tin grub.cfg khi update-grub c ch y.

Tn t p tin nn c d ng XX_tn, v i XX l con s . Th t c a m c b ng l a ch n kh i ng d a trn s th t cc t p tin trong /etc/grub.d. Cc t p tin th c thi trong th m c /etc/grub.d b t u b ng ch ci s c u tin x p tr c cc t p b t u b ng s trong b ng l a ch n. T p tin ph i c thi t l p thu c tch th c thi b ng cc g trong terminal:

sudo chmod +x /etc/grub.d/'''filename'''

y l m t v d v m c tu ch n. T p tin ny t o m t m c trong b ng l a ch n kh i ch y qu trnh ci t SystemRescueCD trn phn vng sdb10 v m t nhn tu ch n trn sda1.

LU : v quy c

t tn phn vng m i:
ut 1

Cc thi t b v n b t u m t 0 nh tr c y Tuy nhin v i Grub 2, ch s cc phn vng b t V d :


o o

phn vng u tin trn a c ng u tin: (hd0,1) phn vng th 5 trn a c ng th 3: (hd2,5)

#!/bin/sh echo "Adding Custom Kernel & SystemRescue" >&2 cat << EOF menuentry "Ubuntu, linux 2.6.31-11-custom" { set root=(hd0,9) linux /boot/vmlinuz-2.6.31-11-custom root=UUID=c6829e27-2350-4e84-bdbb91b83f018f98 ro initrd /boot/initrd.img-2.6.28-11-generic } menuentry "Boot SystemRescue CD from hard drive" { set root=(hd1,10) linux /sysrcd/rescuecd subdir=sysrcd setkmap=us initrd /sysrcd/initram.igz } EOF

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 33

Dng "echo "Adding SystemRescueCD" >&2" khng b t bu c. Thm n vo t p tin cho php n c hi n th trong terminal khi "update-grub" c kch ho t. i u ny cung c p nh ng thng tin ph n h i r ng ci m c ny c nh n di n v c vo (grub.cfg). N u c bin so n ng chu n th m c l a ch n c a vo grub.cfg d cho ci dng c c chn vo hay khng. Ch nh s a th cng grub.cfg o N u b n ph i ch nh s a t p tin ny:

sudo chmod +w /boot/grub/grub.cfg # Remove 'read-only', necessary even for "root" sudo nano /boot/grub/grub.cfg # Edit as "root" o

Lu : T p tin ny s tr l i tr ng thi 'ch c' v nh ng thi t l p c a ng i dng trong s b ghi m i khi l nh "update-grub" c ch y.

4.3 [G b m c l a ch n trong Grub 2]


Cc m c c g b b ng cch i u ch nh ho c xo b cc t p tin trong th m c /etc/grub.d. T p tin /boot/grub/grub.cfg ch c v khng nn ch nh s a m t cch tr c ti p.

Lm t
o o

ng. Nh ng nhn Linux c g grub.cfg m khng c n ng Nhng h i u hnh khc n trong danh sch l a ch n m root.

b b i Synaptic cng s t bi n m t trong i dng ng tay n. u c g b kh i my tnh cng s bi n m t t khi l nh "update-grub" c ch y v i quy n

Lm th cng. o ngn khng cho m t t p tin trong /etc/grub.d n p cc m c vo trong b ng l a ch n, hy thay i thu c tnh th c thi ho c xo t p tin ng d ng. o memtest86+: N u b n khng mu n th y memtest86+ xu t hi n trong b ng l a ch n, ch y l nh
sudo chmod -x /etc/grub.d/20_memtest86+

. T p tin v n cn nhng s khng ph n ng v i l nh update-grub.


o

Recovery mode: N u b n khng mu n th y m c Recovery mode i km v i m c nhn kernel, hy ch nh s a file /etc/default/grub b ng cch thm dng ny:

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


GRUB_DISABLE_LINUX_RECOVERY=true o

Trang- 34

N u m t k ch b n tu bi n trong th m c /etc/grub.d/ c ch a nhi u m c l a ch n, c th xo b t ng m c m t m khng nh h ng n cc m c cn l i. M o: N u ng i dng mu n cc m c tu bi n xu t hi n u b ng l a ch n, hy t tn c gi tr nh hn "10_linux", v d nh "07_custom". Ki m tra gi tr "M c nh" trong /etc/default/grub tr n ng menuentry sau khi xc l p s thay i. S thay i s khng di n ra cho n khi l nh "update-grub" c ch y c p nh t grub.cfg.

VII. [Ch
1. [

]
]

phin b n GRUB 2 h tr hi n th theo ch

Giao di n ho c a GRUB gip cho vi c tu bi n cch b tr v di n m o c a b ng l a ch n GRUB. Ch c c u hnh b ng m t t p tin text n thu n m n ch r cch s p x p c a nhi u thnh ph n GUI khc nhau (bao g m b ng l a ch n, thanh hi n th qu trnh m ng c v cc thng i p) cng nh di n m o b ng vi c s d ng mu s c, ki u ch v hnh nh.

2.

[Hnh Splash]

y l m t d n thu c Google Summer of Code c a Colin Bennett nh m t o ra m t h th ng menu ho tu bi n cao cho GNU GRUB bootloader.

3.

[ nh v mu n n]

nh v mu n n c c u hnh trong m t k ch b n n m /etc/grub.d/ n u b n vo y s th y m t t p tin tn l 05_debian_theme, l s ph i mu m c nh c a GRUB 2. By gi t o cch ph i mu cho ring b n th c vi l a ch n, b n c th sao chp v ch nh s a t p tin 05_debian_theme or ho c t t o m t ci m i hon ton. M i t p tin /etc/grub.d/ u c ch y c th t , n u nh b n c 2 t p tin ch , 05_debian_theme v 06_mytheme ch ng h n, ci th hai (06_mytheme) s

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX c ch y sau cng, cng l ci c hi n th cho b n xem.

Trang- 35

4.

[Sao chp v ch nh s a mu m c
Sao chp s mu s c c a ch m c nh

nh]

$ sudo cp /etc/grub.d/05_debian_theme /etc/grub.d/05_debian_theme.BACKUP $ sudo nano /etc/grub.d/05_debian_theme

By gi b n c th ch nh s a theo thch.

5.

[T o m t t p tin ch
T o t p tin ch m i

m i]

$ sudo nano /etc/grub.d/06_mytheme

By gi b n c th b t tay vo thi t k .

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 36

6.

[Cu l nh]

V GRUB 2 c vi t l i hon ton, cho nn c m t s l nh t ng s d ng Grub c c th khng t n t i GRUB 2. Danh sch l nh:

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 37

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 38

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 39

7.

[Ph c h i Grub 2 b ng a LiveCD]


u tin, t i v phin b n LiveCD m i nh t v kh i M terminal v g ng n.

$ sudo fdisk -l

By gi b n c n ghi nh thi t b no trong danh sch li t k ch a b n phn ph i Linux c a b n. Ch ng h n /dev/sda1. Ti p theo chng ta c n g n k t (mount) n t i /mnt

$ sudo mount /dev/sda1 /mnt

N u b n /boot trn m t phn vng ring bi t, th cng c n ph i mount n ln lun. V d nh /dev/sda2.

$ sudo mount /dev/sda2 /mnt/boot

Ki m tra ch c ch n r ng b n khng nh m l n gi a chng, ch k t i thng tin m FDISK a ra. Cch 1

Dng l nh install grub ln thi t b c a b n

v d v i ci trn th
$ sudo grub-install --root-directory=/mnt/ /dev/sda

C n lu y sda l tn ci c ng ho c thi t b c a b n, c th l sda, sdb, sdc ... cn ci sda1 cc l nh trn l phn vng u tin c a thi t b sda. Sau b n vo ubuntu c a b n r i dng l nh
$ sudo update grub

l i ho c ch nh s a g ty thch Cch 2

Mount cc thi t b cn l i.

$ sudo mount --bind /dev /mnt/dev

K ti p l chroot vo h th ng c a b n.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


$ sudo chroot /mnt

Trang- 40

B n c n th c hi n chroot vo h th ng v i quy n root, v v y b n nn chuy n vai tr sang root kh i ph i thm sudo tr c m i dng l nh.

Gi th b n c n ch nh s a t p tin /etc/default/grub cho ph h p v i h th ng

$ nano /etc/default/grub

Khi m i th

xong b n c n ch y l nh update-grub

t o t p tin c u hnh.

$ update-grub

ci GRUB 2 vo MBR, b n c n ch y

b c ti p theo: grub-install /dev/sda

$ grub-install /dev/sda

N u b n g p b t k l i no, hy th grub-install --recheck /dev/sda

$ grub-install --recheck /dev/sda

n Ctrl+D thot kh i chroot. M t khi b n tr v vai tr ng i dng quen thu c, hy tho b cc g n k t vo h th ng, u tin l /dev

$ sudo umount /mnt/dev

N u lc

u c g n /boot vo th gi tho n ra:

sudo umount /mnt/boot

Gi th b n c th tho g n k t cu i cng.

$ sudo umount /mnt

V b n c th kh i l nh c a b n.

ng l i h th ng c a mnh v GRUB 2 s l i xu t hi n v ch

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 41

VIII. [Tri n khai ng d ng]


Dng trnh so n th o nano m file /etc/default/grub N i dung file grub nh hnh bn d i: Cc tham s c gi i thi u trong ph n l thuy t

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 42

Ban u b ng m c ch n c a GRUB khng hi n th . Ch nh s a file /etc/default/grub: - t d u # tr c dng GRUB_HIDDEN_TIMEOUT dng ch thch, v hi u ho hi u l c c a dng ny cho GRUB nh n ra y ch l

-Dng GRUB_TIMEOUT s a l i t 10 thnh 7 b ng m c ch n GRUB ch hi n th 7 giy ng i dng ch n h i u hnh kh i ng tr c khi h i u hnh ch n m c nh

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Khi ch nh s a xong file grub th s d ng l nh sudo update-grub

Trang- 43
c p nh t thay i.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Kh i ng l i my, lc ny b ng m c ch n GRUB s c hi n th

Trang- 44

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 45

Hi n th cc file v th m c trong /etc/grub.d

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 46

Sao lu file 05_debian_theme trong /etc/grub.d tr c khi ti n hnh ch nh s a file ny c th t o m t nh n n trong GRUB

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 47

-T i m t nh n n b t k t trn Internet v my ho c c th s d ng hnh nh no . -Ch ng h n hnh c l y t Internet nh bn d i -File ny c lu trong my. -Trong v d ny th c lu t i /home/trungdn/Pictures/download.png

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 48

-Sau khi sao lu file 05_debian_theme th c hi n l n l t cc b c sau: +Dng trnh so n th o nano m file 05_debian_theme ti n hnh ch nh s a n i dung

+N i dung file c hi n th nh hnh bn d i

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 49

Ch nh s a file ny: +Dng WALLPAPER c ch nh s a nh hnh bn d i + ng d n ban u c thay thnh /home/trungdn/Pictures/download.png i (Ctrl + O) v thot (Ctrl +X)

+Sau khi ch nh s a th lu l i thay

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Mn hnh sau khi thot

Trang- 50

Ti n hnh c p nh t GRUB: + Lu l i s thay i

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 51

+Kh i

ng l i my

xem k t qu

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Sau khi kh i ng l i my k t qu c hi n th nh hnh bn d i

Trang- 52

- N n en ban

u c thay th b ng hnh nh.

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


+ Ti n hnh lo i b m c ch n: -Hi n th danh sch /etc/grub.d -Lo i b thu c tnh th c thi (x) c a file 20_memtest86+ trong GRUB

Trang- 53

lo i b m c ch n ny

-Khi lo i b thu c tnh ny th file t mu xanh l s chuy n sang mu tr ng nh hnh bn d i

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


C p nh t GRUB

Trang- 54

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 55

Kh i

ng l i:

+Lc ny m c ch n khng cn xu t hi n dng memtest86 n a do chng ta lo i b thu c tnh th c thi c a file ny +K t qu nh hnh bn d i

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 56

Gi ta ti n hnh b sung thm m c ch n , +Trong v d h

ch y song song hai h

i u hnh

i u hnh th hai l Linux Mint ng h i u hnh ny d a trn file ISO Live CD c a n

+Chng ta s kh i Cc thao tc l n l t:

-T o th m c t m /tmp/iso v /tmp/hdd -K t n i file iso n th m c /tmp/iso thng qua l nh mount n th m c /tmp/hdd

-K t n i phn vng th nm (sda5)

-File linuxmint.iso c s n trong /dev/sda5, n u cha c s n th b n ph i sao chp ho c ng b (dng l nh rsync) -Ti n hnh ng t k t n i n hai th m c trn

-Cc thao tc nh hnh bn d i

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


Sau khi c file iso trn phn vng 5, ta ti n hnh dng nano /etc/grub.d/40_custom -Dng l nh loopback

Trang- 57
ch nh s a file

b sung thm m c ch n cho b ng GRUB ch ng d n file iso

-Ch r v tr file vmlinuz trong file iso -Ch r v tr file initrd.lz trong file iso (n u Ubuntu l file initrd.gz) -Sao lu v thot

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX


-C p nh t thay -Kh i ng l i i GRUB

Trang- 58

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 59

+Sau khi kh i

ng l i th trong GRUB lc ny xu t hi n m c ch n Install t

Linux Mint m chng ta ci Lu : -Chng ta c th thay

i chu i Install Linux Mint trong /etc/grub.d/40_custom

b ng cch s a chu i ngay sau menuentry -Tuy chu i l Install Linux Mint nhng y l Linux Mint LiveCD khng c n ci t

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 60

M t s hnh nh trong Linux Mint

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 61

IX.

[Ti li u tham kh o]

1. Ni t i GRUB xu ng ( tp://alpha.gnu.org/gnu/grub/ ) 2. Ti li u h ng d n cch s d ng GRUB ( Bin so n b i: Lm Vnh Nin ) 3.Gio Trnh Iinux cn b n ( Trung tm pht tri n cng ngh thng tin ) 4. Gio trnh Linux Nng Cao ( H c vi n Bu Chnh Vi n Thng )

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX

Trang- 62

M CL C
I.
1. 2.

Gi i thi u v GRUB .............................................................................. 2


T ng qut............................................................................................................... 2 Tnh nng............................................................................................................... 2

II.
1. 2.

Ci

t GRUB ..................................................................................... 3

Ni t i GRUB xu ng............................................................................................. 3 Ci t GRUB trong mi tr ng Linux ............................................................. 3

III.
1. 2.

S d ng GRUB (File c u hnh) ......................................................... 3


Chu n b cc t p tin c n thi t .............................................................................. 3 Thu t ng dng trong GRUB .............................................................................. 4

2.1 2.2
3. 4. 5. 6. 7. 8. 9.

Xc Xc

nh thi t b .................................................................................... 4 nh t p tin ..................................................................................... 5

Cc t p tin hnh nh c a GRUB.......................................................................... 6 C ch kh i ng dng trong GRUB.................................................................. 6 Ci GRUB trong mi tr ng nguyn thu c a GRUB ..................................... 7

5.1 7.1 9.1 9.2


10.

Ci GRUB dng l nh setup ................................................................... 7 Ci GRUB dng l nh grub-install ......................................................... 8 Kh i ng h i u hnh tr c ti p ........................................................ 11 T i trnh n p kh i ng khc............................................................... 11
C u hnh........................................................................................................... 12

Ci GRUB dng l nh install ................................................................................ 7 Ci GRUB trong mi tr ng h i u hnh gi ng Unix..................................... 8 Ci GRUB trong shell grub.................................................................................. 9 Kh i ng h th ng v i GRUB.......................................................................... 11

10.1 10.2
11. 12. 13. 14. 15. 16. 17.

Phn tch th d v m t t p tin c u hnh: ......................................... 12 c i m c a t p tin c u hnh: ........................................................ 13

Giao di n ng i dng c a GRUB.................................................................. 13 Giao di n dng l nh ........................................................................................ 13 Giao di n th c n.......................................................................................... 14 Bin t p m t m c trong th c n ............................................................ 14 Giao di n th c n n .................................................................................... 15 M t s l nh trong GRUB................................................................................ 15

16.1

Cc l nh ch dng cho th c n ...................................................... 15


dng l nh v m c th c n .......................................... 17

Cc l nh dng

IV.

M ts
1.1 1.2 1.3

ng d ng c th v v n

th ng g p.............................. 20

T o a CD kh i ng v i GRUB....................................................... 20 Kh i ng nhi u b n Windows ci t trn m t a c ng .................. 21 Kh i ng CD .................................................................................. 21

V. C ch an ton v b o m t GRUB..................................................... 22 VI. Grub 2................................................................................................ 23


1. 2. T Ubuntu-VN .................................................................................................... 23 Ci t / Nng c p............................................................................................... 24

GVHD:

NGUY N T N KHI

TM HI U V C U HNH GRUB TRN LINUX 2.1 2.2


3.

Trang- 63

Ci Ci

t (Ubuntu 9.10) .......................................................................... 24 t (Ubuntu 9.04+)........................................................................ 24

H th ng th m c v t p tin c a Grub 2 .......................................................... 25

3.1 3.2 3.3


4.

grub.cfg (/boot/grub/grub.cfg)............................................................. 25 grub (/etc/default/grub)........................................................................ 27 /etc/grub.d/ (th m c) .......................................................................... 30 T ng thi t l p.................................................................................. 31 Ng i dng t thi t l p........................................................................ 32 G b m c l a ch n trong Grub 2....................................................... 33

Thm m c l a ch n vo Grub 2 ........................................................................ 31

4.1 4.2 4.3

VII.
1. 2. 3. 4. 5. 6. 7.

Ch

........................................................................................... 34

phin b n GRUB 2 h tr hi n th theo ch ...................................... 34 Hnh Splash.......................................................................................................... 34 nh v mu n n .................................................................................................. 34 Sao chp v ch nh s a mu m c nh ............................................................... 35 T o m t t p tin ch m i ................................................................................ 35 Cu l nh ............................................................................................................... 36 Ph c h i Grub 2 b ng a LiveCD .................................................................... 39

VIII. Tri n khai ng d ng ..................................................................... 41 IX. Ti li u tham kh o............................................................................ 61

GVHD:

NGUY N T N KHI

You might also like