linux系统启动详解
要学习linux的命令,我们需要先了解linux系统是如何工作的,这里我们先了解linux是如何在一台电脑上启动加载的!!
linux系统启动过程
第一步、 BIOS初始化
1. BIOS检测所有的外置设备,查看有哪些外围设备在活动区
2. 开始寻找启动磁盘--根据BIOS的设置导找启动文件存放的位置
第二步、执行启动加载器
1. 先到MBR(主引导记录)磁盘导找启动文件,比如:grub /LILO
2. 到boot partition(启动分区)去找启动文件-比如:grub /LILO
3. 启动加载器,加载启动文件(通过分区表查找活动分区,并且将活动分区的加载程序读取到内存里运行)
第三步、加载内核
给内核传递内核启动参数化,比如运行级别参数 3-支持网络,但只支持命令行 5--支持网络,且支持图形界面
(加载器会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核
映像加载到内存中并把控制权交给Linux内核)
第四步、内核获得
1. 控制权后
1.1 检测硬件
1.2 解压缩并安装必要驱动
1.3 初始化与文件系统相关的虚拟设备
1.4 装载根文件系统,挂载根目录下面
1.5 以上4步完成之后linux在进程空间里加载init程序-init获得控制权
2. 启动init并初始化服务
2.1 执行/etc/rc.d/rc.sysinit脚本文件-----初始化环境变量,网络配置、启动swap、检查并挂载文件系统
2.2 执行rc文件-----rc文件中定义了不同的运行级别的对应的初始化配置
3.3 执行rc.local文件----针对不同的用户,初始化个性配置
4.4 建立使用环境
一切初始化完成,这时候就是使用用户名和密码登录啦
总结
BIOS初始化--->寻找并执行加载器--->载入启动内核并执行内核初始化(主要是根文件挂载,驱动安装)--->启动init服务(初始化系统的公共配置)--->初始化用户的个人配置--->启动桌面