0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加载BIOS系统控制的流程

lhl545545 来源:Linux爱好者 作者:Linux爱好者 2020-06-05 12:52 次阅读

一、Linux开机流程:

加载BIOS系统控制的流程

BIOS

(Basic Input Output System)基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片 上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,可从CMOS中读写系统设置的具体信息

MBR: Master Boot Record,主要引导记录区。

Boot Loader:启动引导程序。

二、详细流程

第一步:加载BIOS

打开计算机电源,计算机硬件会自动加载BIOS,读取BIOS内相关硬件信息及进行硬件系统的自检,随后根据BIOS配置找到第一个有引导程序的的设备。

第二步:读取MBR

硬盘上第0磁道第一个扇区被称为MBR,即主引导记录,大小是512字节,存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘的MBR后,就会将其复制到物理内存中,被复制到物理内存的内容就是Boot Loader(lilo或者grub)。

第三步:启动Boot Loader

Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。

Boot Loader有若干种,其中Grub、Lilo是常见的Loader。

本文以Grub为例讲解,grub功能:提供一个菜单,允许用户选择要启动的系统或不同的内核版本;把用户选定的内核装载到RAM中的特定空间中,解压、展开。

系统读取内存中的grub配置信息(一般为menu.lst或grub.conf),并依照此配置信息来加载指定内核。

加载BIOS系统控制的流程

第四步:加载内核

grub把系统控制权移交给内核,内核开始探测可识别到的所有硬件设备及尝试挂载根目录以获取其驱动程序。此时就需要首先加载磁盘驱动程序以便读取磁盘,而磁盘驱动程序又保存在磁盘内,这样就会导致linux无法启动。此时需要通过伪文件系统来解决这一问题。

虚拟文件系统 (Initial RAM Disk) 即/boot/initramfs-release.img ,这个文件的特色是,能够通过boot loader 来加载到内存中, 然后这个文件会被解压缩并且在内存当中模拟成一个根目录,且此模拟在内存当中的文件系统能够提供一支可运行的程序,透过该程序来加载启动过程中所最需要的核心模块,通常这些模块就是 U盘, RAID, LVM, SCSI 等文件系统与磁盘的驱动程序。等加载完成后, 会帮助核心重新呼叫 /sbin/init 来开始后续的正常启动流程。

注:RamDisk是辅助性文件,并非必须,取决于内核是否能直接驱动根文件系统所在的设备。

加载BIOS系统控制的流程

第五步:运行/sbin/init程序,设定linux的运行等级

内核加载完毕后,运行用户空间内第一个应用程序就是/sbin/init,然后读取/etc/inttab文件,依据文件配置设定系统运行等级;

加载BIOS系统控制的流程

第六步:init进程执行rc.sysinit

设定了运行等级后,Linux系统执行/etc/rc.d/rc.sysinit系统初始化脚本程序。初始化包括:设置主机名、设置欢迎信息、激活Udex和seliux、挂载/etc/fstab文件中定义的所有文件系统、检测根文件系统、设置系统时钟、根据/etc/sysctl.conf文件来设置内核参数、激活LVM及软RAID设备、激活swap设备、加载额外设备的驱动程序、执行清理操作。

第七步:启动内核模块

具体是依据/etc/sysconfig/modules文件目录下的文件来装载内核模块。

第八步:执行 run-level 的各个服务启动 (script 方式)

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

加载BIOS系统控制的流程

第九步:执行/etc/rc.d/rc.local

rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

加载BIOS系统控制的流程

第十步:执行/bin/login程序,进入登录状态

Linux 就会启动终端机或者是 X Window 来等待使用者登陆。

加载BIOS系统控制的流程

责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • BIOS
    +关注

    关注

    5

    文章

    455

    浏览量

    44990
  • 设备
    +关注

    关注

    2

    文章

    4169

    浏览量

    69209
