GRUB简介
GRUB(GRand Unified Bootloader),计算机在启动的时候,首先有BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占416字节),并把控制权交给Boot Loader,由Boot Loader进一步完成操作系统内核的加载。
GRUB的配置文件默认为:/boot/grub/grub.conf、软链接为:/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 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/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.29.2.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.29.2.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.29.2.el6.i686.img
title CentOS (2.6.32-358.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.i686.img
GRUB文件属性说明
default :定义缺省启动系统
timeout :定义缺省等待时间
splashimage :定义GRUB界面图片
hiddenmenu :隐藏菜单
title :定义菜单项名称
root :设置GRUB的根设备即内核所在的路径
kernel :定义内核所在的位置(在root下面)
initrd :命令加载镜像文件
GRUB命令
功能键:
e :编辑当前的启动菜单项
c :进入GRUB的命令行方式
b :启动当前的菜单项
d :删除当前行
Esc :返回GRUB启动菜单界面,取消对当前菜单项所做的任何修改
notice:在GRUB中有种特殊的写法(hd0,0)hd0表示第一块硬盘,1表示第一个分区,一般(hd0,0)表示/boot
GRUB密码设置
众所周知,通过编辑GRUB启动参数就可以轻松进入单用户模式从而修改root密码,这对于一台计算机或者服务器来说,都是存在一定的安全隐患的。因此,我们可以通过GRUB设置密码,来提高安全性。
1.使用GRUB自带的grub-md5-crypt命令
2.在GRUB交互命令行界面中使用md5crypt命令
通过以上的命令获得MD5密码后,编辑GRUB配置文件,在里面加入(一般加载title上面):
password --md5 [md5得到的密码]
GRUB修复
当开机后进入grub界面但没有菜单,只剩一个grub>提示符,解决方法(还未试验过仅记录方法):
grub> cat /boot/grub/grub.conf (为查看参数)
grub> root (hd0,6)
grub> kernel (hd0,6)/vmlinuz-2.4.18-14 ro root=LABEL=/
grub> initd (hd0,6)/initrd-2.4.18-14.img
grub>boot
GRUB修复模式
解决过程
1.把安装盘放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,按[F5]键,也就是linux rescue模式,然后在boot下输入 linux rescue,然后就是回车一下 sh#
单用户模式修改root密码
root密码忘记:
进入单用户模式重新设置root密码,开机进入GRUB界面,按e进入编辑行模式,选中kernel行,在按e,在新的界面的最后一行输入1、2...或者s,即可进入单用户模式。