我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统启动的引导流程是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统启动的引导流程是什么

本篇内容介绍了“Linux系统启动的引导流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  LINUX是自由开源软件,在LINUX里一切都是文件,不管是命令,操作等等都是以文件形式保存,这篇博客来记录LINUX启动时的引导流程是通过哪写文件来完成的.
     使用的LINUX版本是CentOS5,CentOS和Ubuntu都是自己联系使用时的较理想版本.
     下面以CentOS5.5版本为例,介绍LINUX的引导流程,具体流程如下:
Linux系统启动的引导流程是什么

下面详细介绍每一步:
 
    1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。例如检查硬盘是否插好等。
    2)第二步读取硬盘中MBR的BootLoader,自启动程序,Linux下常用的自启动程序是GRUB。这一步主要的功能是载入内核。内核存放在/boot目录下
   3)第三步就是载入的内核Kernel的过程,
        主要功能是:1、驱动硬件,Kernel中含有大量驱动程序。2、启动init进程。
    4)init进程,主要是读取/etc/inittab文件,执行缺省运行级别,从而继续引导。需要注意的是init京城的PID恒为1,是所有进程的父进程,而init进程的负景程是0,为内核调度器Kernel scheduler。
    5)/etc/inittab 定义了初始化的操作。
Linux系统启动的引导流程是什么

命令主要格式是:id: runlevels : action : process
    其中,如上图红框中所示
    1、run-levels运行级别有7个,0—6分别如下:
   0 —— halt 关机
   1 —— Single user mode 单用户模式
   2 —— Multiuser,withoutNFS 多用户模式但不带网络(text模式)
   3 —— Full multiuser mode 完整功能的多用户模式(text模式)
   4 —— unused 预留
   5 —— X11 图形化多用户模式
   6 —— reboot 重启
可以根据这7个运行级别来进行切换
命令为:查看当前运行级别 #runlevel、 切换运行级别 #init[0 |1 |2 |3 |4 |5 |6]
     2、而acion中也有几个比较重要的取值:
   1 initdefault:指定系统缺省启动的运行级别,如上图中标出,通常用于修复,比如我们要进入单用户模式,则可以将其设置为1,不可将默认设置为0或6,否则无法启动.
 
   2sysinit:系统启动执行process中指定的命令
Linux系统启动的引导流程是什么

由inittab文件内容可以看出,没有设置运行级别,即为无论是哪个运行级别,都会执行/etc/rc.d/rc.sysinit

   6)initdefault,如第五步所说到的,主要是读取/etc/inittab中的信息,判断缺省的运行级别是什么。
    7)/etc/rc.d/rc.sysinit
    在inittab文件中运行到第21行,变是启动这个脚本。完成系统服务程序的启动,如系统环境变量的设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。由于是基础服务,因为其run-level设置为空::即任何级别,action设置为sysinit。即该脚本在任何运行级别下都要启动,以完成基础服务的启动
   8)基础服务启动后,会执行/etc/rc.d/rc这个脚本
    加载完基础服务后,就要根据不同的运行级别去启动相对应的下的目录,它的工作原理是先去判断系统的默认运行级别即第6步中的东西,然后再执行相应的rcN.d目录下的服务启动脚本如图
Linux系统启动的引导流程是什么

 9)执行/etc/rc.d/rcN.d目录下的服务启动脚本

    看下该目录下的内容:
Linux系统启动的引导流程是什么

 其中S表示要启动的脚本,K表示要关闭的脚本
    数字表示启动顺序,数值小的优先.主要是对一些服务的管理
    在这一步里,需要说明一下/etc/rc.d/init.d这个目录,这个目录里放的脚本是真正的脚本,而rcN.d里放置的都是init.d目录里的软连接,也就是说所有rcN.d里的文件最终都需要来init.d里找真正的脚本
 看一下具体细节:
Linux系统启动的引导流程是什么

Linux系统启动的引导流程是什么

执行到这一步,界面就会提示输入用户名和密码了,也就是说系统已经起来了,输入用户名和密码的过程后面再说,这次的引导流程就结束了
   
    最后需要说明的是,LINUX的引导流程的思想大致相同,但细节因为版本的问题,在配置文件的名字或者是位置都不尽相同,此次我用的是CentOS版本,而Ubuntu版本是没有inittab文件和grup.conf文件的,所以如果有兴趣,大家可以按照这种思路去探索探索.

PS:关于GRUB
GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

GNU GRUB的前身为Grand Unified Bootloader。它主要用于类Unix系统;同大多Linux发行版一样,GNU系统也采用GNU GRUB作为它的启动器。Solaris从10 1/06版开始在x86系统上也采用GNU GRUB作为启动器。

GRUB可动态配置;它在启动时加载配置信息,并允许在启动时修改,如选择不同的内核和initrd。为此目的,GRUB提供了一个简单的类似Bash的命令行界面,它允许用户编写新的启动顺序。

GRUB非常轻便。它支持多种可执行格式;它除了可适用于支持多启动的操作系统外,还通过链式启动功能支持诸如Windows和OS/2之类的不支持多启动的操作系统。GRUB支持所有的Unix文件系统,也支持Windows适用的FAT和NTFS文件系统,还支持LBA模式。GRUB允许用户查看它支持的文件系统里文件的内容。

GRUB具有多种用户界面。多数Linux发行版利用GRUB对图形界面的支持,提供了定制的带有背景图案的启动菜单,有时也支持鼠标。通过对GRUB的文字界面的设定,可以通过串口实现远程终端启动。

GRUB可以从网络上下载操作系统镜像,因此可以支持无盘系统。GRUB支持在启动操作系统前解压它的镜像。

