Solución a: “System has not been booted with systemd as init system”
Estás intentando ejecutar un comando como systemctl y de repente Linux te responde con este mensaje:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is downEste error es muy común en Debian, Ubuntu, Linux Mint y derivadas, y genera muchísima confusión. La clave es entender algo importante desde el principio: no siempre es un error real. Muchas veces, el sistema está funcionando exactamente como debería.
En este artículo te explicamos por qué aparece este mensaje, cuándo podés ignorarlo y cuándo sí necesitás solucionarlo.
¿Qué significa realmente este mensaje?
Linux está diciendo que systemd no es el proceso número 1 (PID 1). En un sistema normal de escritorio o servidor, systemd es el encargado de iniciar todos los servicios. Pero en ciertos entornos, simplemente no se usa systemd.
Cuando intentás usar systemctl en uno de esos entornos, aparece este mensaje.
Casos donde este mensaje es NORMAL
1. Estás usando WSL (Windows Subsystem for Linux)
En muchas versiones de WSL, systemd no está activo por defecto. Por eso, cualquier comando como:
systemctl status sshva a fallar con este mensaje. En este caso, no hay nada roto.
2. Estás dentro de un contenedor Docker o LXC
Los contenedores no arrancan con systemd como init. Usan un proceso simple como PID 1.
Ejecutar systemctl dentro de un contenedor casi siempre produce este error.
3. Estás en un chroot o modo recovery
Si entraste a tu sistema desde un live USB usando chroot o estás en recovery mode, systemd no está activo.
Otra vez: el mensaje es esperado.
Cómo verificar si systemd está corriendo
Podés confirmarlo con:
ps -p 1 -o comm=Si la salida no es systemd, entonces ese es el motivo del mensaje.
Cuándo SÍ es un problema real
Si este error aparece en:
- Un sistema Debian/Ubuntu/Mint instalado normalmente
- Arrancando desde disco
- En una sesión gráfica o consola real
Entonces sí hay un problema: el sistema no arrancó correctamente con systemd.
Solución 1: asegurarse de que systemd esté instalado
En Debian y derivadas, systemd debería estar instalado por defecto. Verificalo:
dpkg -l systemdSi no está instalado o está dañado:
sudo apt update
sudo apt install --reinstall systemd systemd-sysvSolución 2: verificar el init configurado
Revisá qué init está configurado:
readlink /sbin/initLa salida correcta debería apuntar a:
/lib/systemd/systemdSi no es así, reinstalar systemd-sysv suele solucionarlo.
Solución 3: revisar parámetros del kernel
En casos raros, systemd puede quedar deshabilitado desde GRUB.
Editá:
sudo nano /etc/default/grubAsegurate de que NO exista un parámetro como:
init=/bin/bashLuego actualizá GRUB:
sudo update-grubSolución 4: si estás en WSL y querés systemd
En versiones modernas de WSL, systemd puede habilitarse.
Editá:
sudo nano /etc/wsl.confAgregá:
[boot]
systemd=trueLuego reiniciá WSL completamente.
Conclusión
El mensaje “System has not been booted with systemd as init system” no siempre indica un error. En muchos casos, simplemente estás en un entorno donde systemd no se utiliza, como WSL, contenedores o recovery mode. El verdadero problema aparece solo cuando este mensaje surge en un sistema instalado normalmente.
Entender el contexto es clave: una vez que sabés dónde estás ejecutando los comandos, la solución suele ser clara y rápida.
