Linux开机流程简述

                                          Linux操作系统的启动流程简述

        使用个人Linux系统的朋友们几乎每天都要看到自己的Linux开机,但是,Linux开机时需要哪些设备或文件,以及每种设备或文件在哪个时候发挥作用,以及我们怎么按照自己的想法修改开机画面或输出字符呢?这些问题在这里我们都将给予解决。

         首先我们来了解开机的流程,以及开机所需要的设备,文件和他们的作用:

1、POST:加电自检,当开机给予电源后,BOIS将对设备的硬件进行自检,看设备的状态是否OK。
2、根据启动次序的设定,寻找启动次序对应的设备中是否存在MBR,如果哪个启动设备有MBR那么就在BOIS的帮助下将bootloader加载进内存,让bootloader运行起来。bootloader是一个程序,是在安装系统的时候设定在MBR 的,一般不同的操作系统需要的bootloader是不同的,如果我们安装多个操作系统的话,开机时会有一个操作系统选择菜单,这个就是bootloader提供的,然后根据你的选择去加载相应的系统内核。

      在系统的启动中,绝对不可以没有bootloader这个功臣,下面一个将提到bootloader的作用,首先我们先来了解一下bootloader这个程序。
        Linux 著名的bootloder有:
     (1)LILO是Linux早起的早期引导操作系统的程序,可支持多系统引导,但不支持1024以外的柱面,不能支持大硬盘,所以现在几乎绝迹了。
     (2)GRUB 是心在普遍使用的bootloader,功能十分强大,可以引导Linux和Windows,部分Unix系统,而且不必非得装在MBR里,也可以装在某个分区的引导扇区里。如果没有其他程序帮住引导GRBU,那么GRUB还得放在MBR里。
         GRUB分为两段分别存放在:
         (1)bootloder,是为了引导启动第二阶段的
         (2)在磁盘分区上的/boot/grub,

         GRUB的功能:
         (1)启动时,可以让用户选择操作系统。
         (2)可以向内核传递参数,以便让内核在不同环境下运行。
         (3)具有加密保护功能 

3、bootloader 加载成功之后,bootloader根据目录中的grub.conf文件的设定到设定的活动磁盘分区上找操作系统的内核,将内核加载进内存,并解压缩,使内核展开,自行运行,此时bootloader就完成任务,接着内核将开始登台。                
4、内核首先进行系统的初步初始化,识别基本的硬件,并加载相应硬件驱动,然后内核装载/sbin/init进程,但是/sbin/init文件在根文件系统内,根文件系统又在LVM中,内核中没有LVM 驱动,所以就无法读取根文件系统,从而无法运行/sbin/init进程,此
时内核通过/boot/initrd-2.6.18-164.el5.img文件这个文件为内核提供一个根分区的驱动程序,从而向开始读取/sbin/init(initrd-2.6.18-164.el5.img文件是一个很小的完整的Linux)。
             内核展开后进行的动作:
            (1)硬件探测  此时将输入硬件设备的信息,信息保存在日志里/var/log/dmesg这是一个二进制文件,用dmesg查看
            (2)驱动程序初始化
            (3)以只读方式加载根文件系统
            (4)装载并启动init进程
5、然后init进程通过/etc/rc.d/rc.sysinit的支配对系统进程完整初始化,init的所有工作都在/etc/inittab的支配下完成,运行完init进程之后就打印出一个登录终端提示,我们就可以登录系统了,至此整个开机启动过程完成。

        由于时间的原因,我们将在下一篇文章中,讲解开机过程的个性化,以及基本的系统恢复等技巧,大家要熟悉了解这篇文章中提到的文件,这对理解我们的操作系统的恢复有很大的帮助。


本文出自 “redhat” 博客,谢绝转载!

你可能感兴趣的:(linux,职场,开机,内核,休闲)