【已解决】virt-manager 无法使用 libvirtd 守护进程无法启动

无法连接至 libvirt qemu:///system。

验证适当的 libvirt 守护进程是否正在运行。

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 940, in _do_open
    self._backend.open(cb, data)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/share/virt-manager/virtinst/connection.py", line 173, in open
    conn = libvirt.openAuth(self._open_uri, [valid_auth_options, authcb, cbdata], open_flags)
  File "/usr/lib/python3.14/site-packages/libvirt.py", line 148, in openAuth
    raise libvirtError('virConnectOpenAuth() failed')
libvirt.libvirtError: 将插槽连接到 '/var/run/libvirt/virtqemud-sock' 失败: 没有那个文件或目录
╰─$ sudo systemctl status libvirtd                                                                                                  1 ↵
× libvirtd.service - libvirt legacy monolithic daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/libvirtd.service.d
             └─10-secret.conf
     Active: failed (Result: start-limit-hit) since Tue 2026-09-01 18:52:22 CST; 240ms ago
 Invocation: 5d2451f435814111a096dc58cb14b467
TriggeredBy: × libvirtd-ro.socket
             × libvirtd-admin.socket
             × libvirtd.socket
       Docs: man:libvirtd(8)
             https://libvirt.org/
    Process: 3820 ExecStart=/usr/bin/libvirtd $LIBVIRTD_ARGS (code=exited, status=243/CREDENTIALS)
   Main PID: 3820 (code=exited, status=243/CREDENTIALS)
   Mem peak: 2.7M
        CPU: 12ms

9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 5.
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Start request repeated too quickly.
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Failed with result 'start-limit-hit'.
9月 01 18:52:22 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.

─$ journalctl -u libvirtd.service  

9月 01 18:47:48 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:47:49 archlinux (libvirtd)[935]: libvirtd.service: Failed to determine local credential key: No such f
ile or directory
9月 01 18:47:49 archlinux (libvirtd)[935]: libvirtd.service: Failed to set up credentials: No such file or direc
tory
9月 01 18:47:49 archlinux (libvirtd)[935]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvir
td: No such file or directory
9月 01 18:47:49 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:47:49 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:47:49 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:47:49 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 1.
9月 01 18:47:49 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:47:50 archlinux (libvirtd)[944]: libvirtd.service: Failed to determine local credential key: No such f
ile or directory
9月 01 18:47:50 archlinux (libvirtd)[944]: libvirtd.service: Failed to set up credentials: No such file or direc
tory
9月 01 18:47:50 archlinux (libvirtd)[944]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvir
td: No such file or directory
9月 01 18:47:50 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:47:50 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:47:50 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:47:51 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 2.
9月 01 18:47:51 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:47:52 archlinux (libvirtd)[947]: libvirtd.service: Failed to determine local credential key: No such f
ile or directory
9月 01 18:47:52 archlinux (libvirtd)[947]: libvirtd.service: Failed to set up credentials: No such file or direc
tory
9月 01 18:47:52 archlinux (libvirtd)[947]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvir
td: No such file or directory
9月 01 18:47:52 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:47:52 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:47:52 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:47:52 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 3.
9月 01 18:47:52 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:47:53 archlinux (libvirtd)[1007]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:47:53 archlinux (libvirtd)[1007]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:47:53 archlinux (libvirtd)[1007]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:47:53 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:47:53 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:47:53 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:47:54 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 4.
9月 01 18:47:54 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:47:55 archlinux (libvirtd)[1097]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:47:55 archlinux (libvirtd)[1097]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:47:55 archlinux (libvirtd)[1097]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:47:55 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:47:55 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:47:55 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:47:55 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 5.
9月 01 18:47:55 archlinux systemd[1]: libvirtd.service: Start request repeated too quickly.
9月 01 18:47:55 archlinux systemd[1]: libvirtd.service: Failed with result 'start-limit-hit'.
9月 01 18:47:55 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:15 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:52:16 archlinux (libvirtd)[3800]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:52:16 archlinux (libvirtd)[3800]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:52:16 archlinux (libvirtd)[3800]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:52:16 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:52:16 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:52:16 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:16 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 1.
9月 01 18:52:16 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:52:17 archlinux (libvirtd)[3812]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:52:17 archlinux (libvirtd)[3812]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:52:17 archlinux (libvirtd)[3812]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:52:17 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:52:17 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:52:17 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:18 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 2.
9月 01 18:52:18 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:52:19 archlinux (libvirtd)[3814]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:52:19 archlinux (libvirtd)[3814]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:52:19 archlinux (libvirtd)[3814]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:52:19 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:52:19 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:52:19 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:19 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 3.
9月 01 18:52:19 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:52:20 archlinux (libvirtd)[3817]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:52:20 archlinux (libvirtd)[3817]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:52:20 archlinux (libvirtd)[3817]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:52:20 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:52:20 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:52:20 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:21 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 4.
9月 01 18:52:21 archlinux systemd[1]: Starting libvirt legacy monolithic daemon...
9月 01 18:52:22 archlinux (libvirtd)[3820]: libvirtd.service: Failed to determine local credential key: No such 
file or directory
9月 01 18:52:22 archlinux (libvirtd)[3820]: libvirtd.service: Failed to set up credentials: No such file or dire
ctory
9月 01 18:52:22 archlinux (libvirtd)[3820]: libvirtd.service: Failed at step CREDENTIALS spawning /usr/bin/libvi
rtd: No such file or directory
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Main process exited, code=exited, status=243/CREDENTIALS

