系统启动过程

 

linux 启动过程
 
linux 启动过程有以下的步骤:
BIOS à (boot sequence à MBR:Master Boot Record(1 sector, 512 bytes)) Bootloader à kernel à init(/etc/inittab) à /etc/rc.local à login
以下我将对以上每部分解释一下:
先读取 BIOS ,其中( boot sequence )存取了系统启动的顺序。然后再在从定义的顺序对应的的 MBR MBR 中定义了对系统的引导,其中包括根目录的分区 root ,内核( vmlinuz )的位置,以及 initrd 。这都是引导 linux 的必要的配置。对于系统的引导以前常用的是 LILO ,而由于 LILO 对磁盘类型支持的种类比较少,被 GRUB 所取代。
grub 引导之后系统开始启动 init 进程,该进程的配置文件时 /etc/inittab init 进程的顺序:
1.       设定默认运行的等级
2.       启动系统初始化脚本 rc.sysinit
3.       执行运行级别下的每一个脚本
4.       设定 ctrl+alt+del 组合键的功能
5.       设定电源故障时执行的脚本
6.       设定要启动的虚拟控制台 /dev/tty[1-6]
7.       设定当指定运行级别为 5 时做 GUI 初始化脚本
之后系统启动完成。启动 rc.sysinit 的过程有:
1.       激活 udev SElinux
2.       设置内核参数 /etc/sysctl.conf
3.       设置系统时钟
4.       装载键盘映射
5.       启动交换分区
6.       设置主机名, /etc/sysconfig/network
7.       根文件系统并重新以读写方式挂载根文件系统
8.       激活 RAID LVM 设备
9.       启动磁盘配额
10.  检查并挂载其它文件系统, /etc/fstab
11.  清楚不再使用锁和 PID 文件
在执行一定等级时,启动的脚本在 /etc/rc.d/ 下对应等级 rcN.d 目录下,以 S 开头的脚本,同理关闭的脚本是以 K 开头的脚本。
 
GRUB 知识小结
 
GRUB 为最新的 linux 的引导程序,假设系统存在硬盘上,其 MAB 大小为 512byte ,其中 bootloader 大小为 446byte ,还有 64byte 存储磁盘分区,每个分区用 16byte 表示,还有 2 两个字节存储其它信息。其中 bootloader 只有 446 字节存储引导信息,很难提供强大的功能,所以 GRUB 提供了分段式的方式,在 bootloader 中只有第一段,其第 1.5 段和第 2 段存在于 /boot/grup 文件夹下,其中第 1.5 段提供了对多种文件系统硬盘的驱动(除了 RAID1 之外的其它 RAID LVM ),第 2 段中则提供了 grub 的主配置文件,其中分别定义了一下几部分:
default=1 在有多个启动菜单中默认启动的系统
timeout=5 默认等待的时间
splashimage=(hd0,0)/grub/11.xpm.gz     grub 背景图片
hiddenmenu 是否隐藏启动的菜单
title Red Hat Enterprise Linux Server (2.6.28.10-zly) 系统名称
        root (hd0,0)  核心所在的分区
        kernel /vmlinuz-2.6.28.10-zly ro root=/dev/vol0/root rhgb quiet 核心所在的具体位置,真是分区所在的位置,及挂载的位置,是否显示加载的信息
        initrd /initrd-2.6.28.10-zly.img initrd 所在的位置,这是一个虚拟的系统的位置,启动系统所必须的文件。
每一个 title 代表有启动选项的一个菜单。
 
GRUB 的修复:
grup 的损坏分为两种:
1.                        配置文件损坏。这种情况我们可以手动编写配置文件,如果在开机情况下,可以将上面介绍的 grub 配置文件写入。注意: root hd0,0 )表示 boot 文件夹所在的分区,( hd0,0 )表示第一块儿硬盘的第一个分区,第一个 0 是顺序,第二个 0 表示分区顺序。如果 boot 和根文件夹在一个分区,则上述表示根分区,但 kernel initrd 的路径该写成 /boot/kernel /boot/initrd 切记两个文件的版本号都必须完全相同。如果在重新开机时,分别输入 root kernel initrd ,然后再引导。或者输入 root hdN N )之后用 setup hdN N 是硬盘次序,来自动安装 grub
2.                                   如果 bootloader 损坏则。如果开机情况下输入 grep-install --root-directory=/boot /dev/sda 重新安装 grub 。如果已经关机,则需把硬盘挂载到其他电脑上用上述命令安装 grub ,同时在配置文件中修改相应的数据。
 

你可能感兴趣的:(linux,职场,BIOS,休闲,启动顺序)