Linux 开机流程详解

对于任何系统, 开机不仅仅是接通电源这么简单的事情, 在这短短的几秒或几十秒内将会发生许多事情, 了解这个完整的流程将是解决任何开机问题或提高开机速度的前提. 接下来, 我们就详细了解一下Linux的开机流程: 

1. 加载 BIOS 的硬件信息并进行自我测试,并依据取得第一个可开机的装置;
2. 读取并执行第一个开机装置内 MBR 的 Boot Loader (如 grub, 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 程序,最后用户就可以登陆了;

接下来对以上步骤进行详细的讲述:
1. 加载 BIOS 的硬件信息并进行自我测试,并依据取得第一个可开机的装置;
在X86平台下,如果像让系统跑起来,就必须首先让系统去加载BOIS, 并通过BOIS程序去加载CMOS信息. 通过CMOS内的设置定取得主机的各项硬件配置: 例如 CPU 与接口设备的沟通频率、开机装置的搜寻顺序、硬盘的大小与类型啊、 系统时间、各周边总线的是否启动 Plug and Play (PnP, 即
插即用装置) 、 各接口设备的 I/O 地址、以及与 CPU 沟通的 IRQ 岔断等等的信息。
在这里我们有必要了解BOIS和CMOS的概念:
BOIS: 基本输入输出(Basic Input Output System). 其内容集成在主板上的一个ROM芯片上,主要保存系统最重要的基本输入输出程序, 包括:终端服务程序, 系统设置程序, 开机上电自检程序和系统启动自举程序.

CMOS: 互补金属氧化物半导体存储器(Complementary Metal Oxide Semiconductor). 是主板上一块可读写的RAM芯片,主要用拿过来保存当前系统的硬件配置和操作者对某些参数的设定(通俗的来说,就保存了你的电脑的硬件配置信息和你对自己电脑的参数设置等信息). CMOS RAM芯片由系统通过一块后备电池供电, 因此无论在关机状态, 还是遇到系统掉电情况,CMOS信息都不会丢失.(这也是放电破解开机密码的原理^-^)

BOIS和CMOS的联系:
CMOS是存放BOIS设定系统参数的介质, BOIS是修改CMOS的手段.

接着上面的内容继续介绍, BOIS加载CMOS信息后, 开始进行开机自检, 然后开始执行硬件的初始化, 并设定PnP, 之后再定义开机的装置顺序, 接下来就从指定的开机装置中读取数据. 至此,第一步就已完成.

2. 读取并执行第一个开机装置内 MBR 的 Boot Loader (如 grub, spfdisk 等程序);
第一步完成后, 此时系统开始从第一个开机装置中读取MRB, 并执行Boot Loader.在此,我们简单解释一下MBR和Boot Loader的概念:
MRB: 主引导记录区(Master Boot Record). 位于整个硬盘的0磁道0柱面1扇区. 不过在总共512字节的主引导扇区中, MBR只占用起其中446字节, 另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),最后两个字节“55, AA”是分区的结束标志。这个整
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值