与其它启动器不同,GRUB可以通过GRUB提示符直接与用户进行交互。载入操作系统前,在GRUB文本模式屏幕下键入c键可以进入GRUB命令行。在没有作业系统或者有作业系统而没有"menu.lst"文件的系统上,同样可以进入GRUB提示符。通过类似bash的命令,GRUB提示符允许用户手工启动任何操作系统。把合适的命令记录在"menu.lst"文件里,可以自动启动一个操作系统。

GRUB拥有丰富的终端命令,在命令行下使用这些命令,用户可以查看硬盘分区的细节,修改分区设置,临时重新映射磁盘顺序,从任何用户定义的配置文件启动,以及查看GRUB所支持的文件系统上的其它启动器的配置。因此,即便不知道一台电脑上安装了什么,也可以从外部设备启动一个操作系统。

GRUB采用滚动屏幕选择想要启动的操作系统。通过向"menu.lst"文件中添加相关信息,GRUB可以控制150或者更多的启动选项,在启动时用方向键进行选择。

通过链式启动,一个启动器可以启动另一个启动器。GRUB通过2到3行的命令就可以从DOS、Windows、Linux、BSD和Solaris系统启动。

尽管GRUB为类Unix系统进行了编译和打包,但也有供DOS和Windows使用的GRUB。GRUB也可以不附带任何操作系统而作为孤立系统安装。从CD上启动时运用GRUB需要1个文件,而从软盘、硬盘和USB设备上启动时需要2个文件。这些文件可以在任何支持GRUB的Linux CD上找到,用户可以很容易的找到它们。

“Linux系统启动的引导流程是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统启动的引导流程是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统启动的引导流程是什么

本篇内容介绍了“Linux系统启动的引导流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! LINUX是自由开源软件,在LINUX里
2023-06-12

启动CentOS系统的流程是什么

本篇内容主要讲解“启动CentOS系统的流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“启动CentOS系统的流程是什么”吧!当我们按下开机键后,系统背后的秘密我们是否了解呢?这里,我带
2023-06-10

Linux系统启动流程是怎么样的

这篇文章主要为大家展示了“Linux系统启动流程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统启动流程是怎么样的”这篇文章吧。linux启动时我们会看到许多启动信息,Li
2023-06-27

Linux操作系统启动流程是怎么样的

这篇文章主要为大家展示了“Linux操作系统启动流程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux操作系统启动流程是怎么样的”这篇文章吧。Linux操作系统启动流程02 Ce
2023-06-15

Android系统启动流程的重要性是什么

Android系统启动流程的重要性在于确保系统能够正常启动并运行。启动流程包括各个组件的初始化、资源加载、服务启动等步骤,这些步骤的顺序和正确执行对于系统的稳定性和性能至关重要。重要性体现在以下几个方面:1. 系统稳定性:启动流程的正确执行
2023-10-11

Linux开机启动的流程是什么

这篇文章主要讲解了“Linux开机启动的流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux开机启动的流程是什么”吧!Linux开机分为以下6个步骤,分别是BIOS, MBR,
2023-06-27

win11引导程序启动方式是什么

Windows 11引导程序的启动方式与Windows 10相似。以下是Windows 11引导程序的启动方式:1. 关机状态下,按下电源按钮启动计算机。2. 当计算机开始启动时,按下DEL、F2、F10或ESC键(具体键可能因计算机品牌和
2023-09-15

CentOS系统启动流程是怎样的

这篇文章给大家介绍CentOS系统启动流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. CentOS5POST开机自检运行CMOS中的BIOS程序,加载第一个启动磁盘的Bootloader由Bootloa
2023-06-28

Linux系统启动过程是怎么样的

小编给大家分享一下Linux系统启动过程是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多;一
2023-06-28

android启动流程是什么

Android启动流程是指从手机开机到系统完全启动的过程。具体的流程如下:1. 电源按下:当用户按下电源键时,电源管理芯片会向处理器发送一个启动信号。2. 启动引导加载程序(Bootloader):处理器接收到启动信号后,会从内存中的固定地
2023-10-11

linux系统安装流程是什么

Linux系统安装流程可以大致分为以下几个步骤:1. 准备安装介质:下载所需的Linux发行版的ISO镜像文件,并将其刻录到光盘或制作成USB启动盘。2. 启动计算机:将安装介质插入计算机,并从其启动。进入BIOS设置界面,将启动顺序设置为
2023-09-27

Linux操作系统引导的过程是怎么样的

Linux操作系统引导的过程是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 前言我们将回顾Linux操作系统中的引导过程。操作系统如何通过不同的启动状态阶段。了解
2023-06-16

springboot启动流程是什么

Spring Boot 启动流程如下:1. 初始化应用程序上下文:Spring Boot 应用程序启动时,首先会创建一个 Spring 应用程序上下文(ApplicationContext)对象。该上下文对象是整个应用程序的核心,它包含了应
2023-05-17

activity启动流程是什么

Activity启动流程是指在Android应用中启动Activity的一系列操作。它包括以下步骤:1. 调用startActivity()方法:通过调用startActivity()方法,向系统发出启动Activity的请求。2. 系统检
2023-09-11

Linux系统启动Redis的方法是什么呢

Linux系统启动Redis的方法是什么呢,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis是一个高性能的的字典数据库,他的出现解决了memcached和keyval
2023-06-28

Linux系统启动过程是怎样的

今天就跟大家聊聊有关Linux系统启动过程是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第三部分:系统初始化在init的配置文件中有这么一行:si::sysinit:/etc
2023-06-16

Go程序的启动流程是什么

这篇文章主要讲解了“Go程序的启动流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go程序的启动流程是什么”吧!Go 引导阶段查找入口首先编译上文提到的示例程序:$ GOFLAGS=
2023-06-15

编程热搜

目录