以linux为例讲计算机启动流程

本文详细介绍了计算机启动的全过程,包括计算机板载启动和操作系统启动两大阶段。解释了BIOS的基本功能及其在硬件自检中的作用,主引导记录MBR如何确定启动分区,以及操作系统加载过程中的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机启动流程大概分为两个阶段:一是计算机板载启动,二是操作系统启动。整个过程大致如下:
通电–>>BOIS–>>主引导记录

–>>(操作系统)

前三步在于硬件及相关程序

  • BIOS->控制权移交

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

    BIOS首先会对硬件进行检查,判断计算机硬件是否满足要求,即所谓“硬件自检”(Power-On Self-Test,POST)过程。

    在完成POST自检后,ROM BIOS将按照系统CMOS设置中的启动顺序搜寻软硬盘驱动器及CDROM、网络服务器等有效的启动驱动器 ,完成一系列外设初始化,并从软盘或硬盘的开始扇区读作系统引导记录,然后将系统控制权交给主引导记录。

    此外,BIOS还会以及提供外设相关的程序服务、硬件中断等服务。

  • 主分区引导记录MBR->控制权移交

    系统读取位列第一的可启动存储设备。计算机先读取该设备的第一个0.5KB的扇区——主引导记录”(Master boot record,MBR),它主要告诉计算机从该设备的哪一个分区来装载引导加载程序(boot loader)。

  • 活动分区启动管理器(boot loader(和grub))。

    此时它寻找boot文件中的BCD files(BCD files contain the boot configuration data )->dispaly the start screen and its(multiple) operatting system。当有多个操作系统时,每个操作系统都有自己对应的boot loader。我们可以通过 boot loader加载grub, 在这个过程中主要靠Grub的引导开始的,在这个过程中主要靠Grub的引导开始的,Grub分为两个阶段:stage1:Boot loader 加载所有配置档与相关的环境参数文件;stage2:使用/boot/grub 来进行grub引导,加载内,stage2在下节叙述。

操作系统部分

  • (选择好操作系统后),比如linux,boot loader 会读取/boot下其他文件,帮助我们加载内核;内核加载好后,就会开始检测硬件与加载驱动程序,并再次检测一遍硬件,此时内核接管整个计算机。

/boot下的内核文件,此时操作系统接管,linux读取文件顺序为:

  • 1.加载linux 内核后,开始运行程序 /sbin/init(PID 为1),它的作用是初始化系统环境。

  • 2.init读取/etc/inittab,它用于设置运行级别,如打开第一行是:

    id:2:initdefault:

    运行级别为2。每个运行级别都有对应需要加载的程序。每个运行级别在/etc目录下面,都有一个对应的子目录,指定要加载的程序。

    一般情况下,依据有无网络与有无 X Window ,Linux 将 run level 划分为7个等级(0-6)。其中0是关机,1是单用户模式,6是重启。而 2-5,一般来说都是多用户模式。

  • 3.执行“/etc/rcX.d/”目录下的启动脚本,然后是“/etc/rcN.d/”目录。X代表运行级别。例如设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/。设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络……

根据“/etc/rcS.d/”文件夹中对应的脚本启动
(3)启动登录管理器,等待用户登录

其他:

如windows,操作系统部分,此时就会把把控制权移交给winload.exe
加载windows内核;
等待用户登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值