文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于GRUB的一些收集

关于GRUB的一些收集

时间:2006-08-09  来源:garyman

文一:转载自http://www.freelamp.com/new/publish/1003246964/index_html  
如果你玩过Linux ,那么你一定使用过或者知道 LILO ,这个在安装有Linux  的系统上使用最广泛的多重启动管理程序。然而笔者今天要介绍的是Mandrake Linux 所带的  GRUB(GRand  Unified  Bootloader),让我们看看它怎样来代替LILO。  
 
LILO  需要知道你的内核在驱动器上的实际位置,但是GRUB却不需要,它不仅能读文件系统还能识别内核映像,而且它还支持最新的 2.4.1  内核所带的  Reiser  日志文件系统。这意味着你不必在更新内核或者改变配置文件之后重新安装GRUB。如果BIOS  支持LBA  的话,也没有1024  柱面的问题。另外还支持网络启动和无盘客户机。  
 
然而,或许我们对LILO  太熟悉了吧,也或许GRUB  还有很多需要完善?总之,安装  GRUB  看起来并不是一件很轻松的事情。下面我们就详细介绍GRUB  的安装和配置。  
 
安装 
在  /tmp  目录下解开文件:  
#  tar  zxvf  grub-0.5.96.1.tar.gz    
进入  "grub-0.5.96.1"  目录,编译程序:  
#  ./configure    
#  make    
#  make  install  
配置:  
和许多我们平常看到的多重启动管理程序一样,GRUB提供一个菜单界面(LILO  不是菜单界面的)。GRUB的缺省安装位置为  /boot/grub  ,配置文件也放在这个目录下。缺省 
的配置文件名为  menu.lst,这个文件的功能就像和  lilo.conf一样,定义多重启动选项以及磁盘映像。
 
我们来看一个  menu.lst  文件的示范例子: 
timeout  5    
color  black/yellow  yellow/black    
default  0    
password  freeos  
 
title  My  Mandrake  
kernel  (hd0,1)/vmlinuz  root=/dev/hda3  idebus=66    
 
title  My  Red  Hat  
kernel  (hd0,6)/boot/vmlinuz  root=/dev/hda7  idebus=66    
 
title  W2K  Pro  
root  (hd0,0)    
makeactive    
chainloader  +1  
 
让我们详细分析一下各个选项的含义: 
timeout-缺省入口的显示延迟时间(秒)  
color-菜单显示的颜色组合,第一组颜色为前景色和背景色,第二组为高亮时的组合。  
default-定义缺省的启动入口,这里的  0  就是使用定义的第一个入口。  
password-定义进入GRUB  高级特性时需要的口令。
  GRUB利用其能读取文件系统的特色,提供十分强大的功能。例如用户可以在grub  的启动提示符下输 'cat  /etc/shadow' 来读包含加密口令的文件,而不需要进入你的系统!所以,为你的系统设置一个口令十分重要。 
 
下面分析启动入口,每一个入口都应该以一个  'title'  的关键字开始,后面跟上对该启动入口的描述。接下来就是'kernel' 入口,
kernel  (hd0,1)/vmlinuz  root=/dev/hda3  hdc=ide-scsi 
根据  GRUB  对设备的命名规则,我们可以很容易的理解上面这行的含义:软驱设备名为  fdx  ,硬盘为  hdx,需要记住的是  GRUB  从0  开始计数,所以第一台硬盘为  hd0  而不是  hd1。设备名用括号括起来,硬盘上的分区用逗号连接。例如  (hd0,1)  表示第一台硬盘上的第二个分区,而(hd1,5)  就表示第二台硬盘上的第一个逻辑分区。 
GRUB  能读取大多数文件系统,上面这一行指定  GRUB  寻找位于第一台硬盘上第二基本分区上的  /vmlinuz  文件,你也需要指定'root=/dev/hda3'  (假设你的根文件系统位于/dev/hda3),否则内核就不能挂接上根文件系统,之后就是你自己想加入的其他参数了。这些参数就和LILO启动时传递给内核的参数一样,或者说和lilo.conf中append后面的参数一样。 
另外一个比较特别的入口是启动Windows 2000的入口,root入口指向Windows 2000的安装位置(C:\),接下来的入口设置分区的激活标志,最后的入口告诉  GRUB  搜索分区的第一个扇区来启动那里的操作系统。  
 
