---
name: "dracut-shutdown.service"
section: "8"
platform: "linux"
package: "dracut"
version: "111-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dracut-shutdown.service"
---

# dracut-shutdown.service(8)

unpack the initramfs to /run/initramfs

## NAME

dracut-shutdown.service - unpack the initramfs to /run/initramfs

## SYNOPSIS

dracut-shutdown.service

## DESCRIPTION

This service unpacks the initramfs image to /run/initramfs. systemd pivots into /run/initramfs at shutdown, so the root filesystem can be safely unmounted.

The following steps are executed during a shutdown:

• The system starts to shut down

• \`\`$prefix/lib/systemd/system/sysinit.target.wants/dracut-shutdown.service\`\` gets its \`\`ExecStop\`\` target triggered.

• \`\`dracut-shutdown.service\`\` executes \`\`/usr/lib/dracut/dracut-initramfs-restore\`\` which unpacks the initramfs to \`\`/run/initramfs\`\`

• systemd kills all processes

• systemd tries to unmount everything and mounts the remaining read-only

• systemd checks if there is a \`\`/run/initramfs/shutdown\`\` executable

• if yes, it does a pivot\_root to \`\`/run/initramfs\`\` and executes \`\`./shutdown\`\`. The old root is then mounted on \`\`/oldroot\`\`. \`\`/usr/lib/dracut/modules.d/\[0-9\]\[0-9\]shutdown/shutdown.sh\`\` is the shutdown executable.

• shutdown will try to unmount every \`\`/oldroot\`\` mount and calls the various shutdown hooks from the dracut modules

This ensures, that all devices are disassembled and unmounted cleanly.

To debug the shutdown process, you can get a shell in the shutdown procedure by injecting "rd.break=pre-shutdown rd.shell" or "rd.break=shutdown rd.shell".

```
# mkdir -p /run/initramfs/etc/cmdline.d
# echo "rd.break=pre-shutdown rd.shell" > /run/initramfs/etc/cmdline.d/50-debug.conf
# touch /run/initramfs/.need_shutdown
```

In case the unpack of the initramfs fails, dracut-shutdown-onfailure.service executes to make sure switch root doesn’t happen, since it would result in switching to an incomplete initramfs.

## AUTHORS

Harald Hoyer

## SEE ALSO

[**dracut**(8)](/dracut/8.md)
