Linux启动流程分析

Linux系统从启动到提供服务的过程是这样,先是机器加电,然后通过MBR或者UEFI加载GRUB,再启动内核,内核启动服务,然后开始对外服务。

步骤:

  1. 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备(比如硬盘);
  2. 读取并执行第一个开机装置内MBR 的boot Loader (即grub2, spfdisk 等程序);
  3. 依据boot loader 的设置加载Kernel ,Kernel 会开始检测硬件与加载驱动程序;
  4. 在硬件驱动成功后,Kernel 会主动调用init进程,而init会取得run-level信息;
  5. init 执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络、时区);
  6. init 执行run-level的各个服务的启动(script方式);
  7. init 执行/etc/rc.d/rc.local 文件;
  8. init 执行终端机模拟程序mingetty来启动login进程,最后就等待用户登录。

下面详细介绍每一步程序。

BIOS和MBR都是硬件本身会支持的功能,Boot Loader则是操作系统安装在MBR上面的一套软件
BIOS:

写入到主板上的一个韧体(即写入到硬件上的一个软件程序),开机时计算机主动执行;功能:加载CMOS的信息,并通过CMOS内的设置值取得主机的各项硬件配置,然后进行开机自检,开始执行硬件检测的初始化,并配置PnP设备,并且根据用户的设置去取得能够开机的存储设备,读取并执行里面的第一个扇区的MBR位置。

MBR:

每块硬盘的第一个扇区内含有446B的MBR区域,称为主引导分区,内含引导加载程序

boot loader主要的功能如下:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值