创建 KVM 虚拟机 Unable to find swtpm setup binary in PATH 报错

后知后觉 暂无评论

创建 Windows 11 虚拟机时,需要 TPM (Trusted Platform Module) 受信模块才能安装,因此在创建 KVM 虚拟机时添加此模块。

然后在启动虚拟机时遇到报错

Error starting domain: Unable to find 'swtpm_setup' binary in $PATH: No such file or directory

Traceback (most recent call last):

  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 101, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1329, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1353, in create
    raise libvirtError('virDomainCreate() failed')
    
libvirt.libvirtError: Unable to find 'swtpm_setup' binary in $PATH: No such file or directory

报错的大致意思是没有在 $PATH 中找到 swtpm_setup 的可执行文件,经过查询发现这是用于模拟 TPM 模块使用的。

需要手动安装 https://github.com/stefanberger/swtpm 才能实现。

这个模块的开发者已经针对一些常见的发行版制作了安装包。

在没有特殊需要的情况是只需要安装以下四个包,dbgsym 结尾的是调试所需的符号文件,_dev 结尾的是开发工具,非开发的情况下无需安装。

libtpms0_0.9.1-1_amd64.deb 
swtpm-libs_0.7.0-1_amd64.deb
swtpm-tools_0.7.0-1_amd64.deb
swtpm_0.7.0-1_amd64.deb

架构根据机器类型选择,没有的架构需要手动编译。


附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。