
Linux系统启动的大致过程
Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日。下面我准备了关于Linux系统启动的大致过程,提供给大家参考!
第一阶段: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启动引导阶段 GRUB启动引导阶段 内核阶段 /init/sysinit阶段
====================================================================================
None /boot/grub/grub.conf /boot/vmlinuz- /etc/rc.d/rc.sysinit
/boot/grub/stage1_5 /boot/initrd- /etc/inittab
/boot/grub/stage2 /etc/rc.d/rc<#>.d
/etc/rc.d/init.d/*
Linux Booting Process:(1) BIOS
功能:执行计算机系统完整性检测;通电自检;搜索/加载/执行 boot loader程序。
一旦 boot loader 程序被探测到,并且加载到内存,BIOS会把控制权交给它。
(2) MBR
MBR位于引导盘(Bootable Disk)的第一个扇区(512B)。
通常是在 /dev/sda 或者 /dev/hda 。
注意:引导盘(bootable disk)和引导分区(bootable partition)的区别。
(3) GRUB
GRUB = Grand Unified Bootloader
如果在系统中安装有多个内核镜像,你可以选择某一个被执行。
GRUB展示了一个启动画面,等待几秒,如果你不输入任何字符,它将会按照grub配置文件的规定加载默认的内核镜像。
Grub配置文件在: /boot/grub/grub.conf
它包含了内核和initrd.img
(4) Kernal
(注意Kernal和kernel不一样)
Kernal按照grub.conf文件的规定,挂载根文件系统。
一旦kernal启动,它第一件事情就是执行:sbin/init 进程。
initrd是被kernel用做临时根文件系统,直到Kernal挂载了根文件系统。
(5) INIT(Initilization)
根据 /etc/inittab 文件决定Linux运行层级,运行级别决定了哪个初始化程序(Initial Programs)被加载到启动项。
(6) Run Level
根据你的运行级别的设定, *** 作系统会执行下来对应的文件夹下的程序:
Linux的7个运行级别(Run levels):
标准的Linux运行级别为3或者5,如果是3的话,系统就在多用户状态;如果是5的话,则是运行着XWindow系统。不同的运行级别有着不同的用处,也应该根据自己的不同清晰来设置。例如,如果丢失了root口令,那么可以让机器启动进入单用户模式来设置。
如果是使用S(Start)开头的程序,那么是用在启动的时候,
如果是使用K(Kill)开头的程序,那么是用在关机的时候。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)