Загружается граб, затем граб загружает ядро, после чего граб грузит initrd и передает управление ядру. (Тут некая магия, которую я не знаю, включая обновление микрокода в процессоре). Ядро смонтировало корневую фс из initrd и запускает init, в нашем случае systemd. (Где-то тут стартует plymouth) Далее она, имея все необходимые мудули ядра, параметры ядра и конфиги, расшифровывает тома, подключает lvm, монтирует корневую фс и выполняет chroot(или что-то подобное) в настоящую корневую фс. Пошла загрузка. Вот как-то так
Если интерсно почитай про syscall switch root