Hyper-V仮想マシンとファイル送受信する
Hyper-Vの仮想マシン上で動いているゲストOSとホストOSの間でファイルを共有したい場合、基本的にはネットワーク接続してファイルの共有を行います。
今回はネットワーク接続できない場合のホストマシンと仮想マシン間のファイル共有方法を紹介します。
ところで、なぜ私は今回ネットワーク接続できないような仮想マシンとファイル共有をしたいのでしょうか。
実は、、、
実家に置いてあった古いUSBハードディスクからWindowsXP時代によく遊んだゲームを発掘してしまったので、どうしてもWindows10でまた遊びたいんです!!(切実)
そんな理由のくだらん理由か・・・ と思ったあなた、まぁ動機はこんなんですが、この記事で紹介する仮想ディスクを使ったファイル共有を使うと、次のような環境でもホストと仮想マシンでファイル共有ができますので、知っておくと便利だと思います。
仮想マシン側の状態を確認
ずっと前に構築したWindowsXP保全用の仮想マシンなのですが、Hyper-Vマネージャでネットワークを有効にしても接続できなくなってしまいました。
デバイスマネージャーで確認するといくつか認識できないデバイスがみつかりました(①)。この中にネットワークカードがあるかもしれません。
ipconfigでネットワークカードに割り当てられたIPアドレスを確認しようとしたのですが、やはりNIC自体認識していないようです。
完全に外界と隔離されてしまっている・・・
でもいいんですよ。WindowsXPはもうサポート切れの古いOS。これをネットワーク接続すること自体が危険です。
仮想ディスクを作成して仮想OS上でマウントする
接続コントローラー選択
まずはファイル共有する時の入れ物を作ります。
Hyper-Vで仮想マシンを作るのと同様に、仮想ディスクを作ることもできます。
①IDEコントローラーを選択して②ハードドライブを選択し、③追加ボタンを押します。
IDEコントローラーに新しいハードドライブが追加されます。
①仮想ハードディスクを選択し、②新規ボタンを押します。
ここから仮想ハードディスクの作成ウィザードが開始されますので、次へ進んでいきましょう。
仮想ディスクのタイプ選択(VHD / VHDX)
仮想ディスクには2種類フォーマットがあります。
ゲストOSが比較的新しいOSであればVHDX形式の方が高性能かつ安全ですが、今回はWindowsXPで使いたいのでVHD形式にします。
ディスク容量(固定/可変)
仮想ディスクのタイプが選択できます。利用用途にあったものを選択してください。
今回はちょっとしたファイルの共有をしたいだけですので、容量固定タイプを選択しました。
仮想ディスクはホストOS上では一つのファイルとして扱われます。そのファイルの名前とどこに格納するか指定します。
仮想ディスク容量指定
どれぐらいの仮想ディスクを準備するか容量を指定します。今回はちょっとしたファイルのやりとりに使うので2GBにしました。1GBでも良かったのですが、指定できる最低サイズが2GBでした。
最後に確認して設定どおりであれば完了ボタンを押すと仮想ディスクファイルが作成されます。
仮想ディスクの作成が終わると、次のように仮想マシンの構成要素の一つとしてエントリーされます。これで仮想OS上でも一つのハードディスクとして認識できるようになります。
これで仮想ディスクの作成は終わりです。次は、作った仮想ディスクを仮想マシンのWindowsXPから使えるようにします。
仮想マシン上で仮想ディスクを認識させる
今作った仮想ディスクを使いたい仮想マシンを起動します。
今回はWindowsXPで確認します。
起動した直後は、ドライブとしてまだ認識できていません。どうやらHyper-Vの設定として仮想ディスクをアタッチしただけでは自動認識しないようです。
エクスプローラーで表示しても追加した仮想ディスクは出てきません。
ディスクの管理機能で仮想ディスクを認識させる
ディスクの管理機能を使って仮想ディスクを認識させます。
マイコンピュータを右クリックして管理を実行します。
初期化が必要なディスクを検知すると自動的にディスクの初期化と変換ウィザードが起動します。
ウィザードが起動しない場合や、起動したけどキャンセルしてしまった場合は、次のように初期化されていないディスクが表示されますので、右クリックします。
そしてディスクの初期化を実行すればウィサードが起動できます。
初期化するディスクを選択します。さきほど準備した仮想ディスクが表示されますのでチェックが付いていることを確認して次へ進みます。
複数の仮想ディスクを同時にセットした場合は複数表示されるっぽいですね。
ダイナミックディスクに変換するかどうか指定できます。もはやダイナミックディスクが何だったのか思い出せないので、チェック無しで次へ進みました。
ここで選択内容を確認して完了ボタンを押します。
パーティション分割してディスク領域を作成
仮想ディスクの状態がオンラインに変わり、未割り当て状態となります。次は右クリックして新しいパーティションを実行します。
次はディスク内をパーティション分割する作業に入りますので、次へ進みます。
作成するパーティションは、プライマリパーティションにしました。拡張パーティションが何だったのかも忘れてしまいました。よく昔はパーティション分割していたんですけどね・・・
今回はパーティション分割せずに一つでいきますので、最大ディスク容量と同じサイズを指定して一つだけにします。
仮想ディスクのドライブレターを選択します。今回は追加した仮想ディスクをEドライブにしました。
次にパーティションのフォーマット形式を選択します。FAT系とNTFSが選択できます。
まぁ普通にNTFSでよいでしょう。物理ディスクではないのでクイックフォーマットでささっと済ませます。
セッティング内容を確認して、完了ボタンを押せばできあがりです。
これで仮想ディスクがEドライブとして認識されました!
エクスプローラーでも確認してみましょう。Eドライブが増えていますね。
ファイルを共有してみる
仮想マシン(WindowsXP)からホストマシン(Windows10)へ
本当は先にWindows10側で仮想ディスクにファイルを保存して仮想マシンで見れるね、という感じで書くつもりだったのですが、逆になってしまいました。
WindowsXPから何を持ち帰ればよいというのだ、、、
ある!
今回の記事を書く際に思いっきり作業妨害してきたのがこやつです。
作業妨害の鬼、マインスイーパー!
WindowsXPを起動すると反射的に起動してしまうので、今回も気がついたら起動して遊んでました。
そんなわけで今回は記事を書き終えるまでにいつもの倍以上かかってしまいました。
もちろん、ちゃんと上級クリアしておきました。13分ぐらいかかってますね。腕が鈍りました。
WindowsXPからマインスイーパーを仮想ディスクへコピー
なにも持ち帰るものがないので、このゲームを持ち帰ってみます。Windows10で動くのかな?
ゲーム本体はここに入っています。ファイル名から判断するとこの3つっぽいです。
これを仮想ディスクにコピーして持ち帰ってみます。
Windows10で仮想ディスクの中身を見るには
恐ろしく簡単です。
仮想ディスクのVHDファイルを右クリックしてマウントをするか、ダブルクリックするとUSBメモリーのように一つのドライブとして認識できます。
おおお、GドライブとしてWindows10上から接続できました。
お持ち帰りの品物もちゃんと入っていますね。
試しにWindows10でマインスイーパーを起動してみたら、、、普通に動きました\(^o^)/
仮想ディスクは使い終わったらアンマウントする
仮想ディスクは使い終わったら右クリックの取り出しを実行して、アンマウントしておきましょう。こっちでマウントしていると仮想マシン起動した時にエラーになります。
ホストマシン(Windows10)から仮想マシン(WindowsXP)へ
次は逆にホストマシンから仮想マシンへのファイル共有ですが、
今の逆をやればよいだけです( ・ิω・ิ)
え? 雑すぎる?
もともとはWindowsXP時代のゲームを発掘したので、WindowsXPの仮想マシンに持ち込んで遊んでみたい!というところから始まっていますので、そちらの記事をご覧いただければと思います(鋭意執筆中)。ただ、懐かしいゲームで遊んでしまってライティングに時間かかってしまったらごめんなさい。
まとめ
今回は途中でゲームの話とかしてしまいちょっとグダグダ感ありますので、まとめます。
- ホストマシンと仮想マシン間のファイル共有はネットワーク経由か仮想ディスク経由で可能
- ネットワーク経由だと双方から同時にアクセスできるので簡単で便利だが、ネットワークが使えない環境では利用できない
- 仮想ディスク経由だとネットワークがない環境でも共有できるが、双方から同時にはアクセスできない点に注意
利用用途に応じて使い分ければよいと思います。
私の場合は、基本的にネットワーク経由でファイル共有し、今回のようにネットワーク接続できない仮想マシンの時は仮想ディスクを使っています。
コメント
仮想ディスク経由でファイルを共有しています。
ホストマシン(Windows10)から仮想マシン(WindowsXP)へのファイル共有は問題なく出来たのですが、仮想マシン(WindowsXP)からホストマシン(Windows10)への共有ができません。
XP側で、仮想ドライブにファイルを書き込んで、Win10側でマウント後に共有ドライブを見ると、壊れているというメッセージが出てコピーしたはずのファイルが見れません。
何が問題なのか、ご教授いただけると助かります。
壊れているというメッセージの詳細な情報をいただけますか?
もしかしたらなにか分かるかもしれません。
あと気になる点としては、
①Windows10側でマウントする時はXPの仮想マシンはシャットダウン済みですよね?
②XPからWin10へ持っていこうとしているファイルのサイズはどれぐらいでしょうか?
③仮想ディスクの全体サイズはいくつでしょうか?(この記事では2GB)
連絡が遅くなってしまい申し訳ございません。
①仮想マシンはシャットダウンしようとすると、必ずシャットダウンエラーに
なってしまいます。シャットダウンの代わりに「停止」を行っていました。
こちらは問題なく停止できます。
②ファイルのサイズは1kb程度のテキストファイルです。テストで作ったものです。
③仮想ディスクの全体サイズは2GBにしています。
仮想マシン(WindowsXP)側の共有フォルダ(私の環境ではEドライブ)にファイルを
書き込んだ後にchkdskを実行してから、ホストマシンに戻ってみるとファイルが見え
ました。ファイルが破損?していたのでしょうか?
Hyper-Vマネージャーからの停止は実機だといきなりコンセント抜くようなものですので、仮想ディスクに不整合が発生したのかもしれません。
まずはWidowsXPを正常にシャットダウンできるようにしたほうがよさそうですね。
hyper-vで仮想マシンxpを制作しwindows xpを使っていましたが今年に入ってから(アップデートされてから)ホストマシンから仮想マシンxpアクセスが出来なくなり凄く困っていました。そこでばったんさんのページを見かけ此れは良いと思い早速やって見ましたら 不具合が出て困っています。できましたらご指導をお願いしたいと思います。不具合の出たいきさつを書きますと 仮想マシンxpの設定→IDEコントローラー→ハードディスク→仮想ドライブを(E:)制作 仮想マシンxpからE:として認識し中が見れる状態を確認し仮想マシンxpとhyper-vをシャットダウンしホストパソコンから(windows11)マウントをしようとPCの中を見てもC:とDVDしか無くC:から中を見てゆきユーザー→パブリック→パブリックのドキュメント→hyper-v→virtual hard disks→新しい仮想ハードディスクにたどり着き右クリックしマウントをクリック→エラーメッセージが出ました(ファイルをマウントできませんでした。デイスクイメージは初期化されていないか認識できないパテェイションが含まれているかまたはドライブ文字が割り当てられていないボリームが含まれています。デイスク管理のスナップインを使用してディスクパーティションおよびボリームが使用可能な状態であることを確認してください)と出ます。そしてhyper-vをつけて仮想マシンxpをつけたところ 立ちあがらなくなり次のような警告が出ています(選択した仮想マシンでチェックポイント操作が失敗しました。チェックポイントを制作できません。)と出ていますどうしてでしょうか。お忙しいと思いますがご指導して頂ければと思います。勝手なお願いですがよろしくお願いします。
エラーメッセージを見る限りでは、
仮想ハードディスクがフォーマットされていない可能性がありますので、
記事の中の「ディスク初期化と変換ウィザードが表示されない場合はこちら」
の部分を試してみてください
(大事なデータが入っている場合はバックアップしてください)
早速やって見ます。仮想xpは立ちあがらなくなったので削除し新たにxpを入れなおしました。
有難う御座いました。早速 仮想マシンxpから仮想ハードディスクを作り(E:)を仮想xpのエクスプローラーで確認し仮想xpからはアクセス出来たので次はホストパソコンからアクセスしたく先回はエクスプローラーでC:→ユーザー→パブリック→と進んでいくとこの前みたいにエラーになると思うので今度はコンピューターの管理からディスクの管理を見ると4個パーティションが有って
ディスク0パーティション1 200MB
同じ 4 990MB
同じ 5 1.36GB
os(c:)
上記の様にあり パーティション(1・4・5)右クリックしてもヘルプしか出てこないマウントが有りません 仮想マシンxpの中で見たE:はどこを見れば有るのでしょうか?宜しくお願いします。
仮想マシン上のWindowsXPで仮想ディスクがEドライブとして認識して、XP上でEドライブになにかファイルを保存するところまではできた、ということで合っていますか?
それであれば、この画像の仮想ハードディスクのところに指定されている
「新しい仮想ハードディスク.vhd」ファイルが
仮想マシンWindowsXP上のEドライブの実体ですので、
ホストのWindows11ではこのファイルをエクスプローラー上で
右クリックしてマウントするとホスト上にドライブが増えて
WindowsXPのEドライブに保存したファイルがホスト上で見れると思います。
(画像)
https://blackbird-blog.com/wp-content/uploads/2021/10/2021-10-17_20h28_59-1024×942.png
有難うございます。ホストWindows11のエクスプローラーの見れるPCの所はOS(C:)とDVDドライブ(D:)だけです 新しい仮想ハードディスク.vhdは見れませんが?PCをクリックして見るほかにどこからか見える場所が有るのでしょうか?
「新しい仮想ハードディスク.vhd」ファイルを右クリックしてマウントが成功すれば、Windows11ホスト上のエクスプローラーで一つのドライブとして表示されるはずです。
表示されないのであればマウントをしていないか、エラー等が発生してうまくできていないと思われます。
早速有難う御座います。もう一度仮想xpの方から新しい仮想ハードディスク.vhdを作りやり直してみます。
仮想xpの方から新しい仮想ハードディスク.vhdを作り直してやって見ましたが仮想xpの方から新しい仮想ハードディスク.vhdは見る事もアクセスも出来ますがホストのWindows11の方は認識できませんでした。作り方がどこか悪いのでしょうねしょうがないので諦めます。DVD RWは使えますのでDVDでやり取りをします。大変お世話になりました有難う御座いました。またパソコンの事で分からない事が有れば教えてください宜しくお願いします。
先日はありがとうございました。あれから 暇な時にいろいろ触っておりまして見つけた事をお知らせします。今年の冬にアップデートされた時から繋がらなくなったのを考えて ネットワーク関連のチェックがされているか外れているかを順番にいろいろな所を探していたら、見つけました 参考になればと思い報告します まず コントロールパネル→プログラム(プログラムと書いて有る文字をクリック)→プログラムと機能→(小さい文字の)windwsの機能の有効化または無効化→smb1.0/cyfsファイル共有のサポート にチェックを入れる→その前の所の✙をチェックし→smb1.0/cyfsクライアント→smb1.0/cyfsサーバー→smb1.0/cyfs自動削除に合計4か所にチェックを入れる そうすれば繋がっていた時と同じ様にWindows11 2台 Windowsxp 1台 仮想マシンxp1台 この4台が以前のようにネットワークでアクセスできるようになり 相互にアクセスが出来ます。ご報告まで。