linux 软盘引导过程,Linux启动过程的几个阶段

本文最后更新于2017年7月29日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

之前有学习、整理过相关的知识,虽然说现在基本上天天都在和Linux打交道,不过后来没有专门研究过那些知识,再加上时间一长一些细节性的内容也记不清楚了,所以想在博客里面再总结、记录一下,方便以后参考。

正文:

参考解答:

在thegeekstuff.com里对Linux的启动过程有一个描述,是基于SysV init的,虽然现在的CentOS 7都开始使用systemd替代init了,但大体内容和顺序大同小异,值得学习、参考:

e69631fc9704ee1005b784a327c9d44d.png

BIOS #基本输入输出系统

进行一些系统完整性检查(开机自检——Power-On Self-Test);

搜索、加载、执行 boot loader 程序;(一般的查找顺序是floppy软盘、cd-rom光盘、hard-drive硬盘,你可以通过在启动的时候按F12键修改查找顺序)(一旦boot loader程序已经被检测到并加载进内存后BIOS就会将控制权移交给MBR)

总的来说,BIOS主要是起加载和执行MBR boot loader的作用;

MBR #主引导记录

MBR一般位于可引导磁盘的第一个扇区中,比较典型的是/dev/hda或/dev/sda;

MBR大小一般为512字节,有3个组成部分:前446字节表示主引导程序信息/结构,接下来的64字节表示分区表信息,最后2字节表示MBR的合法性检查信息;

它会包含和GRUB相关的信息(在比较老的系统上是LILO);

总的来说,MBR主要是起加载和执行GRUB boot loader的作用;

GRUB #引导程序(Grand Unified Bootloader)

如果在你的系统上有多个内核镜像,你可以通过GRUB选择一个来执行,如果不指定,它就会加载一个默认的内核镜像;

总的来说,GRUB主要是起加载和执行Kernel和initrd镜像的作用;

Kernel #内核

挂载在grub.conf中根据「root=」指定的根文件系统;

执行/sbin/init程序;

initrd指的是Initial RAM Disk;在根文件系统被挂载到真正的磁盘上之前,initrd被内核用作临时的根文件系统;

Init #超级进程

根据/etc/inittab文件的内容决定Linux的运行级别;

Runlevel #运行级别/模式

根据实际的运行级别决定执行/etc/rc.d/rc*.d/目录下的哪些文件;

参考链接:

=END=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值