Linux开机流程即运行级别

Linux开机流程

一、概念

1、boot  loader: 领导装载程序,常用的有(Grub, spfdisk)

2、Grub: 是一个多操作系统启动管理器,开机时领导不同系统,windows  linux等

二、开机的流程

1、加载BIOS(basic input output system)的硬件信息,并进行自我测试

2、读取并执行第一个开机装置内MBR(主引导记录扇区)的boot loader即grub  spfdisk 等程序!

3、 grub(boot loader)就是一个多操作系统启动管理器,运行之后就是选择系统(boot loader --grup的功能之后在讲)

4、依据 boot loader 的设定加载kernel(也就是在第3步这里选择的系统的内核),加载进来的kernel在存储器中解压并执行,侦测硬件信息加载驱动程序

5、硬件驱动成功之后,kernel会主动呼叫第一个用户级的程序,init, init 会取得运行级别(runlevel) 的信息(run level 信息保存在  /etc/inittab档案中)

6、init 执行 /etc/rc.d/rc.sysinit  档案 来准备软件执行的环境(如 网络 ,时区等信息)具体信息可以 vim  /etc/rc.d/rc.sysinit  去查看

7、init  执行 run-level 的各个服务即启动和这个run-level 对应的服务

8、 执行 /etc/rc.d/rc.local   档案   (这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里)

9、 init 执行终端机仿真程序 mingtty  来启动 login 程序,最后等待用户登录

三、Bios(basic input  output  system)的作用

1、Bios它是一组固化到计算机内主板上一个Rom(read  only memory) 芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,他里面的程序是被厂家烧录进去的,所以只能读不能改

2、Cmos是微机主板上的一块可读写的RAM芯片,主要用来保存当前系统的硬件配置和操作人员对某些参数的设置.

3、透过bios 程序去加载cmos 的信息,并且藉由cmos内的设定值取得主机各硬件配置信息,如cup  ,接口设备的沟通频率开机装置的顺序,各个接口设备的I/O地址等.

4、获取这些信息之后,Bios 还会进行开机自我测试,然后开始执行硬件侦测的初始化,并设定pnp装置,之后再定义出开机的装置顺序,接下来就会开始进行开机装置的数据读取(MBR相关任务开始) (MBR  master boot record  主引导区)

5、由于系统软件大多都被放在硬盘上,所以Bios 会制定开机的装置好让我们可以读取磁盘中的操作系统核心档案。

6、由于不同操作系统的文件系统格式不同,因此我们必须要以一个开机管理程序来处理核心档案加载的问题,因此这个开机管理程序就被称为 boot loader !

7、这个boot  loader 就安装在第一个扇区(sector)内,也就是我们说的MBR( master  boot  record  住引导记录区)

8、每种操作系统的 boot  loader 都不同,这样的话Bios怎么读取 MBR中的内的boot loader那?

9、其实 BIOS是通过硬件的INT13中断功能来读取 MBR 中的内容,也就是说只要BIOS在硬件侦测的时候如果能够侦测到你的磁盘(不管是sata 还是ide接口)那就有办法透过INT 13 这条信道来读取该磁盘的第一个扇区你的MBR中的内容,这样的话 boot loader 也就能够被执行了!

四、Boot   loader  (引导装载程序)

1、Boot loader 的最主要功能就是要认识操作系统的文件格式,并加载选定的系统核心到住住存储器中去执行。

2、由于每一种操作系统的文件格式不同,所以每种操作系统都有自己的boot  loader

3、这样的话,当在一台机器上装多个操作系统怎么办因为MBR只有一个,而每种操作系统都有自己的boot  loader ,其实每个filesystem 或主分割槽都会留Boot   sector(引导扇区),来安装自己的boot  loader 所以可以安装多系统的问题也就解决了

4、boot  loader 的主要功能:

(1)、提供选单:  用户可以选择自己的开机项目,这也就是多重引导的重要功能。

(2)、载入核心档案: 直接指向可开机的程序区段,开始操作系统。

(3)、转交其他的boot loader  : 将开机管理功能转交给其他的boot  loader 负责。

