QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] Grub安装、配置以及使用实例汇总讲解

Grub安装、配置以及使用实例汇总讲解

(一)安装linux时安装grub
# Y# L, Y) k. H! }" a3 p4 l! v3 K$ C9 M& E7 e3 s
  安装redhatlinux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub还可以引导其它操作系统,如FreeBSD、NetBSD、OpenBSD、GNUHURD和DOS,以及Windows95、98、NT、2000、XP
/ Q/ X" a+ t2 V) n7 J3 Q9 i9 o* ?7 ]
6 r/ U7 }6 t. L- h! {  (二)grub的配置% A7 k4 T$ d. }6 ~+ o) x
5 C( e& @* f' j' T: h% j# L  G& i
  一旦选择了grub为引导程序,下面我们来了解一下它的配置。/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项。下面是我的grub.conf:
* \$ z) g3 d/ M, T# O6 b6 U) r/ u1 _. G; p2 ~
4 n- w! i8 c* ]# R& [
#==========例子开始==========#grub.confgeneratedbyanaconda##Notethatyoudonothavetorerungrubaftermakingchangestothisfile#NOTICE:Youhavea/bootpartition.Thismeansthat#allkernelandinitrdpathsarerelativeto/boot/,eg.#root(hd0,6)#kernel/vmlinuz-versionroroot=/dev/hda10#initrd/initrd-version.img#boot=/dev/hdadefault=0timeout=10splashimage=(hd0,6)/grub/splash.xpm.gz#--%26gt;RedhatLinux8.0%26lt;--titleRedHatLinux(2.4.18-14)root(hd0,6)kernel/vmlinuz-2.4.18-14roroot=LABEL=/initrd/initrd-2.4.18-14.img#--%26gt;MicrosoftWindowsXP%26lt;--titleMicrosoftWindowsXProotnoverify(hd0,0)chainloader1#===========例子结束==========
; _% x" _5 I8 `% V- L# O( |+ G
  ~: }: V7 _4 D  s4 U  s" o6 A# [8 X# K" y# L* j9 s+ t; K6 U
  配置选项解释:
) E" m! N8 ~: \8 A
2 G$ \& |. U- ]  以"#"开头的是注释行。我这里有两个操作系统,分别是RedHatLinux和MicrosoftWindowsXP。其中,timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhatlinux8.0)% x9 T: |- R! o
* v9 E6 R" k$ I' o$ u9 x
  默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个。
* x/ p  e& J. j; z, f/ L; @; @' ]: t6 e/ s( L+ I, N9 t6 d
  所以如果你想修改默认的操作系统,就修改default后的数字。title一项是设置操作系统的名称,grub不支持中文(有点遗憾)。splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景。
  D( ]1 F) b7 c' X
2 j( q1 I$ q4 x: `; M9 c$ U, e. V  root(hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核。注意这儿的root与linux的root分区不同,此root非彼root也!grub的硬盘标识方法与linux的有点不同。在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在grub中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此推。7 Q7 i0 |* [' q) U5 S+ Y: v0 s
9 s$ n. ]2 _1 l7 X' n! b
  所以这儿root后面的是你的/boot所在分区标识。知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是ke
& u5 d8 P1 e$ z& Q1 @( B
- V" I. O% f; F: r6 a  rnel的工作。kernel/vmlinuz-2.2.18-14ro
: v# b. `2 p  e, m: B
' \( L  Q. c: _. d1 M; s$ s7 M  root=LABEL=/。说明/boot/vmlinuz-2.2.18-14就是要载入的内核。后面的都是传递给内核的参数。
8 A6 L; Y$ z: c( M0 }1 A" h  B% ~1 @8 t9 \4 H
  ro是以readonly的意思。注意我这里内核前面的路径是"/",因为我的boot单独分了一个区,如果你没有为boot单独分区,那么内核前面的路径就是"/boot"。initrd用来初始的linuximage,并设置相应的参数。
# e; L9 e; c( g8 p8 i4 B* J2 \/ p0 d/ R) D$ l  d
  再来看一看windows的定义段吧。这里,我添加了一项来引导WindowsXP。要完成此操作,GRUB使用了"链式装入器"(chainloader)。链式装入器从分区(hd0,0)的引导记录中装入winXP自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因--它创建了一个从引导装入器到另一个的链。$ G4 S" Q3 H$ |- |1 I* T# V8 K# ^

) F, m! }/ B  p# O; p  这种链式装入技术可以用于引导任何版本的DOS或Windows。如果你在计算机中装有win98,winme,win2k,winxp的话,chainloader会把引导权交与win的NTLoader来引导。8 ?( P- q  i, K$ X4 N! {

