zoukankan      html  css  js  c++  java
  • Linux开机引导流程

    linux开机引导流程:

    这里写图片描述

    1.BIOS开机自检

    BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。
    如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。

    2.MBR(主引导记录):512字节:

    主引导程序(Bootloader):446字节;
    硬盘分区表DPT:64字节;
    分区结束标记:2字节。
    (MBR不属于任何一个文件系统)
    PS:
    如何查看MBR的第一个扇区(最前面的512个字节)
    (这512个字节的最后两个字节是0x55和0xAA)

    # dd if=/dev/sda of=sda.mbr bs=512 count=1
    #hexdump -C sda.mbr
    

    –》会发现是以55 aa结尾的
    这里写图片描述

    3.GRUB引导程序

    grub是linux里的一个引导系统启动的程序。
    分3个部分(阶段):

    • stage 1
    • stage 1.5 --》文件系统的驱动程序
    • stage 2 --》文件系统的驱动程序
    #cd /boot/grub/
    #ls    --》
    device.map     ffs_stage1_5      jfs_stage1_5    reiserfs_stage1_5  stage2           xfs_stage1_5
    e2fs_stage1_5  grub.conf         menu.lst        splash.xpm.gz      ufs2_stage1_5
    fat_stage1_5   iso9660_stage1_5  minix_stage1_5  stage1             vstafs_stage1_5
    

    4.加载内核kernel

    vmlinuz-2.6.32-279.e16.i68
    内核文件:被夹在到内存里执行,可以开始管理内存、cpu、磁盘等设备,
    解压image映像文件,查看里面的内容。
    ①/boot/kernel and kernel parameter
    ②/boot/initrd

    5. Sys V init 初始化阶段

    • /sbin/init
    • /sbin/mingetty
    • /etc/X11/prefdm

    这里写图片描述


    一个文件系统下面有哪些目录:*

    这里写图片描述


    最后贴一个自己画的linux开机启动流程思维导图:

    这里写图片描述
    (注:放大即可看清)

    power on–》开机
    bios:系统自检、读启动顺序,启动顺序定位到MBR–》
    MBR(主引导程序bootloader、DPT硬盘分区表、55aa分区结束标记):
    bootloader读取DPT,知道哪一个是活动分区–》
    bootloader(stage1)找到/boot分区(ext4),但是stage1识别不了ext4,于是启动stage2–》
    stage里面有大量的驱动,加载驱动,例如ext4的驱动,就能读取分区(/boot/grub/grub.conf)了–》
    grub.conf会加载kernel和initramfs.img文件到内存里面。–》
    initramfs-版本号.img文件加载到内存里之后,会启动init进程–》
    init进程起来后,会读取/etc/fstab文件、/etc/rc.sysinit、/etc/inittab–》
    通过/etc/inittab文件例如知道运行级别是3了,就会加载/etc/rc.d/rc3.d/目录下的所有文件–》
    例如会启动所有以f开头的服务–》
    再启动/sbin/mingetty文件,提供接口来登录–》
    输入用户名、密码–》
    通过/ertc/passwd和/etc/shadow等文件来验证用户名和密码是否正确–》
    然后再加载4个配置文件:/etc/profile、/etc/bashrc、/root/.bashrc、/root/.bash_profile–》
    之后就可以使用了。

    手动分割线

    最后的最后,贴一个当时班里很牛的一个大神画的超级好看的思维导图。

    这里写图片描述

  • 相关阅读:
    Java 线程池学习
    Java线程:新特征-线程池
    创建Java线程池
    JAVA-线程安全性
    java线程安全总结
    栈和队列
    历年题目
    蓝桥杯算法训练
    hdu2083 暴力水
    poj 2299
  • 原文地址:https://www.cnblogs.com/lpeng94/p/12546438.html
Copyright © 2011-2022 走看看