以上是对GRUB  的一个典型的多重启动设置的分析,在正式开始安装GRUB之前,建议你手头有一张LILO  启动盘或者一张应急启动盘,以防不测。以root  登录,输入"grub"命令以后,就会看到如下的画面: 
GRUB  version  0.5.96.1  (640K  lower  /  3072K  upper  memory)    
 
[Minimal BASH-like line editing is supported. For the first word,TAB lists possible command completions. Anywhere else TAB liststhe  possible  completions  of  a  device/filename.]  
 
grub>    
 
以上看到的就是  grub  提示符,我们要在这个提示符下面安装GRUB。  
 
grub>  install  (hd0,1)/boot/grub/stage1  d  (hd0)  (hd0,1)/boot/grub/stage2    
p  (hd0,1)/boot/grub/menu.lst    
 
GRUB 分为两个主要的步骤,stage1和stage2。Stage1是一段嵌入MBR的迷你代码。Stage2  是主要部分,在  stage1  把控制权传递给它后,就由它来接管所有事情。  
 
install  后面指定stage1  的位置,我们不仅说明了其分区位置:(hd0,1),因为  GRUB  能读取文件系统,所以还说明了分区上目录位置:/boot/grub/stage1,d  参数表示  stage1  将寻找stage2  所在的磁盘。接着就是  GRUB  的安装位置:(hd0)  ,这里就是指安装在MBR。后面的参数指定  stage2  的位置:(hd0,1),  
和  stage1  的定义一样。p  参数指定  menu.lst  文件的位置。  
 
对于  /boot  作为单独的分区的例子,需要采用下面的命令行:  
 
grub>  install  (hd0,1)/grub/stage1  d  (hd0)  (hd0,1)/boot/grub/stage2    
p  (hd0,1)/grub/menu.lst    
 
以上例子假设  /boot  位于  (hd0,1)  (也就是hda2),而  /  位于(hd0,2)    
(也就是  hda3)  ,我们不能用  '(hd0,2)/boot/grub/stage1'  ,因为GRUB    
不知道  (hd0,1)  是  /boot  ,所以必须首先指向挂接为  /boot  的分区,  
然后把目录指向那里。  
 
重新启动系统以后,就可以看到  GRUB  菜单了。 
GRUB  的官方网站  
http://www.gnu.org/software/grub/  
  文二:
 
GRUB(GNU GRand Unified Boot loader)是一个提供给用户启动多操作系统的管理程序,同时可以允许在启动的时候传递给操作系统内核
相应的参数

Grub特点简介
1.提供一个功能强大的命令行接口
这样就给用户提供了一个功能强大的接口,伸展了用户启动操作系统的灵活性,这种功能,对于非x86构架的许多机器上,已经存在了很多年了
2.支持LBA大容量硬盘访问模式
在LBA模式出现之前,启动的程序只能访问1024柱面的硬盘,大约就是8G空间,后面的空间就无法访问了,因为grub对LBA的支持,让操作系统
调用的灵活性大大的增加了
3.可以支持ext2文件系统
这个功能可以让Grub直接访问到放在硬盘分区上的配置文件,从而一旦MBR收到破坏,只需要重新写MBR,不需要重新写配置文件便可以恢复启动

Grub命令简介
这里介绍一下通过c命令进入Grub命令模式情况下,可以手动运行的一些命令,来完成各种不同的任务

boot 启动操作系统,或者启动上一次的(chainloader)
chainloader 启动特定的文件或者一个chainloader 如果,启动的文件位于特定分区的第一个扇区,可以用+1符号代替文
件名称 比如 chainloader +1 表示从0开始读一个扇区
displaymem 显示当前的内存利用率
initrd   让用户指定一个initrd RAM软盘启动
当内河核需要某些特殊的模块才能启动的时候,就需要这个文件
install p config-file 把grub程序安装到系统的MBR中间
stage-1表示一个设备,如分区,文件等,在这里可以找到启动映像文件
比如(hd0,0)/grub/stage1
install-disk 规定了 启动映像应该安装到哪里
比如(hd0)
stage-2 把第二阶段启动映像传递给stage-1
如(hd0,0)/grub/stage2
p conifg-file 表示让install命令读取grub.conf的配置文件,
如(hd0,0)/grub/grub.conf
kernel ....
规定内核文件,后面跟内核参数
root 定义根分区,并挂接着个分区
rootnoverify 定义根分区 但是不挂接着个分区
相关阅读 更多 +
排行榜 更多 +
进击的小动物安卓版

进击的小动物安卓版

飞行射击 下载
进攻yalghaar

进攻yalghaar

飞行射击 下载
深空战场

深空战场

飞行射击 下载