Kernel boot parameters (also known as kernel arguments or command-line parameters) provide foundational instructions to the Linux kernel during the initial boot sequence before user-space daemons initialise. System administrators, developers, and hardware troubleshooters rely on these parameters to configure graphics drivers (such as nomodeset), enable serial console logging, isolate CPU cores, force disk checks, or debug hardware lockups.
In Ubuntu, the GRUB 2 bootloader oversees parameter delivery. You can inspect active parameters, modify them temporarily during a single boot, or commit permanent changes to system configuration.
Checking Currently Active Kernel Boot Parameters
To view the exact arguments supplied to your running kernel:
cat /proc/cmdline
A typical Ubuntu workstation outputs a line similar to:
BOOT_IMAGE=/boot/vmlinuz-6.8.0-40-generic root=UUID=5a2f8b14-3c81 ro quiet splash vt.handoff=7
Key parameters include:
ro: Mounts the root filesystem read-only initially until fsck validates integrity.quiet: Suppresses standard kernel informational logs during startup.splash: Displays the graphical Plymouth animation rather than text console output.
Modifying Kernel Parameters Temporarily at Boot (GRUB Menu)
If a graphics driver crash or broken module prevents Ubuntu from reaching the graphical login screen, pass temporary parameters to test remedies without permanently modifying files:
- Reboot your system. Hold down Shift (on BIOS systems) or press Esc (on UEFI systems) repeatedly to reveal the GRUB menu.
- Highlight your default Ubuntu entry and press e to enter the GRUB editor.
- Use the arrow keys to locate the line starting with
linux. - Navigate to the end of the line and append your diagnostic parameter separated by a space (for example,
nomodesetorfsck.mode=force). - Press Ctrl + X or F10 to boot with your temporary arguments.
Temporary modifications expire automatically upon the next reboot.
Making Kernel Parameter Changes Permanent in Ubuntu
Once you verify that a parameter functions correctly and solves a persistent issue:
- Open the GRUB configuration file using administrative privileges:
sudo nano /etc/default/grub - Locate the line beginning with
GRUB_CMDLINE_LINUX_DEFAULT:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" - Append your desired parameter inside the quotation marks:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" - Save the file by pressing Ctrl + O, then Enter, and exit with Ctrl + X.
- Update GRUB to compile your changes into
/boot/grub/grub.cfg:sudo update-grub
Reboot your system and execute cat /proc/cmdline to confirm that your new parameter is permanently active.