Linux 的启动流程详解

转载 2012年03月22日 23:52:42

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

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


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

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


第三阶段:内核阶段

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


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

  1. 启动/sbin/init程序
  2. 运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统
  3. 读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定义的不同运行级别的服务初始化脚本
  4. 打开字符终端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]

  启用终端


原文链接:http://linux.cn/article-413-1.html

相关文章推荐

详解Linux启动流程及需要使用到的配置文件

linux启动总流程 POST加电自检-->BIOS(Boot Sequence)->MBR(bootloader)->Kernel->initrd->rootfs(/sbin/init) ...

Linux 的启动流程详解

Linux 的启动流程详解 第一阶段:BIOS启动引导阶段 在该过程中实现硬件的初始化以及查找启动介质从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理 第二阶段:...
  • yu829
  • yu829
  • 2012-03-22 22:33
  • 331

Linux启动流程详解

在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多;一般就是通电、BIOS、主引导记录、操作系统这四步。所以我们一般认为加载内核是linux启动流程的第一步。 第一步、加载内核 操作系统...

linux 启动流程详解

关于linux的启动流程的笔记 一、从哪里到哪里 本文旨在描述linux中内核如何调用启动,然后如何从img的文件系统切换到硬盘的过程。 描述起于:linux-2.6.11/init/mai...

linux系统启动流程详解

RHEL6 启动过程在 Red Hat Enterprise Linux 6 中,sysvinit 软件包中的 init 已经由 Upstart 替换,它是基于事件的 init 系统。这个系统可处理在...

Linux启动流程详解

学习linux有

linux 启动详解 分析 启动流程

开机流程分析:/etc/sysconfig  Lilo :设定档 /etc/lilo.conf, 以预设的 lilo.conf 新增一个开机档, 安装 lilo ,一些问题的解决之道  G...

linux启动流程分析

  • 2010-11-24 09:06
  • 203KB
  • 下载

arm linux系统启动流程

  • 2015-11-28 14:00
  • 244KB
  • 下载

linux开机流程与主要启动记录区(MBR)

我们在计算机概论里面谈到,没有执行软件的硬件是没有用的,除了会电人之外…,而为了计算机硬件系统的资源合理分配,因此有了操作系统这个系统软件的产生。由于操作系统会控制所有硬件并且提供核心的功能,因此我们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)