在 Ubuntu 使用 virt-install 安装系统时出现了一个 utf-8 的错误,一看就知道是 Python 的问题,没找到具体啥原因。网上找了个解决办法。
[Thu, 26 Sep 2024 12:34:59 virt-install 14981] DEBUG (cli:1539) Exception parsing inst=<DeviceDisk disk 140620030633504> optstr=/tmp
Traceback (most recent call last):
File "/usr/share/virt-manager/virtinst/cli.py", line 1526, in parse
objs = self._parse(inst is None and self.guest or inst)
File "/usr/share/virt-manager/virtinst/cli.py", line 3532, in _parse
super()._parse(inst)
File "/usr/share/virt-manager/virtinst/cli.py", line 1496, in _parse
param.parse_param(self, inst)
File "/usr/share/virt-manager/virtinst/cli.py", line 1142, in parse_param
self._virtarg.cb(parser, inst, self.val, self)
File "/usr/share/virt-manager/virtinst/cli.py", line 3582, in set_path_cb
inst.set_source_path(val)
File "/usr/share/virt-manager/virtinst/devices/disk.py", line 638, in set_source_path
(newpath, vol_object, parent_pool) = diskbackend.manage_path(
File "/usr/share/virt-manager/virtinst/diskbackend.py", line 148, in manage_path
if not path_is_url(path) and not path_is_network_vol(conn, path):
File "/usr/share/virt-manager/virtinst/diskbackend.py", line 184, in path_is_network_vol
for volxml in conn.fetch_all_vols():
File "/usr/share/virt-manager/virtinst/connection.py", line 295, in fetch_all_vols
return self._fetch_helper(
File "/usr/share/virt-manager/virtinst/connection.py", line 179, in _fetch_helper
self._fetch_cache[key] = raw_cb()
File "/usr/share/virt-manager/virtinst/connection.py", line 245, in _fetch_all_vols_raw
ret.extend(self._fetch_vols_raw(poolxmlobj))
File "/usr/share/virt-manager/virtinst/connection.py", line 231, in _fetch_vols_raw
dummy1, dummy2, vols = pollhelpers.fetch_volumes(
File "/usr/share/virt-manager/virtinst/pollhelpers.py", line 58, in fetch_volumes
return _new_poll_helper(origmap, typename, list_cb, build_cb, support_cb)
File "/usr/share/virt-manager/virtinst/pollhelpers.py", line 26, in _new_poll_helper
name = obj.name()
File "/usr/lib/python3/dist-packages/libvirt.py", line 4112, in name
ret = libvirtmod.virStorageVolGetName(self._o)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 3: invalid start byte
virsh 登录后,使用 pool-list 命令,删除自己的,我这里是 appuser,再次virt-install 问题消失。