CentOS 6启动流程:
POST --> Boot Sequence(BIOS) --> Boot Loader (MBR) --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init --> (/etc/inittab,/etc/init/*.conf) --> 设置默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --> 启动终端
grub 0.x:grub legacy
grub 1.x:grub2
stage1:mbr
stage1_5:mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统;
stage2:磁盘分区(/boot/grub)
配置文件:/boot/grub/grub.conf <-- /etc/grub.conf(符号链接文件)
stage2及内核等通常放置于一个基本磁盘分区:
功用:
(1) 提供菜单、并提供交互式接口
e:编辑模式,用于编辑菜单;
c:命令模式,交互式接口;
(2) 加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
(3) 为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证
(hd#,#)
:
hd#
:磁盘编号,用数字表示,从0开始编号;
#
:分区编号,用数字表示,从0开始编号;
(hd0,0)
:第一块硬盘的,第一个分区;
启动CentOS时,有5秒等待,按任意键可以进入grab选项界面,按C
键可以进入grab命令行
按e
键:
help:获取帮助列表;
help KEYWORD:详细帮助信息;
find (hd#,#)/PATH/TO/SOMEFILE:查找定位某文件是否存在;
root (hd#,#):把哪一个磁盘分区设定为根设备;
kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的commandline参数;
例如:init=/path/to/init,selinux=0
initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk;
boot:引导启动选定的内核;
#查看grub的命令帮助
help
#查看具体命令find帮助
help find
#vmlinuz内核为内核压缩文件名开头,两次tab,可以查找是否有内核的压缩文件:vmlinuz-version-el#.arch
find (hd0,0)/vmlinuz
#设置第一块磁盘的第一个分区为根设备
root (hd0,0)
#设置完根设备后就可以使用/来访问了,两次tab,可以查找是否有内核的压缩文件:vmlinuz-version-el#.arch
find /vmlinuz
#设定根磁盘和分区
root (hd0,0)
#设置内核文件,指定根文件系统的设备(磁盘),quiet代表静默模式,不显示设置信息
kernel /vmlinuz-2.6.32-754.12.1.el6.x86_64 ro root=/dev/sda3 quiet
#指定内核补充性的ramdisk文件
initrd /initramfs-2.6.32-754.12.1.el6.x86_64.img
#启动
boot
如下图:
配置项:
default=#:设定默认启动的菜单项;菜单项(title)编号从0开始;
timeout=#:指定菜单项等待选项选择时长;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片的文件路径;
hiddenmenu:隐藏菜单(有这个配置项后,默认系统启动时时没有菜单项选择的);
password [--md5] STRING:菜单编辑认证(进入启动菜单时需要键入密码,才能编辑菜单);
title TITLE:定义菜单项"标题"
root (hd#,#):grub查找stage2及kernel文件所在的设备分区;为grub的"根";
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核;
initrd /PATH/TO/INITRAMFS_FILE:内核匹配的ramfs文件;
password [--md5] STRING:启动选定的内核或操作系统时进行认证;
grub-md5-crypt命令:
vim /etc/grub.conf:
reboot重启后:
如果选择第二个选项:,会提示输入密码后才能登录系统;
(1) 编辑grub菜单(选定要编辑的title,而后使用e命令);
(2) 在选定的kernel后按e键:
进入命令行,输入空格+1,s,S或single都可以;
(3) 在kernel所在行,键入"b"命令;
(1) grub-install
grub-install --root-directory=ROOT /dev/DISK
(2) grub
root (hd#,#)
setup (hd#)
实验1:新加硬盘,提供直接单独运行bash系统;
实验2:破坏本机grub stage1,而后在救援模式下修复之;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。