** 由于具有选单功能因此我们可以选择不同的核心来开机

** 由于具有控制权转交的功能,因此我们可以加载其他boot  sector  内的 boot  loader !

5、当boot  loader  的管理开始读取核心档案后,接下来Linux 就会将核心解压缩到主存储器中,并且利用核心的功能,开始测试与驱动各个周边的装置 如存储装置, cpu, 网卡,声卡等。此时linux 核心会以自己的功能重新侦测硬件信息,而不一定会使用BIOS侦测到的信息,也就是说此时开始 加载进来的Linux 核心 接管了 BIOS的工作!

6、到此内存中已经加载了 kernel 并使用kernel 的功能来侦测硬件以及尝试挂在根目录取得额外的驱动程序,但是现在的内核不认识磁盘,没办法挂在根目录,所以也就没法读取 /lib.modules/内的驱动

7、内核不认识磁盘,那如何挂在跟目录,如何加载驱动,那就得借助 虚拟文件系统(也叫临时文件系统  initrd)来解决

8、虚拟文件系统的特色是,他能够通过 boot loader  加载到内存中, 然后这个档案会被解压并在内存中仿真成为一个根目录,且此仿真目录能够提供一支可执行的程序,透过这个程序来加载开机过程中所需要的模块,而通常这些模块就是 USB  RAID  SCSI 等文件系统与磁盘接口的驱动程序,等这些程序载入完毕后 会帮助核心重新呼叫 /sbin/init 来开始后续的正常开机流程。

9、到此kernel 加载了需要的驱动程序,因为有了驱动可以找到磁盘,所以就挂载了 根目录文件系统,并释放这个虚拟文件系统。

10、核心主动加载第一个用户级程序  /sbin/init

五、第一个用户级程序init ,及配置文件 /etc/inittab  以及运行等级 run level

1、在核心加载完毕,进行硬件信息这测与驱动程序加载之后,此时你的主机硬件应该已经准备就绪了,此时核心会主动的呼叫第一个用户级程序,那就是 /sbin/init  (init 被称为所有进行的祖进程,也是第一个启动的用户级进程)

2、 /sbin/ init  最主要的功能就是准备软件执行的环境,包括系统的主机名,网络设定,语系设置,系统文件格式及其他服务的启动, 而所有的动作都会透过 init 的配置文件及 /etc/inittab   来规划。

3、 /etc/inittab 中配置了系统的运行级别   , 这个档案的最下面 有 id : n : initdefault   这就是设置的系统运行级别

4、为何要设置系统的运行级别,这个有什么不同: linux藉由 设定的 run  level 来规划,系统使用不同的服务来启动,让linux 的使用环境不同,按照有无网络与有无 xwindow可分为 7 个等级

5、 run  level  运行级别

(0)、run level  0:  关机

(1) 、run level  1 : single mode 即单人维护模式,一般忘记 root的密码,系统有问题什么的使用这个模式

(2)、run level   2 :  without  NFS 即无NFS系统

(3)、run level  3:  完整含有网络功能的纯文本模式

(4)、run level  4:  系统保留

(5)、run level  5:  xwinods  与3 是类似的只是纯文本变为窗口模式

(6)、run level 6: 重启  reboot

6、启动时执行一次的文件,  /etc/rc.d/rc.sysinit   即系统的数据设定完成!

7、启动系统 服务与 启动配置文件  /etc/rc,d/rc n(你的系统级别,按照不同的级别启动不同的服务)   /etc/sysconfig

8、加载核心让整个系统准备接受指令来工作,在经过  /etc/rc.d/rc.sysinit  的系统模块与相关硬件信息的初始化,你的系统应该已经顺利工作了!

六、运行级别的切换

1、事实上不同的运行级别 只是加载的服务不同,,这里已 run  level 3  和  run  level 5  为列:  只是他们的   /etc/rc.3d  和  /etc/rc.5d  内的Sxxname  和  Kxxname 不同而已

2、先对比 /etc/rc.3d  和 /etc/rc.5d  内k 和 s开头的档案

3、在新的 run  level  内多的 K 都被关闭掉

