博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux开机引导过程总览
阅读量:5952 次
发布时间:2019-06-19

本文共 858 字,大约阅读时间需要 2 分钟。

简单的说,系统的启动过程如下:

1.开机自检:

按下电源按键后,计算机硬件会主动读取BIOS加载硬件信息并进行硬件的自我测试,然后系统会根据BIOS里的启动顺序读取第一个可启动的设备,从而移交系统控制权,大多数时候移交给本机硬盘。

2.MBR引导

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(Master Boot Record,主引导记录)的设置,将系统的控制权传递给包含操作系统引导文件的分区,或者直接根据

MBR记录中的引导信息调用启动菜单(如GRUB)。

3.GRUB菜单

启动过程中,每个引导装载程序使用的软件可能都不一样。目前各大linux distributions的主流为grub,但是早期默认使用LILO,包括现在有很多朋友喜欢使用spfdisk。当系统

控制权交给grub后,显示启动菜单供用户选择,并根据所选项(或者默认值)加载Linux内核文件,然后将系统控制权转交给内核。
4.加载Linux内核

linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源和系统程序之间,负责资源分配和调度。当加载内核到内存中,内核会检测所有硬件信息和加载适当的驱动

程序来使这部主机可以开始运行.。

5.init进程初始化

当内核检测和加载驱动成功后,将主动调用'/sbin/int'程序到内存中运行,(运行中的程序叫进程)init进程则负责完成一系列的系统初始化过程,最后等待用户登录。
(1)init会取得run-level信息;
(2)init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络、时区等);
(3)init执行run-level的各个服务的启动(script方式);
(4)init执行/etc/rc.d/rc.local文件;
(5)init执行终端机模拟程序mingetty来启动login进程,最后等待用户登录。

转载于:https://www.cnblogs.com/yuanhonli-xin/p/8232818.html

你可能感兴趣的文章
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>
Eclipse Java @Override 报错
查看>>
交换机之间的VLAN通信(trunk)
查看>>
heartbeat-gui
查看>>
关于一阶逻辑中实例化的可满足性问题
查看>>
cut命令用法讲解
查看>>
我的第一篇日志。
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
企业实战:mysql5.6数据库备份、恢复脚本
查看>>
CentOS7安装mysql
查看>>
RMB數字轉換中文
查看>>
基于rhel7.2的Zabbix平台搭建和部署(二)
查看>>
Html5本地存储和本地数据库
查看>>
Android Fragment实践(二)
查看>>
Windows 64 位 mysql 5.7以上版本包解压安装
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
TClientDataSet[14]: 测试 FindFirst、FindNext、FindLast、FindPrior、Found
查看>>