5 \4 ?8 V5 R" M% G+ D9 d; j% A& a+ ~! V  (三)Grub启动盘的制作
; M: t' G  D; f% S4 X8 c8 L4 ^
+ t* W! m) z8 K5 V  要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建ext2文件系统。然后,将其安装,并将一些GRUB文件复制到该文件系统,最后运行"grub"程序,它将负责设置软盘的引导扇区。- v( Y) B0 L; f& s) }
. o* f: E* q) D
  将一张空盘插入1.44MB软驱,输入:9 G2 t  d/ I0 N4 D. m3 ?  Q! n
0 V, s& t/ `' I( u
#mke2fs/dev/fd0创建了ext2文件系统后,需要安装该文件系统:#mount/dev/fd0/mnt/floppy现在,需要创建一些目录,并将一些关键文件(原先安装GRUB时已安装了这些文件)复制到软盘:#mkdir/mnt/floppy/boot#mkdir/mnt/floppy/boot/grub#cp/boot/grub/stage1/mnt/floppy/boot/grub#cp/boot/grub/stage2/mnt/floppy/boot/grub( Y  r5 t  ?! u3 j, j

; Y0 T0 X- h1 R) s8 H: @  再有一个步骤,就能得到可用的引导盘。! X( b# t9 v, D. g
9 i  y' j1 W" I! t
  在linuxbash中,从root用户运行"grub",该程序非常有趣并值得注意,因为它实际上是GRUB引导装入器的半功能性版本。尽管Linux已经启动并正在运行,您仍可以运行GRUB并执行某些任务,而且其界面与使用GRUB引导盘或将GRUB安装到硬盘MBR时看到的界面(即GRUB控制台)完全相同。在grub%26gt;提示符处,输入:
7 W# x$ }3 z. |4 T0 g( g; w
6 }; a" N2 s% p8 _grub%26gt;root(fd0)grub%26gt;setup(fd0)grub%26gt;quit( e- d! J: L0 t* B0 x9 J

0 ]+ p8 b8 |9 s) `6 @5 N  现在,引导盘完成了。7 J/ s8 u8 U2 E+ _/ P3 Q& D$ l
+ j3 y7 l& q# v, W# z4 O
 (四)恢复被windows破坏的grub' f- U7 [; z9 m7 Z  h
0 v& \! ]+ R% e+ [
  如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub。) [3 i$ \; z9 j, N* X9 l

! C) o' i9 w5 B3 H6 v  1.把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。: _& g4 \0 J( e' \  g7 Y; W3 S  w& ?

  R8 ~9 w4 i! A: Y  2.等安装界面出来后,按F4键,也就是linuxrescue模式。
) w; c) h  n# H6 H& T+ ], `. n1 l" F) [4 w8 y! A0 a, @
  3.一系列键盘以及几项简单的配制,过后就“继续”了这个过程,这里不说了,比较简单。
