linux系统启动过程:
1.计算机通电后,开启开关,开机程序被载入ROM芯片的BIOS程序,BIOS程序会读取CMOS中的内容识别硬件配置信息,检测硬件是否能正常开机,选择一个硬件去读取开机信息,去加载开机程序。
2.读取并执行第一个开机设备内的MBR的boot loader
3.依据boot loader的设定载入内核,内核开始检测硬件与载入驱动程序。
4.硬件驱动成功后,内核会主动呼叫systemd程序,然后加载系统的各个进程。
注:
BIOS:“Basic Input Output System”,“基本输入输出系统”。BIOS是个人电脑启动时加载的第一个软件。是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
“只读内存” :ead-only memory,缩写为ROM
主引导记录:MBR(Master Boot Record)是装有Linux系统的硬盘的第一个扇区
主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。
主引导程序:Boot loader
CMOS:可读写的特性,所以在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据,这个芯片仅仅是用来存放数据的。
7版本之后为sysytemd程序,之前为init程序。
批量装系统:
原理:为批量装系统的客户端提供服务器,客户端可以去服务器下载相应的镜像。
PXE服务器:充当TFTP,dhcp、http服务器
客户端向服务器要二进制文件, 最初只认识二进制。
文件为: pxelinux.0 pxelinux.cfg/default、vmlinuz、initrd.img
服务器通过文件传输协议将文件传输给客户端。
客户端下载安装,客户端的环境需要为:有网络驱动和支持TCP/IP协议栈。
注:
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统