grub.conf详解

cat /etc/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,0)
#          kernel /boot/vmlinuz-version ro root=/dev/vda1 console=tty0 console=ttyS0,115200n8 net.ifnames=0 idle=halt
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-754.9.1.el6.x86_64)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.32-754.9.1.el6.x86_64 ro root=UUID=b7aae0d4-268c-4b60-914a-f3b48e22819c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM   console=tty0 console=ttyS0,115200n8 net.ifnames=0 idle=halt
        initrd /boot/initramfs-2.6.32-754.9.1.el6.x86_64.img
title CentOS (2.6.32-696.16.1.el6.x86_64)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.32-696.16.1.el6.x86_64 ro root=UUID=b7aae0d4-268c-4b60-914a-f3b48e22819c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM   console=tty0 console=ttyS0,115200n8 net.ifnames=0 idle=halt
        initrd /boot/initramfs-2.6.32-696.16.1.el6.x86_64.img
title CentOS 6 (2.6.32-696.el6.x86_64)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=b7aae0d4-268c-4b60-914a-f3b48e22819c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM   console=tty0 console=ttyS0,115200n8 net.ifnames=0 idle=halt
        initrd /boot/initramfs-2.6.32-696.el6.x86_64.img

grub.conf是grub的主配置文件,通过这个配置文件,grub才能找到kernel,系统才能正常启动。下面我们来解析一下这个文件中所有到的一下关键字的意思:

     default:定义默认启动的kernel或是操作系统

 

     timeout:定义等待进入选择kernel或操作系统菜单的时间

 

     splashimage:指定我们选择kernel或操作系统菜单后面那张图片。如果定义,这张图片需要用linux自带的软件xmp制作,在图形界面可以打开。图片的特点为:

     1,必须是xpm的格式  

     2,必须用gzip压缩   

     3,最多使用14位的颜色位数  

     4,分辨率640*480

 

     hiddenmenu:表示隐藏选择kernel或操作系统菜单,只有出现等待界面后按下enter键才会出现。如果没有这个字段,则每次系统启动都会出现这个选择菜单。

 

     password:设定密码。放在title外表示进入kernel或操作系统的编辑模式需要密码,而放在title内表示启动对应的kernel或操作系统需要密码,密码可以是明文或是用MD5进行加密过的。可以防止其他人进入编辑kernel菜单进入单用户模式启动我们的系统

 

     title identify:指定一个kernel或是一个操作系统,linux中可以有多个title;identify是这个kernel或操作系统的识别符,可以随意写。

 

     root:用于指定grub所能识别的根,而不是根文件系统。

 

     kernel:用于指定系统的内核文件的位置

 

     initrd:帮助kernel完成系统的启动,例如加载根文件系统所在分区的驱动等。如果kernel本身有相应强大的功能,则不需要initrd

     

     

     下面我们来分析一下我系统上的/boot/grub/grub.conf文件:

     default=0   

     表示第一个title下的内容为默认启动的kernel

     

     timeout=3

     表示等待进入选择kernel或操作系统菜单的时间为3秒

 

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

     grub是以hd来识别磁盘的,第一磁盘为hd0,第二个磁盘为hd1...,而hd0,0表示第一个磁盘的第一个分区,hd0,1表示第一个磁盘的第二个分区...,并且grub是直接读分区来找到对应的文件;而我的系统上只有一块硬盘,并且/boot是一个单独的分区,并且为系统的第一个分区,grub等文件在这个分区上。(如果你的系统上/是一个独立分区,并且boot,grub和其中的文件都在/这个分区中,则这段应该是:splashimage=(hd0,0)/boot/grub/splash.xpm.gz)所以它的意思是:grub在第一个分区中找到grub这个目录,再找到这个图片文件作为背景。

 

     hiddenmenu

     这个你懂的

 

     password --md5 $1$UrprW0$UzN7ozenwICzcPCQgiFts1

     表示要想进入kernel的编辑菜单,需要输入密码。这个密码可以通过命令grub-md5-crypt生成。

 

     title my redhat 

     你懂的

          root (hd0,0) 

          定义grub的根是第一硬盘的第一个分区

 

          kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet

          内核在grub的根的根目录下,ro表示只读加载kernel,root=/dev/vol0/root定义根文件系统,即我们操作系统启动之后我们所见到的/,我系统上的/是挂载在这个逻辑卷上的;rhgb是redhat的一个程序,显示一个红色的边框。quiet表示以静默模式启动kernel,如果定义,kernel启动的时候会输出很多信息。

 

          initrd /initrd-2.6.18-164.el5.img

          initrd这个文件在grub的根的根目录下

 

     OK!这个文件很重要哦!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值