美文网首页
Linux启动分析

Linux启动分析

作者: 萍水间人 | 来源:发表于2019-02-26 23:04 被阅读14次

    写在前面

    对于计算机的启动流程, 这个其实很早之前就有说到, 所谓boot就是靴子的意思,试想一个人提起自己身上穿的靴子, 这个过程是何其的艰难! 计算机启动的过程也是如此, 在启动的过程中,软硬件究竟是如何转移控制权的, 又是谁, 像上帝一样开创了万物呢?

    BIOS

    在个人计算机的情况下, 要想启动系统, 就需要加载BIOS, 然而这个时候是没有操作系统的, 那到底是谁去引导BIOS启动的呢? 答案就是硬件啦。 通过硬件打开了BIOS, 接着BIOS去检测硬件, 并与这些硬件中内含的BIOS打声招呼, 把他们吵醒, 这个就是自我检测的过程了。

    接着就是由BIOS来决定启动顺序的问题了。 常见的启动顺序有 光盘, 磁盘, 和U盘

    设定好了启动顺序之后, BIOS就会将boot loader , 也就是磁盘上的MBR分区表写到内存中。 这个过程是通过INT 13中断来完成的。

    boot loader

    之前一直只觉得有BIOS就够了, 竟不知还有 boot loader

    首先, 每种操作系统都有属于自己的boot loader

    那么双系统又是从何而来?

    这就涉及到文件系统了, 先按下不提。

    认识一下 Initial RAM Disk(Initial RAM Filesystem)

    这里源自一个问题。 假设Linux安装在SATA磁盘上面, 可以通过BIOS的INT13中断取得boot loader 与内核文件来启动。

    但是内核根本就不认识 SATA磁盘, 所以需要加载SATA磁盘的驱动程序, 到那时SATA的驱动程序还在 /lib/modules 内, 根本无法挂载根目录又怎么去读取到驱动程序呢?


    系统启动的流程过于复杂,先写到这

    相关文章

      网友评论

          本文标题:Linux启动分析

          本文链接:https://www.haomeiwen.com/subject/pirtuqtx.html