linux-GRUB启动流程
2015-09-05 17:31
351 查看
一,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:ntloaderLinux: LILO:linux loader GRUB:Grand UNformBootloader (支持windows linux 交互启动) Grub 0.x:grub legacyGrub 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/initInit程序类型: SysV:init centos 5 标准 -- 配置文件/etc/inittab Upstart:init centos 6 -- 配置文件/etc/inittab,/etc/init/*.confSystemd:虚拟初始化,开机快捷 苹果机制 centos 7--配置文件/usr/lib/system/system,/etc/system/system内核:Ramdisk-àramfs 改变进化Centos 5 :initrd 工具程序:mkinitrdCentos 6: initramfs 工具程序:mkinitrd,dracut所以,系统初始化流程图是:
Post->bootsequence->bootloader->kernel->rootfs->init
(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:ntloaderLinux: LILO:linux loader GRUB:Grand UNformBootloader (支持windows linux 交互启动) Grub 0.x:grub legacyGrub 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/initInit程序类型: SysV:init centos 5 标准 -- 配置文件/etc/inittab Upstart:init centos 6 -- 配置文件/etc/inittab,/etc/init/*.confSystemd:虚拟初始化,开机快捷 苹果机制 centos 7--配置文件/usr/lib/system/system,/etc/system/system内核:Ramdisk-àramfs 改变进化Centos 5 :initrd 工具程序:mkinitrdCentos 6: initramfs 工具程序:mkinitrd,dracut所以,系统初始化流程图是:
Post->bootsequence->bootloader->kernel->rootfs->init
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- [Android]在代码里运行另一个程序的方法
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量