昨日使用していた VM に問題があります。使用後、ゲストを閉じてホスト マシン (arch linux) を更新しました。今日、ホストをオンにしてゲストをオンにしようとすると、次のメッセージが表示されます。
ドメインの起動エラー: サポートされていない構成: chardev 'spicevmc' は spice グラフィックスなしではサポートされません
トレースバック(最新の呼び出しが最後):
ファイル "/usr/share/virt-manager/virtManager/asyncjob.py"、行 72、cb_wrapper callback(asyncjob, *args, **kwargs)
ファイル "/usr/share/virt-manager/virtManager/asyncjob.py"、行 108、tmpcb callback(*args, **kwargs)
ファイル "/usr/share/virt-manager/virtManager/object/libvirtobject.py"、行 57、newfn ret = fn(self, *args, **kwargs)
ファイル "/usr/share/virt-manager/virtManager/object/domain.py"、行 1384、起動時の self._backend.create()
ファイル "/usr/lib/python3.10/site-packages/libvirt.py"、行 1352、作成時に libvirtError('virDomainCreate() failed') が発生します。libvirt.libvirtError: サポートされていない構成: chardev 'spicevmc' は spice グラフィックスなしではサポートされません
私は Manjaro ゲスト OS で専用の NVIDIA カードを使用しています。
私は Linux の専門家ではありません。
何が起こっているのか、またこれをどのように修正すればよいのか、何かご存知ですか?
他に必要な情報があればお知らせください。
更新#1:
VM から USB spice リダイレクタを削除しました。
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="4"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="5"/>
</redirdev>
そして今は正常に動作します...ただ、ゲスト OS に USB リダイレクタが存在できなくなりました...なぜそうなるのか、またどのように修正するのかを知っている人はいますか?
答え1
私の解決策は、上記の回答のいくつかに基づいています。
基本的に、「Channel Spice」デバイス (個々の USB デバイスのリダイレクトなどに使用) を使用するために、次のようになりました。
- 「ディスプレイスパイス」デバイス(スパイスサーバー)
- 「ビデオ」デバイスが「なし」に設定されている
- そして私のスパイスチャンネル(これは私が欲しかったチャンネルだったのですが、エラーが出ていました)
各デバイスのスクリーンショットと XML は以下にあります。
Spice デバイスの表示のスクリーンショット (仮想マシン マネージャー)
<graphics type="spice" port="5901" autoport="yes" listen="127.0.0.1">
<listen type="address" address="127.0.0.1"/>
<image compression="off"/>
<gl enable="no"/>
</graphics>
ビデオ デバイスのスクリーンショット (仮想マシン マネージャー)
<video>
<model type="none"/>
<alias name="video0"/>
</video>
Spice チャネル デバイスのスクリーンショット (仮想マシン マネージャー)
<target type="virtio" name="com.redhat.spice.0" state="disconnected"/>
<alias name="channel0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
答え2
私の VM でも同じ問題が発生していますが、この修正は evdev でも機能しますか?
更新: 以下を削除することすらできません:
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="1"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="2"/>
</redirdev>
同じエラーが吐き出される
更新2: スパイスサーバーを追加し、ビデオをなしに設定した後、VMが起動します
答え3
同じく、virsh editを使用して2つのspiceリダイレクタを削除できましたが、すべて正常に動作するようになりましたが、それらが何に使用されていたのかはわかりません。