4、在新的 run  level 内多的S 都被开启,而都存在的就不用管了。

ok  这样运行级别就转化过来了!

时间: 2024-10-11 22:03:49

Linux开机流程即运行级别的相关文章

linux的7种运行级别

Linux有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多用户状态(没有NFS)运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式运行级别4:系统未使用,保留运行级别5:X11控制台,登陆后进入图形GUI模式运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动 运行级别的原理:1.在目录/etc/rc.d/init.d下有

Linux系统的六种运行级别

Linux系统的六种运行级别 0:是关机状态 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭. 使用范围:密码丢失可以进入单用户级别找回密码  1:是单用户状态 root权限,用于系统维护,禁止远程登录,就像windows下的安全模式登录 使用范围:密码丢失可以进入单用户级别找回密码  2:多用户状态 没有NFC网络支持 Network File System(网络文件系统) NFS 是由SUN公司发展, 并於1984年推出, NFS是一个RPCservice (RPC服

Linux开机流程一览

Linux开机流程一览 开机总体流程: 1.BIOS:加载BIOS的硬件信息并进行自我测试,依据设置取得第一个可开机的装置 2.MBR:读取并执行第一个boot loader 3.grub:读取/boot/grub识别系统文件 4.kernel:加载核心文件,加载完成后启动/sbin/init 5.init:启动init程序,完成后等待用户登陆 6.bash:用户登陆 总体流程图 init步详细介绍图

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开机流程、模块管理与Loader

1.系统开机过程: 1)加载BIOS的硬件信息与进行自我测试,并依据设定取得第一个可开机的装置 2)读取并执行第一个开机装置内MBR的boot Loader(亦即grub,spfdisk等程序) 3)依据boot loader的设定加载Kernel,Kernerl会开始侦测硬件信息与加载驱动程序 4)在硬件驱动成功之后,Kernel会主动呼叫init程序.而init会取得run-level信息 5)init执行/etc/rc.d/rc.sysinit档案来准备软件执行的作业环境(如网络,时区等)

Linux 开机流程详解

对于任何系统, 开机不仅仅是接通电源这么简单的事情, 在这短短的几秒或几十秒内将会发生许多事情, 了解这个完整的流程将是解决任何开机问题或提高开机速度的前提. 接下来, 我们就详细了解一下Linux的开机流程: 1. 加载 BIOS 的硬件信息并进行自我测试,并依据取得第一个可开机的装置; 2. 读取并执行第一个开机装置内 MBR 的 Boot Loader (如 grub, spfdisk 等程序); 3. 依据 Boot Loader 的设定加载 kernel, kernel 会开始侦测硬件

Linux的七个运行级别原理概述

所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/ect/rc.d目录下的文件. 一.Linux的运行级别: Linux下的7个运行级别: 0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭. 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录. 2:多用户状态,没有

linux开机流程、模块管理与Loader(再续)

1./etc/sysconfig/目录简介: 1)authconfig:这个档案主要在规范使用者的身份认证机制,包括是否使用本机/etc/passwd,/etc/shadow密码记录使用何种加密算法,还有是否使用外部密码服务器提供的账号验证等,以及/etc/shadow密码记录使用何种加密算法,还有是否使用外部密码服务器提供的账号验证(NIS,LDAP)等.系统默认使用MD5加密算法,并且不使用外部身份验证机制 2)clock:设定linux主机的时区,基本上,在clock档案内的设定项目ZON

linux开机流程详解

Linux操作系统的开机流程详解 开机需要十步 第一步:开机自检(BIOS)就是开始工作之前先对自己的工具进行检查是否正常,如果正常那就可以进行接下来的步骤假如步正常就得检测哪里的问题进行处理.BIOS其实就是主板上的一给自检程序,开机先对主板上自带的和外接的一些开机必备的设备进行检测,像CPU,显卡,内存,硬盘等设备的自检过程就是自检 第二步:MBR引导,也就是根据装有linux系统的硬盘上的主引导区的记录进行引导,主引导记录处在硬盘上的第一给物理分区上,硬盘能够读取到数据也就是靠的这个最主要