Back to tech

HyperVで作成したVMへファイルをシェアするスクリプトファイルを作ってみた

1 min read
Table of Contents

久しぶりにVM(バーチャルマシン)でCentOSを動かしています

普通はVMware環境で作るのがメジャーらしいですが、windowsに標準搭載されているHyperVでVMを起動しています

そのときに困ったこととしてホストとのファイルの共有です

ホスト側で作成したファイルをVMへ送りたいと思ったときに色々探していたもなかなか出てこない状態でした

一応出てきたものとして仮想HDDを作成してそこでファイルのやりとりする方法とPowerShellを利用する方法がでてきました

最初は前者でやっていたのですがなかなかうまくできなかったので後者でやったらできました

いちいちPowerShell開いてコマンド打つのがめんどくさくなったのでスクリプト化してドラックアンドドロップでシェアすることができるプログラムを作ってみたので記事としてあげておきます

はじめにGitHubにプログラムを上げたのでcloneしてください

GitHub - Momijinn/SendFileVMWithBat: VMにファイルをbatでおくる
github.com
image

バーチャルマシンに保存先のディレクトリを作成してください

home/miya/MVFile

“VMShareMain.bat”を開き以下のところを修正します

※setの部分を変えるのですが空白を入れると起動しなくなるので注意!

rem ファイルを送信したいバーチャルマシンの仮想ディスクの名前
set TargetVM=YOUR_VIRTUALMACHINE_DRIVE
rem ファイルを送信したいバーチャルPCのユーザーネーム
set VMname=VIRTUALMACHINE_USERNAME
rem 送信ファイルするファイルをおくディレクトリ
set CopyDirectory=COPYDIRECTORY

例としてこんな感じ

rem ファイルを送信したいバーチャルマシンの仮想ディスクの名前
set TargetVM=CentOS-7-1708
rem ファイルを送信したいバーチャルPCのユーザーネーム
set VMname=miya
rem 送信ファイルするファイルをおくディレクトリ
set CopyDirectory=VMFile

“VMShare.ps1”と”VMShareMain.bat”をひとまとめにして適当な場所に配置してください

Documents/
    ├VMFileShare/
        ├VMShare.ps1
        └VMShareMain.bat

“VMShareMain.bat”のショートカットを作成しデスクトップに配置.その後、プロパティを開き、管理者として実行にチェックをしてください

あとは下記の画像の感じにバーチャルマシンを起動した状態でVMへ送信したファイルをbatにドラックアンドドロップすると共有されます

参考文献