9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Failed with result 'exit-code'.
9月 01 18:52:22 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Scheduled restart job, restart counter is at 5.
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Start request repeated too quickly.
9月 01 18:52:22 archlinux systemd[1]: libvirtd.service: Failed with result 'start-limit-hit'.
9月 01 18:52:22 archlinux systemd[1]: Failed to start libvirt legacy monolithic daemon.


systemctl cat libvirtd.service看看服务文件是怎么写的。

另外注意一下,

以后给别人贴日志输出时不要加-x,会多许多无用的行;也不要加-e,容易漏掉关于报错的重要线索。

╰─$ systemctl cat libvirtd.service
# /usr/lib/systemd/system/libvirtd.service
[Unit]
Description=libvirt legacy monolithic daemon
Documentation=man:libvirtd(8)
Documentation=https://libvirt.org/
# Use Wants instead of Requires so that users
# can disable these three .socket units to revert
# to a traditional non-activation deployment setup
Wants=libvirtd.socket
Wants=libvirtd-ro.socket
Wants=libvirtd-admin.socket
After=libvirtd.socket
After=libvirtd-ro.socket
After=libvirtd-admin.socket
Requires=virtlogd.socket
Wants=virtlockd.socket
After=virtlogd.socket
After=virtlockd.socket
# To ensure that our helper daemons are not shut down before the main daemon
# shuts down we need also explicit ordering with the .service unit
After=virtlogd.service
After=virtlock.service
Wants=systemd-machined.service
After=network.target
After=dbus.service
After=iscsid.service
After=apparmor.service
After=remote-fs.target
After=systemd-machined.service
After=xencommons.service
Conflicts=xendomains.service

[Service]
Type=notify-reload
Environment=LIBVIRTD_ARGS="--timeout 120"
EnvironmentFile=-/etc/conf.d/libvirtd
ExecStart=/usr/bin/libvirtd $LIBVIRTD_ARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
# Raise hard limits to match behaviour of systemd >= 240.
# During startup, daemon will set soft limit to match hard limit
# per systemd recommendations
LimitNOFILE=1024:524288
# The cgroups pids controller can limit the number of tasks started by
# the daemon, which can limit the number of domains for some hypervisors.
# A conservative default of 8 tasks per guest results in a TasksMax of
# 32k to support 4096 guests.
TasksMax=32768
# With cgroups v2 there is no devices controller anymore, we have to use
# eBPF to control access to devices. In order to do that we create a eBPF
# hash MAP which locks memory. The default map size for 64 devices together
# with program takes 12k per guest. After rounding up we will get 64M to
# support 4096 guests.
LimitMEMLOCK=64M

[Install]
WantedBy=multi-user.target
Also=virtlockd.socket
Also=virtlogd.socket
Also=libvirtd.socket
Also=libvirtd-ro.socket
Also=libvirtd-admin.socket

# /usr/lib/systemd/system/libvirtd.service.d/10-se
cret.conf
[Unit]
Requires=virt-secret-init-encryption.service
After=virt-secret-init-encryption.service

[Service]
Environment=SECRETS_ENCRYPTION_KEY=%d/secrets-encryption-key
LoadCredentialEncrypted=secrets-encryption-key:/var/lib/libvirt/secrets/secrets-encryption-key

你有这个文件吗?

另外你最近有对TPM做什么事吗?

有这个文件,没有对tpm做什么操作

systemctl status virt-secret-init-encryption.service看看?

─$ 

sudo systemctl status virt-secret-init-encryption.service 
○ virt-secret-init-encryption.service
     Loaded: loaded (/usr/lib/systemd/system/virt-secret-init-encryption.service; static)
     Active: inactive (dead)
  Condition: start condition unmet at Tue 2026-09-01 18:52:22 CST; 21min ago
             └─ ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key was not met

9月 01 18:47:51 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:47:52 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:47:54 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:47:55 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:15 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:16 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:18 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:19 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:21 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key
9月 01 18:52:22 archlinux systemd[1]: virt-secret-init-encryption.service skipped, unmet condition check ConditionPathExists=!/var/lib/libvirt/secrets/secrets-encryption-key

这里说明这个文件在它运行的时候是存在的,所以它跳过了。难道是后来被删掉了?注意你可能需要用root权限来检查它是否存在。

如果确定不存在的话,sudo systemctl start virt-secret-init-encryption.service运行一次,然后看看文件生成了没有。

文件是存在的,我刚刚看错路径了

─$ ll /var/lib/libvirt/secrets/secrets-encryption-key 
-rw------- 1 root root 596  8月29日 22:42 /var/lib/libvirt/secrets/secrets-encryption-key

这个进程启动不起来 sudo systemctl start virt-secret-init-encryption.service

如果它存在但是libvirtd启动不了的话,你删掉这个文件再用virt-secret-init-encryption.service重新生成试试。

——注意这可能会丢失某些libvirtd用的加密数据,我也不知道里边会有什么。你不知道的话应该不重要。

感谢依云大佬,删除,重新生成后libvirtd就启动起来了

对了,现在的论坛每个回复右下角都有个「:white_check_mark:」可以标记「已解决」,不用修改标题的老方法了。