When i want to boot up my laptop it shows this error to me
[FAILED] Failed to start Dispatcher daemon for systemd-networkd
Please help me.
When i want to boot up my laptop it shows this error to me
[FAILED] Failed to start Dispatcher daemon for systemd-networkd
Please help me.
It sounds as if you have >1
systemd.network(5)
configuration file in/etc/systemd/network
(or have [Match] section specifying >1 interface with a wildcard) with none set with theRequiredForOnline=false
directive in the[Link]
section. In that case,systemd-networkd-wait-online.service
will expect all thesystemd-networkd
managed interfaces to reach aroutable
operational state.Though setting that directive will also make it ignored by
systemd-networkd-wait-online.service
entirely, which is also probably not what you want. If you don't care about ordering against thenetwork-online.target
, then you might as well disable and/or mask the unit.If you would prefer to retain the advantages of ordering dependencies against
network-online.target
, then the easiest way around this that I've found is to simply use the--any
switch. Either create the file/etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf
or usesudo systemctl edit systemd-networkd-wait-online.service
(which will also create the same file) and include these lines...A subsequent
sudo systemctl daemon-reload
andsudo systemctl restart systemd-networkd-wait-online.service
should tell you immediately whether it worked or not.Alternatively, you can use the
--interface=
and/or--ignore=
switches withsystemd-networkd-wait-online
. These may be used in place of, or in conjunction with, the--any
switch shown above. If used with the--any
switch, it will only consider those interfaces passed to--interface=
, or not explicitly disregarded with--ignore=
, when determining whether the machine has reached an online state.Your system is not freezing during the boot process, it's entered a waiting state for the network devices to be completely configured before continuing on. The ultimate fix will come from an examination of of the configuration files in
/etc/systemd/network
and the service logs as revealed byjournalctl -xe | grep networkd
, focusing your attention on any links whose status in the report fromnetworkctl status -a
is not listed as "configured". This has been known to happen when IPv6 is unavailable or misconfigured, but also for various other reasons.You should reboot the system in recovery mode via your bootloader (GRUB, rEFInd, etc.) and select the root option from the menu that appears. From there you can examine the system with the above-mentioned commands and/or enable debugging logs for the service by creating a new directory with
mkdir /etc/systemd/system/systemd-networkd.service.d
and then creating a new file in it called override.conf (e.g.sudoedit /etc/systemd/system/systemd-networkd.service.d/override.conf
) with the following contents:You can test the success of your modifications to the files in
/etc/systemd/network
while still in recovery mode using the command/usr/lib/systemd/systemd-networkd-wait-online && echo $?
. If you've fixed the problem the output will be 0. Failing all else, you can disable the service entirely withsudo systemctl disable systemd-netword-wait-online.service
Relevant man pages: