libvirt xmlをqemuコマンドラインに変換する

libvirt xmlをqemuコマンドラインに変換する

私はvirt-managerを使って仮想マシンを作成し、virsh editを使ってxmlを編集することができました。しばらく前に、誰かが同じ質問をしたことを発見しました。

https://www.reddit.com/r/VFIO/comments/dh9iyo/convert_libvirt_xml_into_qemu_command_line_and/

ユーザーjkhsjdhjsが言った:

libvirt xmlをqemuコマンドラインに変換するには、libvirtを使用して仮想マシンを起動するだけです。 libvirtは複数のコマンドライン引数を使用してqemuプロセスを開始し、それを保存できます。 libvirtはqemuプロセスを開始するため、まったく同じことを行う必要があります。

わかりましたが、なに? qemuコマンドに含まれるすべてのオプションを表示できるように、libvirtを使用して仮想マシンを起動する方法を知りたいです。

私は以前試しました:

virsh dumpxml win10

virsh domxml-to-native qemu-argv win10.xml

error: internal error: invalid PCI passthrough type 'default'

答え1

質問はqemuコマンドラインを生成する方法を尋ねるため、virshVM(ドメイン)の起動後に実行されるプロセスのみを表示できます。ただし、質問にもっと正確に答えるには、次のコマンドが正しいことがあります。

virsh domxml-to-native

domxml-to-native qemu-argv --domain [name_of_vm]これは、仮想マシンが起動せず、これを実行するためのコマンドラインのみが生成されるためです。 〜のようにウェールズ馬マニュアルページには次のように記載されています。

domxml-to-native format { [--xml] xml | --domain domain-name-or-id-or-uuid }

ファイル変換XMLドメインXML形式に変換または既存の変換- ドメイン形式別に名前が付けられたデフォルトのゲスト構成形式。これXMLそして- ドメイン引数は相互に排他的です。次のタイプの場合滞在引数、参照domxml-from-native

答え2

ゲストのQEMUログファイルを表示します。これらのログファイルはホストのフォルダにあります。/var/log/libvirt/qemu/DomainName

実行を見ることができます。/usr/bin/qemu-system-x86_64...ログのコマンドです。

答え3

1 つの方法は、コンピュータを VirtManager で実行している状態にして端末ウィンドウに移動し、ps コマンドを使用してすべてのプロセスを一覧表示することです。 ps -fA または ps -fA | cat。 (cat長い文字列がコンソールにラップされます)。それからあなたは見つけることができますゲームVirtManagerが実行したコマンドテキストを処理して抽出します。これは、単にqemuを呼び出してマシンを実行するためです。

関連情報