设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

Linux 的启动流程详解

2012-2-22 11:13| 发布者: 红黑魂| 查看: 7097| 评论: 1|来自: linux.cn

摘要: 第一阶段:BIOS启动引导阶段在该过程中实现硬件的初始化以及查找启动介质从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理第二阶段:GRUB启动引导阶段装载stage1装载stage1.5装载stage2读取/boot/grub.conf文 ...
第一阶段:BIOS启动引导阶段


在该过程中实现硬件的初始化以及查找启动介质
从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理

第二阶段:GRUB启动引导阶段


装载stage1
装载stage1.5
装载stage2
读取/boot/grub.conf文件并显示启动菜单
装载所选的kernel和initrd文件到内存中

第三阶段:内核阶段


运行内核启动参数
解压initrd文件并挂载initd文件系统,装载必须的驱动
挂载根文件系统

第四阶段:Sys V init初始化阶段


启动/sbin/init程序
运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统
读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定义的不同运行级别的服务初始化脚本
打开字符终端1-6号控制台/打开图形显示管理的7号控制台

启动流程和细节详解

  BIOS ==> bootloader ==> kernel & initrd.img ==> /sbin/init

  1.bootloader (grub)

  /boot/grub/grub.conf  <-- grub的配置文件,决定使用哪个kernel和initrd.img
  在/boot/grub目录中有两个stage文件,其中:
    stage1  <--- 大小是512字节,这个文件会被写进MBR中
    stage2  <--- stage1被引导之后,会调用这个文件
  如果grub出现问题可能会有两种情况:
  a.无法进入grub,屏幕左上角只出现一个光标。出现这种情况基本上MBR已经被破坏,需要进入rescue模式进行修复。

  --> chroot环境,执行 "grub-install /boot所在分区" 进行修复
  --> 无grub相关命令时,安装grub.rpm包进行恢复
  --> /boot目录下无相关的vmlinuz和initrd.img文件时,安装kernel.rpm包进行修复
  --> 无grub.conf时需要手工修复

  b.grub成功加载,屏幕出现“grub>”,表示配置文件grub.conf找不到。

  --> 手工修复

  2.kernel & initrd.img

  在加载vmlinuz和initrd时出现:kernel panic情况,基本是grub.conf设置参数出问题。

    --> 检查grub.conf编写是否出现问题
    --> 也有可能是分区设置或者硬盘损坏等问题,需要进入rescue模式检查

  3./sbin/init

  /sbin/init的配置文件是/etc/inittab

  按照这个配置文件,系统会依次执行以下脚本:

    ---> /etc/rc.d/rc.sysinit

  定义hostname,重新挂载各分区,加载各模块

    ---> /etc/rc.d/rc[0-6].d/目录下以S开头的脚本

  启动各runlevel的服务

    ---> mingetty /dev/tty[1-6]

  启用终端

酷毙
2

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (2 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部