Get-Volume で表示されないパーティションがあった。

Windows Server 2012 の PowerShell 3.0 から使えるようになったコマンドレットの一つに、"Get-Volume" というものが有ります。

特にオプションを付けずにそのまま実行すると、現状でそのコンピューター内に存在するパーティションが全て表示されます。

要するに "diskpart" コマンドにおける "list volume" と同じようなものか・・・ と思っていたのですが、必ずしもそうではないケースもあるということに気づきました。

 

 

普段、各種確認/検証作業は Windows Server 2012 の Hyper-V 上にある仮想マシンで行っているのですが、ふとした思いつきで、ホスト側でもこの "Get-Volume" コマンドレットを実行してみました。

すると、その結果には "diskpart" の "list volume" や、「ディスクの管理画面」には表示される「EFI システムパーティション」というパーティション(100MB)が表示されていません。

 

 

このパーティションは、"mountvol" コマンドにより表示される「現在のマウントポイントとボリューム名の考えられる値」の一覧にも表示されません。

そのため、このパーティションが "Get-Volume" コマンドレットの結果に表示されないのは、「マウントされていない」ことが原因ではないかと考えられます。

"mountvol" コマンドのオプションを調べてみると "/S" というものがあり、その効能は「EFI システムパーティションを与えられたドライブにマウントします。」となっています。

おそらく、この方法でこのパーティションをマウントしてやれば、"Get-Volume" コマンドレットの結果にも表示されるようになるのでしょう。

が、ホストの環境はあまり弄りたくないので未確認です。