grub的应用
grub(GRand Unified Bootloader):统一引导加载器;
grub所支持的界面类型:
编辑界面:在启动时按"e",进入编辑界面,如修正错误的字符,d命令可以直接删除,在菜单界面的所以操作都只是当前有效;
命令界面:在启动时按"c",进入命令界面,可执行类似bash下的命令;
菜单界面:可以通过配置文件/boot/grub/grub.conf中设置多个引导菜单,启动时可以选择;
1)编辑界面
用户可以通过编辑界面进入单用户模式:
(1)编辑grub菜单,选定要编辑的title,使用“e”命令;
(2)在选定的kernel后面,附加 1,s,S或single 之一;
(3)在kernel所在行,键入“b”命令;
2)命令界面
grub命令行接口可选的参数:
help:获取帮助列表
help KEYWORD:获取详细帮助信息
find(hd#,#)/PATH/TO/SOMEFILE
root(hd#,#):
hd#:磁盘编号,从0开始;
#:分区编号,从0开始;
例:root(hd0,0):表示第1块磁盘的第1个分区
kernel/PATH/TO/KERNEL_FILE:设定本次启动用到的内核文件;额外还可以添 加内核支持使用的参数
例:init=/path/to/init,selinux=0
initrd/PATH/TO/INITRAMFS_FILE:设定选定的内核所提供的额外文件的 randisk
boot:引导启动选定的内核
例:手动在grub命令行接口启动系统
>root(hd0,0)
>kernel /vmlinuz-2.6.32-573.el6.x86_64 root=/dev/mapper/vg0- root
>initrd /initramfs-2.6.32-573.el6.x86_64.img
>boot
3)菜单界面
grub配置文件:/boot/grub/grub.conf;链接文件:/etc/grub/grub.conf
[root@localhost boot]# cat /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 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/vg0-root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (3.10.67) password --md5 $1$wRQna$VjAO8uUs7mnIbOSdLpzFd1 root (hd0,0) kernel /vmlinuz-3.10.67 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root KEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb quiet initrd /initramfs-3.10.67.img title CentOS 6 (2.6.32-573.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root KEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb quiet initrd /initramfs-2.6.32-573.el6.x86_64.img
配置项:
default=1:设定默认启动的菜单项,0表示第一个title
timeout=5:超时时间,这里是5秒
splashimage=(hd0,0)/grub/splash.xpm.gz:启动时显示的图片
hiddenmeun:是否隐藏菜单
title CentOS(3.10.67):第一个title显示的内容,可以是任意内容
password --md5 $1$wRQna$VjAO8uUs7mnIbOSdLpzFd1:启动选定的内核或操作 系统时进行认证
(1)使用grub-md5-crypt命令生成密码串
(2)可直接编辑/boot/grub/grub.conf加入密码,不过是明文密码,不安全!
[root@localhost boot]# grub-md5-crypt Password: Retype password: $1$OeQoa$yzdLrKUQHYYtLKKOOphMV0
root(hd0,0):boot所在设备分区,为grub的“根”
kernel /vmlinuz-3.10.67 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/rootKEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb qquiet:启动的内核
initrd /initramfs-3.10.67.img:指定匹配的ramdisk
安装grub
方法(1)grub-install
grub-install --root-directory=root /dev/DISK
方法(2)grub(打开grub提示符)
grub> root(hd#,#)
grub> setup(hd#)