Linux: Set systemd target (init/runlevel level) at grub command line

Hi,

if you temporary don’t want to boot to a graphical login manager you can, at the grub command line, tell the systemd-target the system should boot to.


Boot your system and an the grub menu press “e”. Then go to the linux.

...
linux /boot/vmlinuz-4.15.0-109-generic root=UUID=5eb5f5a8-3493-4bed-b459-46209334b360 ro biosdevname=0 net.ifnames=0 quiet splash $vt_handoff
...

Remove the quiet and splash to disable the splashscreen and add the systemd target for the next boot systemd.unit=multi-user.target
Looks like this

...
linux /boot/vmlinuz-4.15.0-109-generic root=UUID=5eb5f5a8-3493-4bed-b459-46209334b360 ro biosdevname=0 net.ifnames=0 systemd.unit=multi-user.target $vt_handoff
...

Then press Ctrl-X to boot.

Michael

0 thoughts on “Linux: Set systemd target (init/runlevel level) at grub command line”

  1. Hi, when I try this, I get

    dmesg | grep target
    [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.1.0-1012-oem root=UUID=3b25e5d4-ab5c-41c2-aa36-01922d865d83 ro i915.modeset=0 systemd.unit=multi.user-target
    [ 0.044002] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.1.0-1012-oem root=UUID=3b25e5d4-ab5c-41c2-aa36-01922d865d83 ro i915.modeset=0 systemd.unit=multi.user-target
    [ 5.246200] systemd[1]: Unit name specified on systemd.unit= is not valid, ignoring: multi.user-target

Leave a Reply