Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49988
  • 博文数量: 12
  • 博客积分: 313
  • 博客等级: 二等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 21:20
文章分类

全部博文(12)

文章存档

2013年(1)

2012年(5)

2011年(6)

我的朋友

分类: LINUX

2012-03-17 17:02:59

第一阶段:BIOS启动引导阶段

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

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

 

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

装载stage1

装载stage1.5

装载stage2

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

装载所选的kernelinitrd文件到内存中

 

第三阶段:内核阶段

运行内核启动参数

解压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的配置文件,决定使用哪个kernelinitrd.img

 /boot/grub目录中有两个stage文件,其中:

      stage1  <--- 大小是512字节,这个文件会被写进MBR

      stage2  <--- stage1被引导之后,会调用这个文件

 

如果grub出现问题可能会有两种情况:

  a.无法进入grub,屏幕左上角只出现一个光标。出现这种情况基本上MBR已经被破坏,需要进入rescue模式进行修复。

      --> chroot环境,执行 "grub-install /boot所在分区进行修复

      --> grub相关命令时,安装grub.rpm包进行恢复

      --> /boot目录下无相关的vmlinuzinitrd.img文件时,安装kernel.rpm包进行修复

      --> grub.conf时需要手工修复

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

      --> 手工修复

 

2.kernel & initrd.img

    在加载vmlinuzinitrd时出现: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]               

 启用终端



From:ly.blog.chinaunix.net

阅读(714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~