郭留英

郭留英的博客

他的个人主页  他的博客

grub的解析

郭留英  2009年10月23日 星期五 16:03 | 1556次浏览 | 0条评论

前一阵有同学格式化了linux所在的盘符,结果系统无法加载grub引导,导致不能进入系统。或者想改变grub的引导顺序,以及作其他的一些改变,这里简单的介绍一下grub的menu.lst文件的一些内容,希望会对想对grub进行调整的朋友有所帮助! 给你帮助使我最大的快乐!

Linux下GRUB配置文件详细解析 (这里的是fedora的grub)
 
    grub是开机加电自检以后紧跟cmos程序后的第一个要执行的程序——boot loader中的一个比较广泛使用的程序。

       和许多其他linux发行版一样,Fedora使用Grub作为32位和64位X86系统的启动加载器(bootloader)。grub的配置文件主要是/boot/grub/grub.conf,而/boot/grub/menu.list是这个文件的软连接(soft link)。该配置文件样式如下。
[root@MR ~]# more /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,7)
#          kernel /boot/vmlinuz-version ro root=/dev/sda8
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,7)/boot/grub/splash.xpm.gz    #背景图片
hiddenmenu
title Fedora (2.6.21-1.3194.fc7)    ##(fedora 8 的启动选项)
        root (hd0,7)
        kernel /boot/vmlinuz-2.6.21-1.3194.fc7 ro root=LABEL=/1 rhgb quiet   #内核地址
        initrd /boot/initrd-2.6.21-1.3194.fc7.img
title windowsXP     ##(windows的启动选项)
        rootnoverify (hd0,0)
        chainloader +1
主要分为三个部分,开始的注释(#开头)不算,依次是通用的选项,Fedora 8的启动选项和Windows系统的启动选项。
 
通用选项部分
 
default 表示默认启动的系统,以0开始计数,表示第一,二……
 
timeout 多少秒之后默认的系统被自动加载,这里是5秒后,用户不做选择的话,Fedora 8 被启动;
 
hiddenmen 默认隐藏菜单,直到用户按下某个键;
 
splashimage 起动器显示的背景图像,该图像的格式是一种特殊格式,需要特殊工具制作,然后放置在合适的位置;
 
启动章节
 
root 设置启动系统的分区,这里指定的不是linux系统的根分区(root system),而是boot分区,Grub是系统启动加载器,因而他所谓的root是指系统从那个分区开始启动,对于Linux系统而言是boot分区;
 
kernel 内核,位于boot分区上的合适内核;
 
initrd 指定特殊的initrd镜像文件用于启动系统时ramdisk(内存中的虚拟盘技术)加载的对象,一般会在该镜像中包含一些特殊设备的驱动等,如USB驱动的支持,以便Linux系统可以从UBS设备上正常的启动,该文件可以根据特定的内核和启动介质定制,关于如何定制,可以查看RedHat相关的文档;
 
Grub启动linux的顺序是从指定的boot分区加载指定的kernel(内核)和initrd镜像,而对于其他系统,处理情况不同,Grub会把任务交由该系统的引导程序(如windows的bootloader)去启动系统;
 
rootnoverify 指定包含引导器的分区,类似Linux root指令;
 
chainloader 指定非linux系统的加载程序位于指定分区的+1扇区上,以便其它系统的加载器被正确加载并能执行加载其它系统的任务;
 
在该文件中,磁盘分区以(hdX,N)描述,X表示磁盘号,以0开始计数,依照BIOS的磁盘顺序指定;N是磁盘分区号,也是从0开始计数;如BIOS顺序第一块磁盘的第二个分区(/dev/sda2), 在Grub中表示为(hd0, 1); 主分区一般默认最多会有四个即(hda,0)~(hda,4)  逻辑分区则一般是从(hda,5)开始的!
 
Grub.conf是普通text文件格式的,可以用任何文本编辑器编辑,如VI,gedit或者kate等;需要注意的是,任何编辑错误都将导致系统无法正常加载和启动,需要特别慎重和小心!

      对照这个,相信大家现在对自己计算机里的grub选项里的内容会有一定的了解了!

如果不幸删除了linux进入不了windows这是您只需要一张系统盘,进入dos 切换到c盘目录下,用fdisk /mbr命令即可恢复windows的引导启动项。

 

 

给你帮助是我最大的快乐!

 

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2024

京ICP备05028076号