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. U-BOOT配置过程

    摘自:<嵌入式Linux应用开发完全手册> ( Target  :         smdk2410              $1 Architecture:     arm       ...

  2. C++对象内存模型1(堆栈模型)

    对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立 ...

  3. 40个GitHub上最受欢迎的iOS开源项目

    40个GitHub上最受欢迎的iOS开源项目(一) http://www.weste.net/2013/8-1/92975.html 40个GitHub上最受欢迎的iOS开源项目(二) http:// ...

  4. remove all .git files and directories use one command

    find . -type d -name ".git" | xargs rm -rf

  5. 使用PIL处理image

    获得一个Image实例 import Image im = Image.open('1.jpg') #返回一个Image对象,open只对图片的头做处理,所以open操作是非常快的 resize,裁剪 ...

  6. Java Script基础(十一) 表单验证

    一.表单验证的必要性: 表单验证在客户端和服务器端,客户端验证实际是直接调用JavaScript脚本对用户输入的数据进行验证:而服务器也同样可以实现数据验证,但是当服务器压力过大时,资源损耗会比较严重 ...

  7. jQuery图片提示和文字提示

    图片提示: 效果如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  8. Terminate program hitting CTRl+C within GDB

    Q: My program is determined to stop its execution by hitting CTRL+C in command window. By now, i hav ...

  9. 使用Gmail发送邮件心得

    /// <summary> /// 发送邮件 /// </summary> /// <returns></returns> public static ...

  10. JavaScript--DOM事件(笔记)

    第1章 事件流1-1.事件冒泡:事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收; 然后逐级向上传播至最不具体的那个节点(文档);1-2.事件捕获:不太具体的节点应该更早接收到事件,而最具 ...