本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Dismount-VHD」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、接続(マウント)した仮想ディスクを接続解除(ディスマウント)する「Dismount-VHD」コマンドレットです。
本連載第110回では仮想ディスクをマウントし、物理ディスクと同じように使用可能にする「Mount-VHD」コマンドレットを紹介しました。OS上で仮想ディスクをマウントすると、仮想ディスクファイルはロックされてしまうため、移動や削除ができません。
当然のことながら、他のプロセスからの操作もブロックされるため、仮想ディスクファイルに対して何か操作する際は、リムーバブルメディアのように“取り出す”必要があります。
GUI(グラフィカルユーザーインタフェース)のツール上からは、リムーバブルメディアと同様に、Windowsの「エクスプローラー」で「取り出し」を実施することでディスマウントできます。また、「ディスクの管理」ツールの「操作」メニューから「すべてのタスク」→「VHDの切断」を実行することで、仮想ディスクをディスマウントできます(画面1)。
Windows PowerShellで仮想ディスクの接続を解除する場合は、今回紹介するDismount-VHDコマンドレットを使用します。
【注】Dismount-VHDは「Windows PowerShell用Hyper-Vモジュール」に含まれるコマンドレットです。GUIの「Windowsの機能の有効化」や「役割と機能の追加」から「Hyper-V」を有効にするか、Windows PowerShellで「Enable-WindowsOptionalFeature」コマンドレットで有効にすることで使用できます。
オプション | 意味 |
---|---|
-Path | ディスマウントする仮想ディスクのパスを指定する。「-DiskNumber」オプション使用時には省略可能 |
-DiskNumber | ディスマウントする仮想ディスクのディスク番号を指定する。「-Path」オプション使用時には省略可能 |
-Passthru | オブジェクトをパイプ(|)で渡す場合に使用する。省略可能 |
Dismount-VHDコマンドレットを仮想ディスクのパスを指定して実行すると、仮想ディスクをディスマウントできます(画面2)。なお、Dismount-VHDコマンドレットは管理者権限で実行する必要があります。
Dismount-VHD -Path D:\VHDFolder\DataDisk_01.vhdx
上記実行例では、Dismount-VHDコマンドレット実行前後に「Get-Disk」コマンドレット(本連載第90回で紹介)で現在認識しているディスクを確認しています。Dismount-VHDコマンドレット実行後、ディスク番号「2」のディスクが消えていることが分かります。
Get-Diskコマンドレットでディスク番号を確認後、仮想ディスクのディスク番号を「-DiskNumber」オプションで指定してDismount-VHDコマンドレット実行することでもディスマウントできます(画面3)。
Dismount-VHD -DiskNumber 2
なお、Dismount-VHDコマンドレットもMount-VHDコマンドレット同様、パイプを使用する際には「-Passthru」オプションで“明示的にオブジェクトを引き渡す”必要があります。Windows PowerShellでスクリプトを作成する際には注意してください。
Microsoft MVP for Cloud and Datacenter Management(2012-2024)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.