7、Linux开机引导流程

① 启动第一步--加载BIOS

首先加载 BIOS,因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、 内存信息、时钟信息、PnP特性等等。

② 启动第二步--读取MBR

硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

③ 启动第三步--运行Boot Loader

Boot Loader 就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader。

系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。

④ 启动第四步--加载内核检测硬件

根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备(存储设备、CPU、网卡、声卡等),完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。

⑤ 启动第五步--调用init进程

内核被加载后,第一个运行的程序/sbin/init(其中init进程的PID是1,最先调用的进程),该进程会读取/etc/inittab文件,并依据此文件来进行初始化工作,最主要的作用就是设定Linux的运行等级

其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启

⑥ 启动第六步--执行/etc/rc.d/rc.sysinit

在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit程序

作用:包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。

⑦ 启动第八步--执行/etc/rc.d/rc N & /etc/sysconfig

根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

⑧ 启动第九步--执行/etc/rc.d/rc.local

你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

⑨ 启动第十步--执行/bin/login程序,进入登录状态

此时,系统已经进入到了等待用户输入username和password的时候了,你已经可以用自己的帐号登入系统了。

原文地址:http://blog.51cto.com/hostman/2095667

时间: 2024-10-11 04:54:38

7、Linux开机引导流程的相关文章

[Linux学习笔记] Linux系统引导流程(一)

前面我们已经介绍过以CentOS为例的Linux系统的安装以及Linux常用命令的使用,本节内容我们将介绍Linux系统引导流程.当按下电源的那一刻,到我们看到用户界面,这其中都发生了些什么呢?赶快来一探究竟. 下图为Linux系统引导流程过程图: 以下对Linux引导流程过程做一个简单的说明: 1. POST加电自检 POST(POST ON SELF TEST)首先对每一个设备进行检查,完成后会寻找存有引导记录的设备,找到读入操作系统的引导记录,将系统控制权交给引导记录. 2. MBR引导

linux系统引导流程

系统引导流程********************************************************************固件 firmware(CMOS/BIOS)--->POST加电自检↓自举程序BootLoader(GRUB)--->载入内核↓载入内核Kernel  ----->驱动硬件↓启动进程init PID=1(恒为一)↓读取执行配置文件/etc/inittab 同步软硬件时钟date软件时钟 hwclock硬件时钟更改软件时钟 # date 070

Linux开机启动流程及运行级别和常用组合键 == 第一次所学知识框架==

第一次写经验总结 望体谅 linux开机启动过程总结=简化版 1)  加载bios,获取cpu,内存,硬盘 2)  读取MBR,获取bootloader(grub) 3)  根据grub的内容加载内核 4)  内核执行/sbin/init,根据/etc/inittab完成初始化 5)  init执行 /etc/rc.d/rc.sysinit 6)  启动内核模块,根据/etc/modprobe.conf或/etc/modprobe.d/目录下的的文件来加载模块 7)  根据运行级别不同,init

Linux学习笔记九:Linux系统引导流程

当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1.固件firmware(CMOS/BIOS)  ->  POST(Power On Self Test),即加电自检 2.自举程序BootLoader(GRUB) -> 将系统载入内核 3.载入内核Kernel  ->  驱动硬件 4.启动进程init  ->  服务启动 5.读取执行配置文件/etc/initta

第14章 Linux开机详细流程

本文目录: 14.1 按下电源和bios阶段 14.2 MBR和各种bootloader阶段 14.2.1 boot loader 14.2.2 分区表 14.2.3 采用VBR/EBR方式引导操作系统 14.3 grub阶段 14.3.1 使用grub2时的启动过程 14.3.2 使用传统grub时的启动过程 14.4 内核加载阶段 14.4.1 加载init ramdisk 14.4.2 initrd 14.4.3 initramfs 14.5 操作系统初始化 14.5.1 运行级别 14.

linux开机启动流程及需要开机启动服务讲解和修改及防火墙

linux系统从开机到登陆的启动流程. 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动mingetty,进入系统登陆界面 精简开机系统启动.有必要保留的开机启动: 1.sshd 远程连接linux服务器的服务程序 2.rsyslog 操作系统提供的一种机制,系统守护程序通常会使用rsyslog 将各种信息储存在系统日志文件中,Centos6以前此服务的名字为sy

linux开机系统启动流程

启动流程 1,按下电源 2,bios自检:主要检测主机硬件设备如:cpu,内存.硬盘等显卡设备是否正常,在测试完成后,会按照bios的系统设置顺序来启动. 3,系统引导 MBR:硬盘的0柱面,0磁头,一扇区称为主引导扇区.它由三部分组成,主引导程序(Bootloader),硬盘的分区表(Disk Partition table)和硬盘有效标志(55AA) 4,linux内核启动 bootloader 为引导加载程序,它的主要功能为 1,提供菜单,允许用户选择启动的系统或不同的内核版本 2,加载选

linux开机引导过程总览

简单的说,系统的启动过程如下: 1.开机自检: 按下电源按键后,计算机硬件会主动读取BIOS加载硬件信息并进行硬件的自我测试,然后系统会根据BIOS里的启动顺序读取第一个可启动的设备,从而移交系统控制权,大多数时候移交给本机硬盘. 2.MBR引导 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(Master Boot Record,主引导记录)的设置,将系统的控制权传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB). 3.GRUB菜单 启动过

Linux开机启动流程

1.BIOS开机自检,读取MBR,加载Grub,移交控制权 2.Grub根据配置文件显示启动菜单,加载内核和虚拟文件系统,移交控制权 3.内核解压缩,检测硬件,加载驱动,挂载根文件系统,启动/sbin/init初始化进程,移交控制权 4.init进程根据运行等级进行初始化操作,启动各种服务,执行启动脚本,进入登录界面