linux-GRUB启动流程

一,Linux系统是由内核和根启动文件组成,内核和根分别担负着不同的任务。

首先向大家介绍下内核和根文件,根文件一般存储在/lib64里,主要是由库文件、程序组成

库又包含: 函数集合、过程调用、函数调用

为大家解说下内核的功能和组成:

内核主要是由:

(1)核心文件:/boot/vmlinuz-版本号-发行号(目录名)

Ramdisk:

Centos5 /boot/initrd-版本号-发行号.img

Centos6 /boot/initramfs-版本号-发行号.img

以下是详细命令使用,这里只是用#ls /boot显示内核文件参数。

#ls –lh /boot/vmlinuz-2.6.32-504.e16.x86_64  查看文件大小

#file /boot/vmlinuz-2.6.32-504.e16.x86_64   查看文件类型

如图9.5-1所示:

(2)模块文件存放位置/lib/modules/版本号-发行号(也是目录),如图9.5-2所示:

参考命令是 #ls/lib/modules/2.6.32-431.el6.x86_64/

其中内核元数据在kernel中,我们查看一下,其中***部分圈出来的就是模块文件。

注意:内核不能驱动硬盘,内核需要安装硬盘驱动,我们需要外在辅助机制,把硬盘上需要的驱动程序引至到虚拟的硬盘文件中启动,给予内存的虚拟驱动程序,如图所示9.5-3:

二,接下来为大家说一下

(1)Centos 系统启动流程

a,POST:加电自检;

ROM:CMOS(芯片)-à被CPU控制

BIOS:基本输入输出系统 (启动硬件驱动)

ROM+RAM 编值优先级ROM->RAM先后顺序

b,BOOT Sqeuence:引导次序硬盘、光盘、U盘等

Bootloader:引导加载器,程序

功能:提供一个菜单,选择要启动的系统或者内核版本,之后把选定的内核安装在指定的内存空间中解压展开,然后把领导权移交内核。

Windows:ntloader

Linux:

LILO:linux loader

GRUB:Grand UNformBootloader (支持windows linux 交互启动)

Grub 0.x:grub legacy

Grub 1.x :grub2

查看grub版本信息,查看命令#rpm –q grub如图9.5-4所示:

c,MBR(主引导记录):

446:bootloader(加载器)

64:磁盘分区表(fat)

2:55AA()

d,GRUB(主引导记录)

#ls /boot/grub 查看grub 参数如图9.5-5所示:

bootloader:1st stage 加载

帮助grub识别文件系统的1.5 阶段

disk:2nd stage 读取分区

e,内核:

获取权限后,自身初始化,加载硬件驱动程序“内核以只读方式加载根文件”。然后运行/init文件:/sbin/init

Init程序类型:

SysV:init centos 5 标准 -- 配置文件/etc/inittab

