Linux系统启动流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统启动流程相关的知识,希望对你有一定的参考价值。
Linux系统启动流程
Linux内核的特性之一:使用缓冲和缓存来加速对磁盘上文件的访问
系统初始化进程(内核级别):POST-->bootsequence(Bios)-->bootloader(MBR)-->kernel(ramdisk)-->rootfs(readonly)-->/sbin/init
内核功能:进程管理,内存管理,网络协议栈,文件系统,驱动程序,安全功能
组成部分:
核心文件:/boot/vmlinuz-VERSION-release
ramdisk:
CentOS 5:/boot/initrd-VERSION-release.img
CentOS 6,7:/boot/initramfs-VERSION-release.img
挂载真正的根文件系统后退出
内核启动后加载一个临时根文件系统(其中仅放一个特定的驱动,动态创建而来)
模块文件(驱动):/lib/modules/VERSION-release
(/lib/modules/3.10.0-229.el7.x86_64/kernel/kernel[fs])
CentOS 系统的启动流程
POST
(加电自检)(代码在主板上的只读ROM:CMOS:BIOS:Basic Input and Output System上,用来检测各个硬件是否存在)
ROM+RAM
-->Boot Sequence:
按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备
bootloader:引导加载器,程序
Windows:ntloader
Linux:
LILO:Linux Loader
grub:grand uniform bootdoader
grub 0.x:grub legacy
grub 1.x:grub2
功能:提供一个菜单,允许用户选择要启动的系统或不同的内核版本:把用户选定的内核装载到RAM中的特定空间中,解压,展开,而后把系统控制权移交给内核;
--> MBR:master boot record
512bytes:
446bytes:bootloader
64bytes:fat 分区表
2bytes:55AA 表示MBR有效否则无效
-->grub:
bootloader:第一阶段
partition:第1.5阶段,文件系统驱动(作用?)
partition:/boot/grub 第二阶段
-->Kernel:
自身初始化:
探测可识别到的所有设备
加载硬件驱动程序(有可能会借助于ramdisk加载驱动)
只读方式挂载根文件系统
运行用户控件的第一个应用程序:/sbin/init
-->init程序类型:
CentOS 5:SysV init
配置文件:/etc/inittable
CentOS 6:Upstart
配置文件:/etc/inittable
/etc/init*.conf
CentOS 7:Systemd
配置文件:/usr/lib/systemd/ /etc/systemd/system/
本文出自 “我心_向阳” 博客,请务必保留此出处http://wyg11.blog.51cto.com/11253863/1783115
以上是关于Linux系统启动流程的主要内容,如果未能解决你的问题,请参考以下文章