# 启动

Linux启动是一个复杂的过程，随着技术的发展，从早期的`init`到现代化的`systemd`；从原始的`LiLo`/`Grub`到复杂的`Grub2`，以及涉及到复杂的文件系统分区、EFI、initramfs等等，都是需要仔细和系统的学习。

当开始自己编译内核，很多时候无法启动都是因为涉及到复杂的启动加载等问题，本章系统地分析Linux启动流程和涉及的技术，以期能够在故障排查、内核升级编译等领域有所指引。
