深入理解Linux引导启动流程,开机如何顺利起航(linux引导启动)
Linux引导启动流程是这么一回事:
当你开机时,硬件上会加载BIOS,然后BIOS会自动查找某个存储设备(通常是硬盘)上的引导程序,并将其加载到内存中。
有时候,这个引导程序将可能是一个简单的四个字节的机器语言程序(即引导加载程序),或者是一个具备多功能的操作系统内核。
当Linux引导加载程序(例如grub)被加载到内存中时,它会开始一个称为bootstrap(引导启动)的过程,这个过程是非常重要的,它能够将电脑从内存中加载操作系统,并将电脑带入一个可控制状态,也就是说,它会给电脑一个可以操作的环境。
在bootstrap过程中,Linux首先读取配置文件grub.conf,然后以及识别出设备列表中加载的根设备,得到的结果将作为进一步操作的目标。接着从根设备开始寻找文件系统。
在文件系统被发现后,Linux会开始加载系统内核,如Linux的内核源码文件vmlinuz。
在系统内核加载完毕后,Linux将会构建一个模块索引文件,还会加载抽象层次模型(VFS),然后Linux又会开始构建内核线程管理环境,现在,电脑已经完成了在内存中的准备工作,接下来正式步进I/O子系统,此时内核会构建相关I/O子系统,用于向内核模块提供磁盘读写能力。
接着Linux内核开始执行/sbin/init 命令,这一部分,Linux会加载相应的系统服务模块,如字符集支持、日志服务器,文件系统支持等,让我们的操作系统环境得到性能的提升。
当这些系统服务模块加载完毕后,Linux将进入引导启动的完成阶段,也就是进入用户可以操作的状态,用户可以现在开始分配运行资源,实现更多的程序运行。
总的来说,Linux的引导启动流程很复杂,若能正确理解其原理以及这一系列的动作,会有助于我们更好的掌握Linux的各种功能,也能快速的帮助我们解决一些使用的疑问。