收藏 人收藏

    评论

    相关推荐

    支持4位、6位或8位VID的数字PWM系统控制器UCD9244数据表

    电子发烧友网站提供《支持4位、6位或8位VID的数字PWM系统控制器UCD9244数据表.pdf》资料免费下载
    发表于 04-03 15:09 0次下载
    支持4位、6位或8位VID的数字PWM<b class='flag-5'>系统控制</b>器UCD9244数据表

    研讯科技:研华工控机如何进入BIOS?研华工控进bios按键

    在工业自动化和控制系统中,研华工控机以其稳定性、可靠性和强大的性能而受到青睐。然而,无论是进行系统维护还是更新固件,了解如何进入BIOS设置是至关重要的。本文苏州研讯电子科技有限公司将详细介绍研华工
    的头像 发表于 03-05 10:33 565次阅读
    研讯科技:研华工控机如何进入<b class='flag-5'>BIOS</b>?研华工控进<b class='flag-5'>bios</b>按键

    Rockchip 3588 系统启动流程

    是指电子设备从断电到正常运行的整个过程。Rockchip 3588的系统启动流程包括硬件初始化、引导加载、启动内核和用户空间初始化等多个阶段。下面,我们将逐一介绍这些阶段的具体过程。 1.硬件初始化阶段 硬件初始化阶段是指在设备
    的头像 发表于 01-07 16:08 533次阅读

    linux驱动程序的主要流程和功能

    介绍Linux驱动程序的主要流程和功能。 一、驱动程序的加载和初始化 Linux系统在启动过程中,会自动加载已安装的设备驱动程序。加载驱动程
    的头像 发表于 12-08 14:56 769次阅读

    飞控系统控制信号与图像回传信号如何减少干扰?

    飞控系统控制信号与图像回传都是采用的2.4G信号,如何减少干扰?已经尝试使用不同信道,但是距离远时发现控制信号有漂移,应该还是有干扰
    发表于 11-09 06:46

    基于DSP/BIOS多线程的小型组合导航系统设计

    电子发烧友网站提供《基于DSP/BIOS多线程的小型组合导航系统设计.pdf》资料免费下载
    发表于 11-08 10:07 0次下载
    基于DSP/<b class='flag-5'>BIOS</b>多线程的小型组合导航<b class='flag-5'>系统</b>设计

    如何把文件系统烧到EMMC并从EMMC加载

    如何下载并从SD卡加载文件系统,提到过可以从EMMC引导系统,本篇将为您介绍如何把文件系统烧到EMMC,并从EMMC加载
    的头像 发表于 10-30 16:06 1402次阅读
    如何把文件<b class='flag-5'>系统</b>烧到EMMC并从EMMC<b class='flag-5'>加载</b>

    车规MCU的启动加载程序是什么

    启动加载程序(bootloader) 车规MCU的启动加载程序(bootloader)是一种用于在汽车电子控制单元(ECU)上加载和更新应用程序的软件。它具有以下主要功能和实现要点:
    的头像 发表于 10-27 17:26 1082次阅读

    嵌入式Linux学习-BIOS和Boot loader详解笔记

    为桌面计算机拥电后,一种叫作BIOS的软件系统会立即接管对系统处理器的控制.
    的头像 发表于 10-27 14:20 722次阅读
    嵌入式Linux学习-<b class='flag-5'>BIOS</b>和Boot loader详解笔记

    基于ARM和DSP的VoIP网关的系统控制模块设计与实现

    电子发烧友网站提供《基于ARM和DSP的VoIP网关的系统控制模块设计与实现.pdf》资料免费下载
    发表于 10-12 09:44 0次下载
    基于ARM和DSP的VoIP网关的<b class='flag-5'>系统控制</b>模块设计与实现

    基于单片机控制的小车平衡系统控制

    电子发烧友网站提供《基于单片机控制的小车平衡系统控制.pdf》资料免费下载
    发表于 10-09 16:20 0次下载
    基于单片机<b class='flag-5'>控制</b>的小车平衡<b class='flag-5'>系统控制</b>

    Arm®系统控制和管理接口平台设计文档

    本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。
    发表于 08-02 10:25

    SPI子系统driver软件流程

    软件流程 看懂该图,对SPI 驱动框架就有完整的了解了。 1、2、3 按顺执行,首先有 spi 总线的注册,然后是 spi 控制器驱动加载,然后是设备驱动加载。 区别在于,spi
    的头像 发表于 07-25 11:01 474次阅读
    SPI子<b class='flag-5'>系统</b>driver软件<b class='flag-5'>流程</b>

    SpringBoot的嵌入式Web容器是什么时候加载的?

    背景:最近有位开发同学说面试被问到Spring Boot 的启动流程,以及被问到Spring Boot 的嵌入式Web容器是什么时候加载的。如何加载的。是怎么无缝切换的。
    的头像 发表于 07-11 10:10 327次阅读
    SpringBoot的嵌入式Web容器是什么时候<b class='flag-5'>加载</b>的?

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:系统控制和外围设备

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:系统控制和外围设备
    发表于 07-03 19:45 0次下载
    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:<b class='flag-5'>系统控制</b>和外围设备