Linux系统启动流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统启动流程相关的知识,希望对你有一定的参考价值。


Linux系统启动流程


Linux内核的特性之一:使用缓冲和缓存来加速对磁盘上文件的访问


系统初始化进程(内核级别):POST-->bootsequence(Bios)-->bootloader(MBR)-->kernel(ramdisk)-->rootfs(readonly)-->/sbin/init

内核功能:进程管理,内存管理,网络协议栈,文件系统,驱动程序,安全功能

组成部分:
        核心文件:/boot/vmlinuz-VERSION-release

        ramdisk:
               CentOS 5:/boot/initrd-VERSION-release.img
               CentOS 6,7:/boot/initramfs-VERSION-release.img  
               挂载真正的根文件系统后退出
               内核启动后加载一个临时根文件系统(其中仅放一个特定的驱动,动态创建而来)

        模块文件(驱动):/lib/modules/VERSION-release
                        (/lib/modules/3.10.0-229.el7.x86_64/kernel/kernel[fs])

    CentOS 系统的启动流程

        POST
                (加电自检)(代码在主板上的只读ROM:CMOS:BIOS:Basic Input and Output System上,用来检测各个硬件是否存在)
                ROM+RAM
         -->Boot Sequence:
                         按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备
                         bootloader:引导加载器,程序
                                    Windows:ntloader
                                    Linux:
                                          LILO:Linux Loader
                                          grub:grand uniform bootdoader
                                          grub 0.x:grub legacy
                                          grub 1.x:grub2
                                    功能:提供一个菜单,允许用户选择要启动的系统或不同的内核版本:把用户选定的内核装载到RAM中的特定空间中,解压,展开,而后把系统控制权移交给内核;
         --> MBR:master boot record
                             512bytes:
                                     446bytes:bootloader
                                     64bytes:fat 分区表
                                     2bytes:55AA 表示MBR有效否则无效
         -->grub:
                    bootloader:第一阶段
                    partition:第1.5阶段,文件系统驱动(作用?)
                    partition:/boot/grub 第二阶段

         -->Kernel:
                      自身初始化:
                              探测可识别到的所有设备
                              加载硬件驱动程序(有可能会借助于ramdisk加载驱动)
                              只读方式挂载根文件系统
                              运行用户控件的第一个应用程序:/sbin/init
                             

         -->init程序类型:
                           CentOS 5:SysV init
                                  配置文件:/etc/inittable
                           CentOS 6:Upstart
                                  配置文件:/etc/inittable
                                                 /etc/init*.conf
                           CentOS 7:Systemd
                                  配置文件:/usr/lib/systemd/  /etc/systemd/system/

本文出自 “我心_向阳” 博客,请务必保留此出处http://wyg11.blog.51cto.com/11253863/1783115

以上是关于Linux系统启动流程的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统启动流程

Linux系统启动流程

Linux系统启动流程

Linux系统启动流程分析与关机流程

Linux系统启动流程

Linux系统的启动流程