码迷,mamicode.com
首页 > 系统相关 > 详细

linux征途之系统开机流程

时间:2016-06-24 12:18:35      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

CentOS 6.x版本开机流程
1. 按下开机按钮,主板加电读取BIOS信息;
2. BISO载入CMOS的信息寻找启动项,并读取第一启动项的MBR
3. 根据MBR的设置,加载bootloader,6.x版本使用grub
4. grub读取/boot/grub/menu.lst文件获得内核文件vmlinuz和initrd的位置
5. 根据/boot/grub/menu.lst文件内的配置读取vmlinuz和initrd文件
6. 解压initrd文件在内存中,生成根目录,加载核心vmlinuz,利用核心的功能开始侦测硬件,并加载驱动程序。
7. 内核加载驱动程序释放虚拟文件系统,并挂载实际的根目录文件系统,读取硬盘文件,调用init进程开始系统初始化
8. init进程读取/etc/initab文件取得开机等级(runlevel),调用/etc/rc.d/rc.sysinit文件来准备软件运行环境(网络,时区等)
9. 根据开机等级读取/etc/rc.d/rc[0-6].d/和/etc/sysconfig目录下的配置文件初始化相关服务,运行rc.local配置个人设置
10. init运行终端模拟程序mingetty来启动login程序,等待用户登录
 
开机过程中要用到的主要配置文件
/boot/grub/menu.lst
/etc/rc.d/rc.sysinit
/etc/rc.d/rc[0-6].d/*
/etc/sysconfig/*
 
CentOS 7.x版本开机流程
1. 按下开机按钮,主板加电读取BIOS信息;
2. BISO根据设置信息寻找启动项,并读取第一启动项的MBR
3. 根据MBR的设置,加载bootloader,7.x版本使用grub2
4. grub2读取/boot/grub2/grub.cfg文件获得内核文件vmlinuz和initrd的位置
5. 根据/boot/grub2/grub.cfg文件内的配置读取vmlinuz和initrd文件
6. 解压initrd文件在内存中,生成根目录,加载核心vmlinuz,利用核心的功能开始侦测硬件,并加载驱动程序。
7. 内核调用systemd程序,以default.target流程开机
8. systemd执行sysinit.target初始化系统和basic.target准备操作系统
9. systemd启动multi-user.target下的本机和服务器服务
10. systemd执行multi-user.target下的/etc/rc.d/rc.local文件
11. systemd执行multi-user.target下的getty.target和登陆服务
12. systemd执行graphical需要的服务(图形化界面需要)
 
开机过程中用到的主要配置文件
/etc/modprobe.d/*.conf
/etc/modules-load.d/*.conf
/etc/sysconfig/*

linux征途之系统开机流程

标签:

原文地址:http://www.cnblogs.com/hf9999/p/5613607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!