CentOS 系统启动流程[转载]

Linux(CentOS)系统启动过程大致按照如下顺序:

POST –> BootSequence(BIOS) –>Bootloader(MBR) –>Kernel(ramdisk)–>rootfs(readonly)–>switchroot–>/sbin/init(设置默认运行级别–>运行系统初始化脚本,完成系统初始化–>关闭对应级别下需要停止的服务,启动对应级别下需要开启的服务–>设置登陆终端[启动图形界面])

1)加电自检(POST),BIOS启动引导阶段;

     在该过程中实现硬件的初始化以及查找启动介质;

     从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理;

     MBR才512bytes,所以现在很多都用UEFI,GPT方式咯

2)GRUB(Grand Uniform Bootloader)启动引导阶段;

   功能:提供一个菜单,允许用户要选择启动的不同系统或内核版本,把其内核加载到RAM中的特定空间,解压、展开,让后控制权移交给kernel

     装载stage1

     装载stage1.5

     装载stage2(因为MBR很小,所以这里没有限制哦)

     读取/boot/grub.conf文件并显示启动菜单;

     装载所选的kernel和initrd文件到内存中

  PS:LILO:支持柱面1024,现在基本都用在android手机,不用再PC机了

3)内核阶段:

    探测可识别到所有硬件设备

    加载各种硬件驱动程序;(有可能会借助于randisk加载驱动)

    以只读方式挂载根文件系统

    运行用户空间的第一个应用程序:/sbin/init

 ps: ramdisk:Linux 内核特性之一:使用缓冲和缓存来加速对磁盘上的文件访问:

ramdisk –> ramfs

initramfs — dracut,mkinitrd (CenetOS6,7

4)init用户空间初始化阶段:

     启动/sbin/init程序;

     运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统;

     读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定义的不同运行级别的服务初始化脚本;

     打开字符终端1-6号控制台/打开图形显示管理,设置登录

   

  init程序:

CentOS 5 : /ect/inittab

CentOS 6 :Upstart

  /etc/inittab:这个文件已废

  /etc/init/*.conf,

CentOS 7 : systemd

  配置文件:/usr/lib/systemd/system/, /etc/systemd/system/

CentOS 系统启动流程[转载]

http://1992tao.blog.51cto.com/11606804/1852322 

原创文章,作者:不忘初衷,如若转载,请注明出处:http://www.178linux.com/67262

(0)
不忘初衷不忘初衷
上一篇 2017-01-27 15:13
下一篇 2017-01-30 11:22

相关推荐

  • wk_04作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r  /etc/skel/ /home/tuser1 # chmod 700 /home/tuser1 2、编辑/etc/group…

    Linux干货 2016-12-27
  • Gitlab代码管理仓库安装部署

    GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查…

    2016-07-26
  • Linux 文本处理,文本工具,查看,分析,统计文本文件,grep,正则表达式

    文本处理 各种文本工具,查看,分析,统计文本文件 grep 正则表达式 扩展正则表达式 sed cat -n f1 加行号(空格行都计算) cat -b f1 加行号(只计算有字符的行) cat -ns f1 加行号(压缩空行) cat -v f1 能看windows文件的M`符号 cat -T f1 能够显示里面的tab空位,显示为^I cat -A f1…

    Linux干货 2016-08-07
  • 自我介绍

    个人简介     基本信息:     何秋雨,男,安徽人,22岁,初中学历 工作经验:     目前就职于南京的一家互联网公司做Java Web 开发,大概有一年半的工作经验。工作内容包括前端和Java后端两个部分。 个人爱好:   &nb…

    Linux干货 2016-08-08
  • 第一周作业

    一、计算机的组成及功能 计算机是由硬件和软件组成, 1、硬件主要分为五个部分: 1) 控制器(Control)  CPU 2) 运算器(Datapath)   3) 存储器(Memory)  内存 4) 输入(Input system)  键盘、鼠标 5) 输出(Out…

    Linux干货 2017-07-11
  • 脚本的进阶与一些基本脚本

    1,脚本中用于表示数字大小写和符号为: -gt(大于)-lt(小于)-ne(不等于)-eq(等于) 格式为 [[空格 ”符号”空格]] 2,测试文件类型的选项 -f(是否为普通文件)-l(是否为链接文件)-d(是否为目录)-e(单独测试文件是否存在) 3,if语句的格式:(其中path代表条件,elif链接多个条件,最后一个条件用else表示) if pat…

    Linux干货 2017-05-22