BIOS:

  • (Basic Input Output System)基本输入输出系统,一般保存在主板上的BIOS芯片中
  • BIOS是计算机启动时运行的第一个程序,负责检查硬件并且查找可启动设备。
  • 可启动设备在BIOS设置中进行定义,如USB、CDROM、HD.

MBR:

  • 大小为512字节,
  • BIOS找到可启动设备后执行其引导代码,引导代码为MBR的前446字节,因为他的容量很小,不可能完成对操作系统的所有引导工作,因此,它主要完成的是一个跳转的功能,具体的引导程序在GRUB中。

GRUB:

  • 它是现在linux使用的主流引导程序,可以用来引导现在几乎所有的操作系统。
  • grub的相关文件保存在/boot/grub目录中,配置文件为/boot/grub/grub.conf。
  • /boot/grub/grub.conf==> stage1 512字节,是MBR的镜像文件,可用于备份 ==> xxx_stage1_5,加载对文件系统的支持,==> stage2 ==> 内核
  • 配置文件中内容如下:

default=0——默认采用第一个配置
     timeout=0——在开机的引导画面上等待的时间,该设置为0秒
   splashimage=(hd0,0)/grub/splash.xpm.gz——引导界面的背景,使用的一个.xpm.gz格式的图片,可自己手动定制。
   hiddenmenu——隐藏菜单栏

配置格式如下:
  title Fedora (2.6.35.13-92.fc14.i686.PAE)——开机引导画面上显示的名称,可随意设置
  root (hd0,0)——操作系统所在的分区,该配置为第一块硬盘的第一个分区
  kernel /vmlinuz-2.6.35.13-92.fc14.i686.PAE(内核文件) ro (参数,只读)root=/dev/mapper/vg_embedclub-lv_root (告诉引导程序根分区所在位置)rd_LVM_LV=vg_embedclub/lv_root   rd_LVM_LV=vg_embedclub/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYTABLE=us rhgb quiet
  initrd /initramfs-2.6.35.13-92.fc14.i686.PAE.img——内核模块打包文件

KERNEL:

  • MBR的引导代码将负责找到并加载linux内核,一般还会加载内核模块打包文件:initrd /initramfs-2.6.35.13-92.fc14.i686.PAE.img
  • linux为保持kernel的精简将一些不常用的驱动、功能编译为模块,在需要的时候动态加载,而这些模块被打包保存为一个initramfs文件。
  • 早期版本的linux使用initrd文件,initramfs是initrd的替代优化版本,比initrd更加节省空间,更加灵活。
  • 命令dmesg可以查看本次启动时内核的输出信息,也可以通过/var/log目录下的dmesg进行查看。

INIT:

  • linux系统中运行的第一个进程,是所有进程的父进程,会在操作系统的整个运行过程中一直存在,直到系统关机。top 命令可以查看PID,其中1为init
  • 调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务。
  • linux运行级别:
    0 关机
    1 单用户模式:该模式下不启动任何服务,并且直接以root用户登录(不需要密码)。在启动界面中为内核kernel传递参数“1”(数字1)或“single”可让系统进入单用户模式,在该模式下可以使用passwd修改root密码,而且并不需要知道以前root的密码(用于在忘记root密码时,重新设置root密码)。

  2 不带网络的多用户模式
  3 多用户模式
  4 未使用
  5 xll 图形化多用户
  6 重新启动

  • 可以通过/etc/inittab配置文件修改默认的运行级别,init中的其他配置文件保存在/etc/init目录下。所以init一共有两个配置文件目录:/etc/inittab和/etc/init
    每个级别对应的启动服务保存在/etc/rc.cd/tc[0123456]中
    命令runlevel可显示当前及上一个运行级别
    命令init可以改变当前运行级别

linux系统启动流程的更多相关文章

  1. linux基础-附件1 linux系统启动流程

    附件1 linux系统启动流程 最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序.这一程序通常知道一些直接连接在主 ...

  2. Linux系统启动流程及安装命令行版本

    Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...

  3. 【转载】Linux系统启动流程

    原文:Linux系统启动流程 POST(Power On Self Test/上电自检)-->BootLoader(MBR)-->Kernel(硬件探测.加载驱动.挂载根文件系统./sbi ...

  4. Linux系统启动流程及grub重建(1)

    日志系统 Linux系统启动流程 PC: OS(Linux) POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel--& ...

  5. Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密

    一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...

  6. Linux系统启动流程(重要!)

    Linux系统启动流程   从上至下为: BIOS  MBR:Boot Code 执行引导程序-GRUB(操作系统) 加载内核 执行init run level 1.BIOS(Basic Input ...

  7. Linux系统启动流程分析

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  8. linux 系统启动流程

    原著资料网址:http://wenku.baidu.com/view/414127fdf705cc1755270997.html (版权归原作者所有) Linux系统的启动分5个阶段,每个阶段都完成不 ...

  9. [ 总结 ] Linux系统启动流程

    Linux系统启动过程分析: 按下电源 --> BIOS自检 --> 系统引导(lilo/grub) --> 启动内核 --> 初始化系统 --> 用户登录 1. BIO ...

  10. Linux系统启动流程与系统目录

    启动流程 # 1,开机BIOS自检 检查一系列的硬件,最后根据启动顺序启动,是硬盘还是光驱等 # 2,MBR引导 读硬盘0柱面0磁道1扇区的前446字节 1扇区=512字节 MBR=4446字节 四个 ...

随机推荐

  1. mysql服务器的常规操作

    mysql服务器的常规操作 导读 MySQL是一个小型关系数据库管理系统,目前被广泛的应用在Internet上的中小型网站中,体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,使得许多中小型网站 ...

  2. Creating a CSRF protection with Spring 3.x--reference

    reference from:http://info.michael-simons.eu/2012/01/11/creating-a-csrf-protection-with-spring-3-1/ ...

  3. 关于Android LinearLayout添加分隔线的方法

    目前了解的办法有两个:1.自定义一个view当作分隔线:2.使用高版本的分隔线属性 一.在需要添加分隔线的地方,添加一个view,比如ImageView,TextView等都可以,如代码,关键是设置高 ...

  4. JS Date对象扩展

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  5. a letter and a number

    描述we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;Give you a letter x ...

  6. 1.6 Indexing and Basic Data Operations--目录

    1.6.1 什么是 Indexing 1.6.2 Uploading Data with Index Handlers 1.6.3 Uploading Data with Solr Cell usin ...

  7. 企业级搜索引擎Solr 第三章 索引数据(Indexing Data)[2]--DIH

    转载:http://quweiprotoss.wap.blog.163.com/w2/ DIH需要在solrconfig.xml中注册,如下: <requestHandler name=&quo ...

  8. solr 高亮配置

    solrj中配置: 两种高亮开启设置 // solrParams.setHighlight(true); solrParams.setParam("hl", "true& ...

  9. ProgressBar的Indeterminate属性

    Indeterminate ProgressBar默认是白色的,如果容器的背景也是白色的,这样就根本看不到Progressbar. 简单解决方案: 用style属性设定反转的颜色. <Progr ...

  10. 【Java线程池快速学习教程】

    1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变 ...