Instiq
Chapter 1 · Installing Linux and Using VMs / Containers·v1.0.0·Updated 7/6/2026·~12 min

What's changed: Initial version (topic 1.01, subtopics 1.01.1–1.01.5)

1.3The Boot Process and systemd

Key points

Learn the flow from power-on to a usable Linux system and boot target management with systemd: the UEFI/BIOSboot loader → kernel → systemd sequence, setting/changing the default target with systemctl, switching to single-user mode (rescue), and shutdown/halt/reboot/poweroff.

"The server won't boot", "it boots into the GUI", "I need a minimal boot for maintenance"—understanding the boot process underpins all of these. On modern Linux, systemd drives startup, and its targets control how far the system boots.

1.3.1From power-on to a running system

  • Boot order: UEFI/BIOS (hardware init, boot device selection) → boot loader (GRUB2 selects and loads the kernel) → kernel (mounts the root filesystem via initramfs) → systemd (starts services as PID 1).
  • systemd starts services (units) in parallel based on dependencies, booting faster than legacy SysV init.
  • A target is a unit group representing how far to boot: multi-user.target (CUI, server standard), graphical.target (GUI), rescue.target (single-user mode), emergency.target (minimal).

1.3.2Managing targets with systemctl

  • Check the default target with systemctl get-default; set it with systemctl set-default multi-user.target (effective from next boot).
  • Switch on the fly with systemctl isolate rescue.target (drop to single-user mode now, for maintenance).
  • Stop/restart via systemctl (systemctl poweroff / systemctl reboot) or the classic commands (shutdown, halt, reboot, poweroff)—today both paths end up handled by systemd.
Exam point

The key contrast: from next boot = set-default / right now = isolate. "Maintain in single-user mode (rescue.target)" → systemctl isolate rescue.target; "always boot to CUI" → systemctl set-default multi-user.target. Choose by when it takes effect.

Frame it as troubleshooting. After power-on, UEFI/BIOS runs POST, then loads the boot loader (GRUB2) from the highest-priority device. GRUB2 selects a kernel and options; the kernel unpacks initramfs (an initial RAM disk with the drivers needed to mount the real root), mounts the root filesystem, and starts systemd as PID 1. systemd then boots units in parallel toward the default target. For servers where the GUI is wasteful, set systemctl set-default multi-user.target. For disk repair or password resets, enter single-user mode with systemctl isolate rescue.target (or add systemd.unit=rescue.target to the kernel arguments in the boot loader). When even rescue fails, emergency.target is the last resort.

GoalCommandTakes effect
Check default targetsystemctl get-default
Always boot to CUIsystemctl set-default multi-user.targetFrom next boot
Drop to single-user nowsystemctl isolate rescue.targetImmediately
Power off / rebootshutdown / poweroff / rebootAs specified
Warning

Trap: "systemctl set-default rescue.target drops to single-user mode now" is wrong—set-default applies from the next boot; isolate switches immediately. Reordered boot sequences ("boot loader after the kernel", "systemd before the kernel") are classic wrong answers—the order is UEFI/BIOS → boot loader → kernel → systemd.

Boot order: UEFI/BIOS → boot loader → kernel → systemd.
The order itself is exam material

1.3.3Section summary

  • Boot order = UEFI/BIOS → boot loader (GRUB2) → kernel (initramfs) → systemd (PID 1)
  • set-default = next boot / isolate = now; CUI standard = multi-user.target, rescue = rescue.target

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. The system is running and you must switch to single-user mode now for maintenance. Which command?

Q2. Which boot sequence is correct?

Q3. A server currently boots into a GUI. You want it to always boot to the text console (CUI) from next boot. Which command?

Check your understandingPractice questions for Chapter 1: Installing Linux and Using VMs / Containers