Investigate a slow-boot complaint by validating the boot device layout, inspecting
kernel artifacts in /boot, reading kernel boot parameters, and
identifying the init system via symlink inspection. Capture evidence using CLI-only
commands suitable for documentation or escalation.
Your client suspects their system takes too long to boot. You have been asked to investigate the boot sequence, identify the boot-relevant filesystem layout, locate kernel artifacts, read boot parameters, and confirm the init system in use.
This is baseline evidence you collect before deeper timing analysis or service-level root cause work. The goal here is to confirm what the system is booting, where it is booting from, what kernel arguments are in effect, and what init process takes over.
/boot./proc./sbin/init symlink./boot holds the artifacts the bootloader loads (kernel image and
initramfs). Multiple kernels can exist side-by-side.
/proc/cmdline shows the kernel arguments in effect for the current
boot. Treat it as the source of truth for runtime boot flags.
lsblk
This confirms whether /boot is a separate partition and which
device backs the root filesystem. It is your starting point for identifying the
storage path the system boots from.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 39.5G 0 part /
/boot.
ls /boot
This confirms the presence of the kernel image (vmlinuz) and
initramfs (initrd.img) that the bootloader loads. It also makes it
easy to spot multiple installed kernels.
config-5.15.0-91-generic
initrd.img-5.15.0-91-generic
vmlinuz-5.15.0-91-generic
cat /proc/cmdline
This shows the exact arguments passed to the kernel at boot, including the
selected kernel image, root device, and common flags such as ro,
quiet, and splash.
BOOT_IMAGE=/boot/vmlinuz-5.15.0-91-generic root=/dev/sda2 ro quiet splash
stat /boot/vmlinuz*
This captures file size and timestamps for the kernel image. It is useful evidence when you need to establish when a kernel was installed or last changed.
File: /boot/vmlinuz-5.15.0-91-generic
Size: 11894272
Access: 2025-07-01 09:14:22.000000000
Modify: 2025-06-30 22:51:03.000000000
Change: 2025-06-30 22:51:03.000000000
ls -l /sbin/init
On many systems, /sbin/init is a symlink to the real init binary.
Following the link is a fast way to confirm whether the host is running
systemd or another init system.
lrwxrwxrwx 1 root root 20 Jan 1 00:00 /sbin/init -> /lib/systemd/systemd
Some systems use a different layout (for example, a unified kernel image, a
mounted EFI system partition, or a bootloader that references paths under
/boot/efi). Confirm mounts with lsblk and
findmnt /boot /boot/efi.
That is normal on many systems. Use uname -r to confirm the running
kernel version and correlate it with the kernel image names under
/boot.
The value can vary by distro and bootloader configuration. Treat it as one
signal, then corroborate with uname -r and the files present under
/boot.
Some distros ship /sbin/init as a real binary or a wrapper. If it is
a file, use file /sbin/init and readlink -f /sbin/init
to confirm what it resolves to.
This lab is read-only. Cleanup is saving your captured output (commands and evidence) into your notes or ticket for future comparison.
You can quickly describe the boot storage layout, identify the kernel artifacts in use, read the active kernel arguments, and confirm the init system without relying on a GUI.
lsblk: Lists block devices and their mount points.ls /boot: Lists boot-related files (kernel images, initramfs, configs).
/boot: Common location for kernel and initramfs artifacts.cat /proc/cmdline: Shows the kernel boot parameters for the current boot.
/proc: Virtual filesystem exposing process and kernel interfaces.root=: Indicates the device used as the root filesystem.ro: Root filesystem initially mounted read-only during early boot.quiet: Reduces kernel console output.splash: Enables a graphical boot splash on systems that support it.stat /boot/vmlinuz*: Displays file metadata for kernel images under /boot.
Access: Last access time.Modify: Last content modification time.Change: Last metadata change time.ls -l /sbin/init: Shows what init binary /sbin/init points to.
-l: Long listing format (permissions, owner, and symlink target)./sbin/init: Conventional init entrypoint that points to the real init system./lib/systemd/systemd: Indicates systemd is the init system in use.