启动流程分析
linux启动时我们会看到许多启动信息。
Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段:
- 内核的引导。
- 运行 init。
- 系统初始化。
- 建立终端 。
- 用户登录系统。
开机管理程序就被称为 Boot Loader,功能是加在内核,位置在boot sector之中。
内核文件就在/boot之中,图片最后一项就是内核文件。由initramfs加载开机过程中所最需要的核心模块, 通常这些模块就是 USB, RAID, LVM,SCSI 等文件系统与磁盘接口的驱动程序,其实initramfs就是一个小型的根目录,里面最终也是执行initrd.targe来启动,挂载根目录后再卸载initramfs这个小型文件系统,实际的挂载系统的根目录。
操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
内核启动后第一件事就是启动systemd,CentOS 7.x 的 systemd 开机流程大约是这样:
- local-fs.target + swap.target:这两个 target 主要在挂载本机 /etc/fstab 里面所规范的文件系统与相关的内存
置换空间。 - sysinit.target:这个 t