9 K* B) |" P. K$ a- z; n! w
; j: {: K0 {/ x, a* l0 p  m  4.然后会出现这样的提示符:
' s8 k! y# t8 C, m* z0 U. T8 I
0 Q. K7 _) P; @1 jsh#
9 e5 L# y0 ~8 k- y' }  V5 o7 n7 U* C3 p' n& L0 D2 l
  5.我们就可以操作GRUB了。输入grub:
' a6 {4 d1 e* n( o, V, U/ X' S% _" }& m, T. O+ g) Z5 J
sh#grub
( p0 }3 ~4 P: J2 m/ v  会出现这样的提示符:. x. q6 N/ U6 m0 Y/ M

0 S# u. b) M8 ogrub%26gt;
+ Y6 R. i7 E% _3 ]& P) P" n
- A6 E/ ^7 F% D  X2 R, h5 p( @1 l  我们就可以在这样的字符后面,输入:
# t" s1 j; y& f9 `5 Y  e5 @/ }/ q; ^  v
grub%26gt;root(hdX,Y)grub%26gt;setup(hd0)
' e) V1 g3 ^4 `1 i6 b
& |- w. s2 [1 ^, l2 ^; c2 |2 W, Q; P2 j. N
  如果成功会有一个successful......
0 o! E) g% D2 e. ^) S9 v8 Y
+ a6 {9 c! d  K  这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。setup(hd0)就是把GRUB写到硬盘的MBR上。
2 Y! Q" l/ {; _
) M4 ^2 c9 b/ R& r/ J- `[color=#FFFFFF']! k- _1 H$ c& d) j1 C' Z
6 ^; W/ p: t. T, Y* }# q
  (五)用NTLoader来引导linux
2 D8 L. O- e- C) @3 w  E
, e/ Y! m5 j/ M  如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub。并用windows的NTLoader来引导linux。5 ^5 S4 W9 x* X, L$ R# V8 `

3 m0 X8 [# N# f7 B  1.安装grub
* V; b9 w7 M( T
; W; ?3 `1 e1 L+ n( h) L  我用的grub是Redhat8.0带的grub安装包:grub-0.92-7.rpm- A  H- v" N( O" n0 {8 z: x

+ X$ R9 ^& w$ N# g  安装:rpm-ivhgrub-0.92-7.rpm% B9 ]0 j2 R. \4 E/ O
, S* ?' Y  e" W& a& `0 Z) H7 z
  其他安装方式也一样,只要你安装上grub就行了。RH8缺省用的grub,1、2步骤可以省了。+ r6 W) ~, F  ~% J/ p
7 C, z, i1 k# {  M' u
  2.建立grub的环境
( K* l! Z( T3 g% j0 x9 l
; M! b" c5 u1 E  cp/usr/share/grub/i386-pc/*/boot/grub
/ r% G2 D1 o! ]- a* ]8 J8 j% @0 q5 _! g; ~' S. Z! M' M/ C) `3 J
  3.生成grub的配置文件/boot/grub/menu.conf6 g  a! N2 i. ]' g$ H
; d2 v8 T- y/ ^7 c: u$ X
  按照上面所讲的grub.conf来生成一个配置文件。
9 Q& y( g3 u* a0 ?) n/ ]
: T5 Z3 `5 b( t  注意了,这里我的linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),  u  F7 _& W7 j4 ]" P
- O9 D# _) t# b" V; G: `
  你的可能不一样了,不能完全照着"画瓢"噢!下面第3步install的中的分区位置也应该和你的系统一致。
9 y7 ^8 Y2 Z0 I/ Q1 ?- j
/ w. B8 s7 |; \6 p( q$ R  安装grub至Linux分区boot
3 x( E) ~7 t) m8 l/ a' z) z$ R) _, v2 f7 ~8 R
  将grub的stage1安装到/dev/hda4的boot扇区(hd0,3)。过程如下:
5 t9 @1 S) o, C% k1 Z: d+ {$ T$ c, N- H8 S4 }6 t8 ~5 j: ~
/sbin/grub(运行grub)grub%26gt;install(hd0,3)/boot/grub/stage1d(hd0,3)(hd0,3)/boot/grub/stage2p(hd0,3)/boot/grub/menu.conf
! s8 e4 x& H  g& H6 r) k' J8 p* r
  (注意,上面"grub%26gt;"为grub的提示符,其后内容写在一行上。)  G2 ?  T) o/ p3 R! ]& A3 |

