Hyper-V(Win8)ホスト・ゲスト間のファイル共有は少々厄介だ。
Win8.1Pro/Enterpriseであれば「拡張セッションモード」というものがサポートされていて、これでクリップボード経由のデータ授受が出来るらしい。
ところがWin8Proにはこの拡張セッションが無い。
この機能が使えないのは残念だ。
前回、仮想HD経由のやり取りを説明したが、これはスナップショットが生成されていると、本体のvhdxとavhdx(差分ディスク)のチェーンが切れてしまうらしく、仮想HDのシステムが起動しなくなってしまう。
そこでデータ授受専用の仮想HDを作ることにした。
(1)データ授受専用仮想HDの作成
- ホストOSでdiskmgmt.mscを管理者権限で実行する
- ディスク管理画面にて、操作「VHDの作成」を選択
- ディスクサイズを指定(使いたい分適当に)
- パーティションスタイルはMBRにしました
- ディスク初期化
- シンプルボリューム作成(ウィザードで指示に従い)
- オフラインにする
- VHDを切断する
以上で仮想HD(vhdファイル)をゲストOSでアタッチできるようになる。
(2)ゲストOSで仮想ディスクを認識
- Hyper-Vマネージャーにて、データ授受をするゲストOSの設定を行う(実行中でOK)
- SCSIコントローラのハードドライブを選択
- 仮想HDのvhdファイルを追加する
以上で仮想HDがゲストOSに認識される。
(WinXPでは認識されなかったが、WinServer2003では認識された。)
-★-
ここで、データの授受を行う。
-★-
(3)ホストOS(Win8)で仮想ディスクを認識させるには
- Hyper-Vマネージャーにて、データ授受をしたゲストOSの設定を行う(実行中でOK)
- 仮想HDを削除する(削除と言うより解放ですね)
- 仮想HD(vhdファイル)をExploreで選択し、右クリックする
- 「マウント」を選択
(以上で仮想HDがゲストOSから解放され、ホストOSや他のゲストOSで認識可能になります。)
以上で仮想HDがホストOSに認識される。
解放はUSBと同じく「取り出し」でOKだ。