KVMハイパーバイザー上で実行されているゲストオペレーティングシステムの設定ファイルを提供する必要があります。
「qemu」と9P virtioのサポートにより、ホストとゲスト間のKVMのフォルダ共有オプションについて読みました。ホストからゲストへのワンタイムファイル転送を支援できる簡単なプログラムについて知りたいです。
ゲストOSの実行中にファイルを転送する方法と、ゲストOSが実行されているときにゲストOSでファイルを使用できるようにする可能性のある方法(ファイルのパッケージング、可能であればディスクイメージとの統合など)を教えてください。
ホストオペレーティングシステムはLinuxです。
答え1
2つの異なるアプローチを考えてみました。
- ネットワーク経由でファイルを転送します。たとえば、ホストでhttpdを実行し、Webブラウザを使用したりファイルをダウンロードしたりでき
wget
ますcurl
。おそらく最も簡単で便利です。 転送するファイルを使用してホストにISOイメージを構築します。その後、ゲストのCDドライブに接続します。
genisoimage -o image.iso -r /path/to/dir virsh attach-disk guest image.iso hdc --driver file --type cdrom --mode readonly
mkisofs
代わりに使用できますgenisoimage
。- GUI(たとえば
virt-manager
、CUIの代わりにvirsh
)を使用してISOイメージをゲストに関連付けることができます。 - 事前に仮想マシンを作成し、仮想マシンのIDをとして提供する必要があります
guest
。既存の仮想マシンを表示できますvirsh list --all
。
答え2
ゲストを起動する前にこれを行うもう1つの簡単な方法は、ホストにゲストファイルシステムをマウントすることです。ここ。その後、マウントされたファイルシステムにファイルをコピーするだけです。たとえば、QCOW2イメージの場合は、次のことができます。
sudo modprobe nbd max_part=63
sudo qemu-nbd -c /dev/nbd0 <image_filename>.cow
その後、グラフィカルファイルマネージャで開くか、コマンドを使用してインストールできますmount
。
答え3
もう1つの方法はguestmountユーティリティを使用することです。
訪問者を閉じる
ゲストディスクマウント
guestmount -a ~/win10.vdi -m /dev/sda3 /mnt
/ mntでゲストファイルを編集します。
ゲストスタート
答え4
別の方法は、USBフラッシュドライブを使用することです。
Virtual Machine Manager > 仮想マシン > USB デバイスリダイレクト