質問: virt-managerでqemu / kvm仮想マシンに物理パーティションを追加します 関連する質問に対するこの回答の指示に従いました: 物理ディスクをkvm_仮想マシンに追加 vmの.xmlファイル内の結果のコードは次のとおりです。<disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source dev='/dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544'/> <target dev='vdb' bus='virtio'/> <boot order='2'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> /dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544の代わりに<source>要素に/dev/sda4を使用したことに注意してください。私を悩ませているのは、私のユースケースはdiskの代わりにpartitionをqemuに渡すことです。 windows 10をインストールすると、セットアップインストーラーがストレージを認識しないため、 fedoraproject からviostorドライバーをロードする必要がありました。windowsのインストールは問題なく行われ、パフォーマンスは驚くべきものでしたが、vmがオフになっていると、ホストシステムはパーティションフォーマットを認識しません。viostorドライバーがロードされたwindowsインストーラーが ベアディスク上のwindowsで通常必要な追加のパーティション を作成したのは興味深いことです。言い換えれば、それはおそらくパーティションの内部にパーティションを作成しました。これは不可能であるべきだ、またはそう思った。/dev/sda4はホストに存在しますが、ntfsファイルシステム(実際には予期されていません)、lvm、ldm( ldmtool でテスト済み)として認識されません。vmは、 q35チップセット で efiモード で正しく起動しています。質問:virt-managerにパーティションを追加する手順は正しいですか、それともディスクではなくパーティションに対してのみ行うべきですか?また、どのパーティションタイプまたはフォーマットになったのですか?
回答: 解決策は、/dev/sdaまたは/dev/disk/by-id/の同等物のようなブロックデバイス全体を<source dev=''>設定に渡すようです。これにより、windowsセットアップは、ホストのルートパーティションを含む既存のパーティションを確認できます。次の条件が満たされる限り、競合は発生しません。 すでにホストにマウントされているゲストのパーティションをマウント/変更しようとしないでください。そして vmがパワーオンされている間、ゲストが現在使用しているパーティションをホストからマウント/変更しません。 最初の点に関しては、vmを起動する前にホストからesp(efiシステムパーティション)をアンマウントする必要があります。私はそのためのスクリプトを最初に書いてから、qemuオートメーションフックの形で より良い解決策 を思いつきました。 https://gitlab.com/ranolfi/rvirtesp で利用できるようにしています。これの素晴らしいところは、デュアルブートのように、マザーボードのブートメニューで新しいエントリを選択することで、仮想化osをネイティブにブートできることです。これが「サポートされている」かどうかは正確にはわかりません。しかし、ほぼ1年間、問題なく使用しています。