天天看点

RHCE培训笔记——GRUB

GRUB是linux中最主要的多系统引导程序,如果grub.conf文件丢失或被破坏,但内核文件等没有丢失,在开机时,可以通过grub界面引导启动系统。

以下实验平台为CentOS 6.2。操作步骤如下图所示,

<a href="http://blog.51cto.com/attachment/201303/165733442.jpg" target="_blank"></a>

P-01

注:root(hd0,0),表示/boot分区,即操作系统内核和引导文件所在的磁盘分区,grub不区分ide硬盘和scsi硬盘,统一使用hdx,这里(hd0,0)表示第一块硬盘的第一个分区,与系统中的分区表示不一样。

kernel加载内核,/vmlinuz通过tab键会自动补全,由于装系统时,使用了lvm,所以root=/dev/mapper/vg_itpro-lv_root;如果不清楚root所在目录,需通过光盘进入救援模式进行查看。

系统启动成功后,在/boot/grub下创建或修复grub.conf文件,

最简洁的文件内容如下,

[root@itpro ~]# cat /boot/grub/grub.conf

default=0

timeout=5

hiddenmenu

title CentOS6

      root (hd0,0)

      kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_itpro-lv_root

      initrd /initramfs-2.6.32-220.el6.i686.img

(注:vmlinuz-2.6.32-220.el6.i686和initramfs-2.6.32-220.el6.i686.img在/boot目录下,可通过echo命令将它们的名字追加到grub.conf文件中,再进行编辑。)

编辑完成后,重启,可以正常启动系统。

以上两种方法,在重启系统时,登录界面会出现如图P-02所示的信息,不过不影响系统正常使用,

如果将,

kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_itpro-lv_root

这一行,加个“quiet”写成

kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_itpro-lv_root quiet

或者更加完整的(这个肯定记不住,要从别处抄了~)

kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_itpro-lv_root rd_LVM_LV=vg_itpro/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=vg_itpro/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM

则不会出现图示问题。

<a href="http://blog.51cto.com/attachment/201303/165934306.jpg" target="_blank"></a>

P-02

附:grub.conf原文件内容及其注释如下

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/mapper/vg_itpro-lv_root

#          initrd /initrd-[generic-]version.img

#boot=/dev/sda

default=0  #默认引导的菜单条目,0为排在第一个的系统

timeout=5  #Grub菜单停留的时间,单位为秒

splashimage=(hd0,0)/grub/splash.xpm.gz  #指定GRUB引导菜单的背景图片

hiddenmenu  #隐藏Grub引导菜单,如果不想在启动时隐藏,则删掉此条目

title CentOS (2.6.32-220.el6.i686)  

#引导条目的名称,通常以操作系统的名称作为标识,可以随意修改

        root (hd0,0)

#root(hdX,Y),操作系统内核和引导文件所在的磁盘分区,X指linux的根分区在哪个硬盘上,Y指所安装的linux是在哪个区里

        kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/vg_itpro-lv_root rd_LVM_LV=vg_itpro/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=vg_itpro/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM

#系统内核及boot命令用到的参数 

        initrd /initramfs-2.6.32-220.el6.i686.img

#系统引导程序,指定要引导哪个硬盘分区的映像

#kernel和initrd 中指定的文件都是相对于root中所设置的硬盘分区,

#即“/vmlinuz-2.6.32-220.el6.i686”和“/initramfs-2.6.32-220.el6.i686.img”的“/”不是表示根分区,而表示相对路径/boot,vmlinuz-2.6.32-220.el6.i686文件和nitramfs-2.6.32-220.el6.i686.img文件都在/boot目录下。

本文转自Sunshyfangtian 51CTO博客,原文链接:http://blog.51cto.com/sunshyfangtian/1152680,如需转载请自行联系原作者

继续阅读