1、系统初始化、开机流程
1、加载BIOS硬件信息并自检
2、读取并执行电脑第一个硬盘设备MBR的boot loader也就是grub
3、根据 boot loader 设定加载 kernel ,kernel开始检测硬件、加载驱动
4、驱动成功后,开始Init进程
5、Init 执行 /etc/rc.d/rc.sysinit 文件 ,准备软件执行的作业环境
6、Init 执行 run-level 的服务并启动
7、Init 执行 /etc/rc.d/rc.local 文件
8、启动图形界面,进入 login
引导装载器(Boot loader)在第一个扇区的MBR内,MBR是硬盘第一个扇区内的一个小区块大小 446byte
GRUB
GRUB如何识别硬盘?
例:(hd0,0)
代表搜索电脑中第一块硬盘(hd0)的第一个分区(0)
hd表示硬盘,第一个硬盘为0,第二个为1,每个分区的第一个编号为0,以此类推
Grub.conf配置文件

1到4行为GRUB的整体设定
Default 与下面的title对照,表示启动第几个title,默认从0开始,表示第一个title
timeout 表示如果在30后如果没有任何按键,则执行第1行的title ,如果改成timeout=-1表示直接进入菜单不读秒
splashimage 菜单的背景图片地址
hiddenmenu 表示开机时是否隐藏菜单
第5行为MD5加密:放在第1 个title的上面表示,用户无法通过e 进入编辑模式启动,必须键入密码才能编辑
#grub-md5-crypt //md5编码命令,将加密后的字符复制到第5行
6到10为一个引导系统,一个title 就是一个引导系统的开始
第6行为标题显示的内容
第7行 lock 表示,除非输入正确的密码,否则无这个title不会加载执行
第8行 表示 内核文件 放在哪个分区中
第9行 内核文件名 ro为只读挂载,root=UUID=71…… 为Linux的根目录在哪个分区
多操作系统MBR 引导装载器的执行流程:
在每一个文件系统或分区内,都会保留一块启动扇区(boot sector)提供操作系统安装 boot loader
Boot loader 提供以下功能 :
提供选择菜单:用户可以选择不同的开机选项,这也就 是多重引导
载入内核文件:直接指向可开机的程序区段来开始操作系统
转交其他装载器:将开机管理功能转交其它装载器负责
图例 :MBR指向Linux 开机管理程序 ,里面有三个菜单选项,分别是装载器控制权的转交,表示开机管理交由其它文件系统的装载器负责
内核初始化 – init(/etc/inittab)
/etc/inittab ,在RHEL5 和6 中这个文件配置不同
# Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) 关机 # 1 - Single user mode 单用户模式 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 无NFS服务的多用户模式 # 3 - Full multiuser mode 多用户模式 # 4 - unused 系统保留 # 5 - X11 图形用户界面 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
Init 的处理流程
取得 run level
1、 /etc/rc.d/sysinit 系统初始化
2、 启动run level相对应目录的服务
3、 如果级别为5 /etc/rc.d/rc5.d/
系统会 找到 /etc/rc.d/rc5.d/k 开头的文件 ,并执行 /etc/rc5.d/k stop
系统会 找到 /etc/rc.d/rc5.d/s 开头的文件 ,并执行 /etc/rc5.d/k start
/etc/rc.d/rc?.d目录中的软连接对应 /etc/rc.d/init.d的运行脚本,所以启动某项服务也可写成:
#/etc/rc.d/init.d/servername start/stop 立即启动或停止某项服务 ,但重启后配置不会生效
在系统启动时可按ESC键退出图形,然后按I 键 停止启动服务 ,改为手动调整服务的启动4、用户自定义开机启动程序 /etc/rc.d/rc.local
5、设置 C + A + D 功能键
6、设置一间断电源机制
7、启动六个终端
8、启动图形接口
格式化 boot 分区修复
example: