virt-manager 2.2.1を使用して、Arch LinuxホストとKaliゲストの間に共有ディレクトリを作成してみました。
「新しい仮想ハードウェアの追加」→「ファイルシステム」に進みます。
「完了」をクリックすると、次のエラーメッセージが表示されます。
Error adding device: unsupported configuration: only supports passthrough accessmode
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/addhardware.py", line 1351, in _add_device
self.vm.add_device(dev)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 408, in add_device
self._redefine_xmlobj(xmlobj)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 417, in _redefine_xmlobj
self._redefine_xml_internal(origxml, newxml)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 395, in _redefine_xml_internal
self._define(newxml)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 999, in _define
self.conn.define_domain(xml)
File "/usr/share/virt-manager/virtManager/connection.py", line 612, in define_domain
return self._backend.defineXML(xml)
File "/usr/lib/python3.8/site-packages/libvirt.py", line 4048, in defineXML
if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirt.libvirtError: unsupported configuration: only supports passthrough accessmode
この問題を解決し、共有ディレクトリを持つ方法はありますか?
答え1
ドライバを「Handle」から「Path」に変更する必要がありました。
共有ディレクトリを操作する設定とコマンドは次のとおりです。
仮想管理者から:
- ドライバー:パス
- モード:マッピング
- 書き込み戦略:即時
共有ディレクトリに対してホストに設定された権限:
sudo chgrp kvm shared/
chmod 770 shared/
ゲストに共有ディレクトリをマウントします。
sudo mount -t 9p -o trans=virtio /hostshare /home/guest/shared
この/hostshare
部分がvirt-managerで定義された「ターゲットパス」です。
ゲスト内の共有ディレクトリはにあります/home/guest/shared
。
答え2
そしてビチオフス
virt-manager 4.0.0では、共有ディレクトリを作成する方法は次のとおりです(まだエラーは発生していません)。
ホストから
ホストに共有ディレクトリを作成します。
sudo -u libvirt-qemu mkdir ~/vm/arch_linux/shared
仮想マシンのvirt-manager GUIで、[ハードウェアの追加]をクリックしてファイルシステムを選択します。
ゲストのインテリア
共有ディレクトリをマウントします。sudo mount -t virtiofs /hostshare ~/shared
「対象経路」について
/hostshare
この例では、これを「ターゲットパス」として使用しています。 virt-managerのXML構成では、このプロパティを「ターゲットディレクトリ」と呼びます。これはゲストオペレーティングシステムへのパスではなく識別子に近いです。
~によると文書:
名前にもかかわらず、ターゲットディレクトリは、マウントする共有ファイルシステムを識別するためにゲスト内で使用されるマウントタグと呼ばれるランダムな文字列です。ゲストの必須マウントポイントと一致する必要はありません。