8 S8 B( l5 U, R+ @# p  t  4.取得grub的boot信息
- e% {/ K) i! U) |1 x7 X- u8 i5 o( m0 ?4 v! n" u3 _
  过程如下:
. q* W8 S! p# }+ E+ {3 D& Z! |$ ]. ]/ [8 g3 W
ddif=/dev/hda4of=/grub.lnxbs=512count=1
! @$ R, N5 M) ?0 ~
2 K8 S  Y. G5 n! o+ y7 I+ F0 g1 J4 w  这样得到grub的引导信息,只要用NTLoader来加载它就行了。
, n; v( b6 y) c9 r/ ?8 n2 l8 B' D- k
  5.将上面得到的grub.lnx弄到Windows的C盘根目录下,可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\;情况允许也可以直接在Linux下拷贝到C:了。我的C盘(即设备/dev/hda1)为FAT32,可以直接从Linux下弄过去了。如下:0 W, b% k1 b9 S6 y8 G/ I$ A- m

2 V& h7 @; X  U* X5 B$ I9 Imount-tvfat/dev/hda1/mnt/ccp/grub.lnx/mnt/cumount/mnt/c2 j3 V# ~& G! x$ I2 d* G$ m. T

2 n; Z  t) g* m# s: d  6.修改NTLoader的boot.ini
& S  z# m. S4 A4 y9 w& F
5 [' _4 m# ~! Y1 [' k% V" {  在其中加入一行:C:\grub.lnx="RedhatLinux-GRUB"
$ B$ _0 L! B  ^) ]' Q
' C: y1 b" Z! F  加入后boot.ini的内容如下:) l& l# n0 J/ A! M

- Q6 i* Q2 O  @( L! B5 w[bootloader]timeout=15default=C:\boot.lnx[operatingsystems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/fastdetect[VGAmode]"/basevideo/sosC:\grub.lnx="RedhatLinux-GRUB"/ K; f! G6 J' Q: Q

  o6 |& W3 B( K; S; z7 g3 S3 D+ l7 h2 H# f1 U3 C
  可以用NTLoader加载Linux了,其实上面过程基本上和用NTLoader加载LILO一样。其基本思想就是用NTLoader来加载LILO或grub的引导区(grub.lnx),其中的关键就是LILO或grub的引导区的获取。
" r3 O' P. A* l3 g9 l. k$ M' W; B (六)活用grub的交互功能
. }( @, o3 `- X# r

- D. _% x$ Q$ ?1 M2 @# b/ u  grub具有强大的交互功能。学会了将会使你受益非浅!0 y4 k5 Y; n4 V% K/ s, d* ]

: m) w0 R" a4 f1 H7 T" R  1.grub没有显示菜单怎么办?
' d$ a7 i# Q. w: d& y3 L0 W' g9 n8 L# g" c' k6 v- f/ y
  当开机后进入grub界面但没了菜单,只剩下一个grub%26gt;提示符,怎么启动呢?别急,看下面:
% O% t0 E4 v0 j9 G' n; H) S
# k$ q; n3 S$ x9 _& C5 dgrub%26gt;cat(hd0,6)/boot/grub/grub.conf(为了看参数)grub%26gt;root(hd0,6)grub%26gt;kernel(hd0,6)/vmlinuz-2.4.18-14roroot=LABEL=/grub%26gt;initrd(hd0,6)/initrd-2.4.18-14.imggrub%26gt;boot- P$ K: T6 q$ c3 a5 y5 m8 s

" k' n% ]2 C0 N( `1 J+ n8 m  启动了吧!以上有些数字要根据你的实际情况更改。以上这个方法也可以用于测试新编译的内核。" u; F( P- L* o/ n. C* R

7 m9 a( L4 E' S8 Z8 _  2.进入单用户模式。
, _' S4 z2 ]! p* T, p" {# w
3 P5 |6 L) @. A' H2 A( w  有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码。方法如下:开机进入grub界面,按C进入命令行模式,然后按照上面的方法进行,只是在第三步要在后面加入single参数。
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

******请登陆论坛查看内容******

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
本帖最近评分记录
这是赤果果的灌水呐
What good would wings be
if you couldn't feel wind on your face

TOP

发新话题