CentOS系统启动流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS系统启动流程相关的知识,希望对你有一定的参考价值。
CentOS 6启动流程:
POST --> Boot Sequence(Bios) --> BootLoader (MBR) --> Kernel(ramdisk) --> rootfs --> switchroot -->/sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --> 启动终端GRUB(Boot Loader):
grub: GRand UnifiedBootloader
grub 0.x: grub legacy
grub 1.x: grub2 grub legacy:
stage1: mbr
stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统;
stage2:磁盘分区(/boot/grub/)配置文件:/boot/grub/grub.conf <-- /etc/grub.confstage2及内核等通常放置于一个基本磁盘分区;
功用:
(1) 提供菜单、并提供交互式接口
e: 编辑模式,用于编辑菜单;
c: 命令模式,交互式接口;
(2) 加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
(3) 为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证如何识别设备:
Linux Kernel:
CentOS启动流程:POST --> Bootloader(BIOS, MBR)--> Kernel(initrd) --> rootfs --> switch_root --> /sbin/init
内核设计体系:单内核、微内核
Linux:单内核设计,但充分借鉴了微内核体系的设计的优点;为内核引入了模块化机制;
内核的组成部分:
kernel:内核核心,一般为bzImage,通常位于/boot目录,名称为vmlinuz-VERSION-release;
kernel object:内核对象,即内核模块,一般放置于/lib/modules/VERSION-release/
内核的组成部分:kernel, kernel object, ramdisk
kernel: uname
kernel object: lsmod, modinfo, modprobe,insmod, rmmod, depmod
ramdisk:mkinitrd,dracut 启动流程:POST --> BootSequence(BIOS) --> Bootloader (MBR) --> kernel (ramdisk)--> rootfs (switch_root) --> /sbin/init (/etc/inittab, /etc/init/*.conf,/usr/lib/systemd/system/)--> 默认运行级别、系统初始化、关闭及启动服务、启动终端(图形终端)
grub:
1st stage:mbr
1_5 stage: mbr之后的扇区
2nd stage:/boot/grub/加密:编辑、内核
(hd#,#)
hd#: 磁盘编号,用数字表示;从0开始编号
#: 分区编号,用数字表示; 从0开始编号(hd0,0)grub的命令行接口
help: 获取帮助列表
help KEYWORD: 详细帮助信息
find (hd#,#)/PATH/TO/SOMEFILE:
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;
例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;
boot: 引导启动选定的内核;手动在grub命令行接口启动系统:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE
grub> initrd/initramfs-VERSION-RELEASE.img
grub> boot配置文件:/boot/grub/grub.conf
配置项:
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命令进入单用户模式:
(1) 编辑grub菜单(选定要编辑的title,而后使用e命令);
(2) 在选定的kernel后附加
1, s, S或single都可以;
(3) 在kernel所在行,键入“b”命令;安装grub:
(1) grub-install
grub-install --root-directory=ROOT/dev/DISK(2) grub
grub> root (hd#,#)
grub> setup (hd#)练习:
1、新加硬盘,提供直接单独运行bash系统;
2、破坏本机grub stage1,而后在救援模式下修复之;
3、为grub设置保护功能;博客作业:grub应用;
内核模块与内核核心版本一定要严格匹配;[ ]:N
[M]:Module
[*]:Y,编译进内核核心内核:动态装载和卸载;ramdisk:辅助性文件,并非必须,这取决于内核是否能直接驱动rootfs所在的设备;
目标设备驱动,例如SCSI设备的驱动;
逻辑设备驱动,例如LVM设备的驱动;
文件系统,例如xfs文件系统;ramdisk:是一个简装版的根文件系统;内核信息获取:
本文出自 “完美世界” 博客,请务必保留此出处http://angelababy.blog.51cto.com/6326130/1755127
以上是关于CentOS系统启动流程的主要内容,如果未能解决你的问题,请参考以下文章