鸟哥的Linux私房菜(一)——Linux命令基础学习

秋招结束,lZ打算将两个月的学习总结一下,故开始用博客记录一路的学习内容。《鸟哥的Linux私房菜》学习总结。


Linux系统启动过程分析

简单地说,整个开机流程到操作系统之前经过的步骤:

按下电源——BIOS自检——MBR——引导加载程序(Boot  Loader)——启动内核文件——初始化系统

1、基本输入输出系统BIOS(Basic Input Output System)

      BIOS是一组固化到计算机主板上的一个ROM芯片上的程序,开机主动执行的程序,会认识第一个可开机的设备。

1)BIOS首先对系统硬件进行检测(上电自检),自检过程为:

加电——CPU——ROM——BIOS——System clock——DMA——RAM——IRQ——显卡等

2)BIOS调用设备自身ROM中的初始化代码,对设备进行初始化。

3)BIOS根据COMS中设置的启动顺序,依次启动。当启动设备是硬盘时,BIOS把系统控制权交给硬盘MBR中的bootloader。

(CMOS是记录各项硬件参数且嵌入到主板上面的存储器)

2、主引导记录MBR(Master Boot  Record)

磁盘的第一个扇区主要记录了两个重要的信息,分别是主引导分区分区表。

MBR结构图:

446BBootLoader(主引导程序)
64B分区表DPT
2B有效标志

大多数Linux系统用grub作为Bootloader(引导程序),grub可以引导多种操作系统,识别磁盘文件系统的格式,通过/boot/grub/grub.conf文件来配置信息。

grub引导分为stage1和stage2两个阶段:

1)stage1的代码保存在MBR中的前446B,BIOS将stage1载入内存并跳转执行,stage1的任务仅将硬盘0头0道2扇区读入内存。

2)stage2读取/boot/grub/grub.conf文件,决定如何加载内核。

3、引导加载程序(Boot  Loader)

一支可读取内核文件来执行的软件,它的主要任务:

1)提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能。

2)载入内核文件:直接指向可开机的程序区段来开始操作系统

3)转交其他loader:将引导加载功能转交给其他loader负责

4、启动内核文件(Kernel)

stage2被载入内存执行,解析grub.conf文件,然后加载内核镜像到内存中,并将控制权转交给内核,

内核初始化系统中的各设备并做相应配置工作。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值