Upstart:init  centos 6 -- 配置文件/etc/inittab,/etc/init/*.conf

Systemd:虚拟初始化,开机快捷  苹果机制 centos 7--

配置文件/usr/lib/system/system,/etc/system/system

内核:Ramdisk-àramfs 改变进化

Centos 5 :initrd     工具程序:mkinitrd

Centos 6: initramfs  工具程序:mkinitrd,dracut

所以,系统初始化流程图是:

Post->bootsequence->bootloader->kernel->rootfs->init

时间: 2024-10-12 15:07:13

linux-GRUB启动流程的相关文章

Linux 的启动流程

作者: 阮一峰 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序有关.今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程. 这个部分比较有意思.因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多:但是,一旦进入操作系统,程序员几乎可以定制所有方面.所以,这个部分与程序员的关系更密切. 我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统.下面的内容针对的是Deb

Linux的启动流程(CentOS 6)

前言 Linux启动的过程在实际生产中有着至关重要的作用.试想一下,如果我们在实际生产中服务器因为某一个服务出了问题,而不能启动,这时我们应该怎么办.如果我们了解Linux的详细启动过程,知道是在哪一个环节出了问题,我们就能够进入到相应的环节,排除掉相应的问题,从而解决实际生产中的问题. 同时,我们在这里提出一个问题,有谁知道Windows的启动过程呢?如果启动过程出了问题,我们该怎么办呢?恐怕答案只有重启系统了吧-- Linux 系统的启动过程对于管理员来说是完全透明的,了解了Linux的启动

linux --&gt; Linux 的启动流程

Linux 的启动流程 操作系统接管硬件以后发生的事情,也就是操作系统的启动流程. 因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多:但一旦进入操作系统,程序员几乎可以定制所有方面.所以,这个部分与程序员的关系更密切,下面的内容针对的是Debian发行版. 第一步.加载内核 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件. 以我的电脑为例,/boot 目录下面大概是这样一些文件: $ ls /boot config-3.2.0-3-amd64 config-

Linux的启动流程,回答面试官自用

对于Linux的启动流程,是一个很复杂的过程 下面我来介绍一下: 1.当我们按下电源键通电后,我们的BIOS①会去检查硬件(CPU.显卡.硬盘.光驱等等)是否有问题,取得主机的各项硬件配置后,就会去找启动设备,这里说的就是硬盘,找到硬盘的MBR②,这时候就将控制权交到MBR中 2.MBR的功能就是去找到安装在MBR的grub③菜单,也就是Boot loader,随后grub就把系统的kernel(内核)给引导出来了 3.当boot loader读取到kernel文件后,会将内核加载到内存中,此时

【转】Linux 的启动流程

原文网址:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html Linux 的启动流程 作者: 阮一峰 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序有关.今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程. 这个部分比较有意思.因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多:但是,一旦进入操作系

Linux的启动流程(CentOS 7)

前言 Linux启动的过程在实际生产中有着至关重要的作用.试想一下,如果我们在实际生产中服务器因为某一个服务出了问题,而不能启动,这时我们应该怎么办.如果我们了解Linux的详细启动过程,知道是在哪一个环节出了问题,我们就能够进入到相应的环节,排除掉相应的问题,从而解决实际生产中的问题. 同时,我们在这里提出一个问题,有谁知道Windows的启动过程呢?如果启动过程出了问题,我们该怎么办呢?恐怕答案只有重启系统了吧-- Linux 系统的启动过程对于管理员来说是完全透明的,了解了Linux的启动

I.MX6 Linux Qt 启动流程跟踪

/************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 * 声明: * 1. 源代码来源MY-I.MX6: * 2. 本文仅仅是对启动流程的解析,没有解释启动流程为什么是这样的问题. * * 2015-6-13 深圳 晴 南山平山村 曾剑锋 *********************************************************

Linux的启动流程以及GRUB详解

 一.Linux引导和启动流程       概述,计算机电源接通后通过BISO之后,没有问题,就会去硬盘上找到MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区,它记录着主引导记录中包含了硬盘的一系列参数和一段引导程序,其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序(GRUB).GRUB启动引导器是计算机启动过程中运行的第一个真正的软件,GRUB负责加载启动硬盘分区中的操作

linux内核启动流程[转]

启动流程一览 既然启动是很严肃的一件事,那我们就来了解一下整个启动的过程吧! 好让大家比较容易发现启动过程里面可能会发生问题的地方,以及出现问题后的解决之道! 不过,由於启动的过程中,那个启动管理程序 (Boot Loader) 使用的软件可能不一样,例如目前各大 Linux distributions 的主流为 grub,但早期 Linux 默认是使用 LILO . 但无论如何,我们总是得要了解整个 boot loader 的工作情况,才能了解为何进行多重启动的配置时, 老是听人家讲要先安装

linux操作系统的启动流程--学生作业

首先,先不急着将启动流程,,先说下linux操作系统的相关知识 一:linux的组成部分: 内核+根(/)文件系统 1)内核: 存放位置 centos6的位置是 /boot 目录下的"vmlinuz-2.6.32-573.12.1.el6.x86_64" "2.6.32"是版本号:"573.12.1"是release号.内核的作用是负责核心的内存管理.进程管理.网络协议栈.文件系统.驱动程序.安全功能.linux内核是单内核设计,但是他支持多模块