コマンドラインからQEMU VMを起動するには?

コマンドラインからQEMU VMを起動するには?

ubuntu20.10QEMU 構成の詳細については、次を使用する代わりに、コマンドラインから直接 VM を起動したいと思います。仮想管理者

私が読んでlibvirt xmlをqemuコマンドラインに変換する1つの方法は、/var/log/libvirt/qemu/ubuntu20.10.log呼び出されたコマンドを検索することですqemu-system-x86_64

たとえば、virt-managerを介して仮想マシンを起動し、そのログを確認しました。

LC_ALL=C \
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin \
HOME=/var/lib/libvirt/qemu/domain-11-ubuntu20.10 \
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-11-ubuntu20.10/.local/share \
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-11-ubuntu20.10/.cache \
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-11-ubuntu20.10/.config \
QEMU_AUDIO_DRV=spice \
/usr/bin/qemu-system-x86_64 \
-name guest=ubuntu20.10,debug-threads=on \
-S \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-11-ubuntu20.10/master-key.aes \
...

ただし、呼び出すと次のエラーが発生します。

2021-03-11T21:38:13.041883Z qemu-system-x86_64: - オブジェクトの秘密、id=masterKey0、フォーマット=raw、file=/var/lib/libvirt/qemu/domain-11-ubuntu20.10/master-key .aes:

/var/lib/libvirt/qemu/domain-11-ubuntu20.10/master-key.aes を読み取れません: '/var/lib/libvirt/qemu/domain-11-ubuntu20.10/master-key ファイル開けません。 '.aes': 対応するファイルやディレクトリはありません。

実際には/var/lib/libvirt/qemu/domain-11-ubuntu20.10/存在しません。

明らかに間違ったコマンドが記録されるのはなぜですか? CLIを介して仮想マシンを正しく起動する方法は?


アップデート:追加情報

/var/lib/libvirt/qemu/domain-xx-ubuntu20.10/virt-managerで仮想マシンを起動すると、フォルダが一時的に作成されるようです。 VMを停止すると、フォルダは再度削除されます(したがってコマンドエラー)。

また、リンクされた投稿で提案された他のソリューションも試しました。

代替2

ps -fA | cat # copy qemu command while VM started via virt-manager
# problem is the same here with a temporary folder being referenced.

代替3

virsh domxml-to-native qemu-argv --domain ubuntu20.10

ドメインフォルダが想定されますが、/var/lib/libvirt/qemu/domain--1-ubuntu20.10存在しません。コマンド出力:

LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin HOME=/var/lib/libvirt/qemu/domain--1-ubuntu20.10 XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-ubuntu20.10/.local/share XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-ubuntu20.10/.cache XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-ubuntu20.10/.config QEMU_AUDIO_DRV=spice /usr/bin/qemu-system-x86_64 -name guest=ubuntu20.10,debug-threads=on -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-ubuntu20.10/master-key.aes ...

呼び出し時に予想通り、次のエラーが発生します。

2021-03-12T09:34:03.794205Z qemu-system-x86_64: - オブジェクトの秘密、id=masterKey0、フォーマット=raw、ファイル=/var/lib/libvirt/qemu/domain--1-ubuntu20.10/master- key.aes: /var/lib/libvirt/qemu/domain--1-ubuntu20.10/master-key.aes: '/var/lib/libvirt/qemu/domain--1-ubuntu20 ファイルを開くことができません。 10/master-key.aes": そのファイルやディレクトリはありません。

QEMU/KVM/virt-manager 生態系の初心者としてこれが混乱しています。追加情報が必要な場合は、質問を更新します。


  • Ubuntu 20.04(最新アップデート)
  • ウェールズ語 6.0.0
  • 仮想マネージャ 2.2.1
  • QEMUエミュレータバージョン4.2.1(Debian 1:4.2-3ubuntu6.14)
  • 仮想マシンにスナップショットがあります(重要な場合)。

ベストアンサー1

問題をよく理解したら、私に合った解決策を見つけました。https://www.garron.me/en/bits/start-stop-kvm-virtual-machine-command-line.html。私がアプリについて提案したものは次のとおりです。 Virtual Manager を使って仮想マシンを作成し、名前を「Xubuntu20.04」としました。実際にはvirshによって閉じられ、正しくリストされています。

~$ virsh list --all
 Id   Name           State
-------------------------------
 -    Xubuntu20.04   shut off

それからvirshで始めます。

~$ virsh start Xubuntu20.04
Domain Xubuntu20.04 started

最後に、リモートビューアを使用して仮想マシンへの接続を確立しました。仮想マシン用に設定した2つのモニターを表示できるため、Remote Viewerを使用します。この例では、デフォルトのポート5900を維持していますが、便宜に応じて変更できます。

~$ remote-viewer spice://localhost:5900

表示される出力について心配しないでください。仮想マシンが実際に起動します。

(remote-viewer:15718): Gtk-WARNING **: 14:32:38.836: Theme parsing error: gtk.css:2:15: Unit is missing.

(remote-viewer:15718): GLib-GObject-WARNING **: 14:32:39.635: value "64" of type 'gint' is invalid or out of range for property 'desktop-width' of type 'gint'

(remote-viewer:15718): GLib-GObject-WARNING **: 14:32:39.635: value "64" of type 'gint' is invalid or out of range for property 'desktop-height' of type 'gint'

それはすべてです。このヒントが誰かに役立つことを願っています。

おすすめ記事