2TB超のVHD(仮想ハードディスク)を作成。

Windows 7 やWindows Server 2008 R2 では、VHD ファイルを内蔵ドライブとして直接マウント可能なのですが、その容量についてネットで検索すると「最大 2TB まで」という情報が散見されます。

ざっとみたところ、それらの情報は「Hyper-V 」「容量可変」という前提で書かれています。

ちょうどバックアップ用に3TBのHDDを買ってきたところなので、本来の目的に使う前に、「Hyper-V とは関係なく」「容量固定」だとどうなるのか?という実験をしてみました。

(Windows Server 2008 R2 SP1 を使いました。)

 

 

結論、出来ました

E:ドライブとしてマウントした3TBの物理HDDの中に 2.5TBの容量固定のVHDファイルを作成し、それをF:ドライブとしてマウントすることに成功しました。

(作成には4時間以上かかりました。。。 もう二度とやりません。)

なおフォーマットの際には、パーティションのスタイルをGPT形式にする必要があります。旧来のMBR形式を選択すると、MBR自体が2TBまでしか扱えないため、2TBを超える部分が「未割り当て」として残ってしまいます。

※表示上は2TB超だけど、実際には2TB分しか機能しない・・・ という可能性も僅かに残ってはいますが、そこまで検証するのは面倒なので今回はパス。(おそらく次回はありません。)

 

 

次に、Hyper-V 上の仮想マシンのブートディスクとして、このVHDを利用出来るか試してみました。

まずはF:ドライブとしてのマウントを解除。Hyper-Vで新規の仮想マシンを作成してこのVHDを接続し、Windows Server 2008 R2 をインストールします。ところが・・・

インストールウィザードの「Windows のインストール場所を選択してください。」画面で、「このディスクにWindowsをインストールする事はできません。選択されたディスクはGPTのパーティションの形式ではありません。」と断られてしまいました。

いや、GPTなんですけど。。。

ここでパーティションを新規に作り直すと、2TB以上の数値を入力しても2TBのパーティションが作成され、のこりは「未割り当て」となります。この2TBのパーティションを選択すれば「次へ」ボタンがアクティブになるため、おそらくインストール可能です。(実施にはそこまでやってません。)

その状態でインストールを中断し、仮想マシンをシャットダウンしてホスト側にVHDをマウントしたところ、思った通りMBR形式になっていました。

 

 

2TB超のVHDを、仮想マシンのブートディスクには出来ないことが分かったので、次に、既存の仮想マシンのデータディスクとして接続可能か否かを試しました。

まずは、MBRになってしまったVHDをGPTに戻します。それから仮想マシン(Windows Server 2008 R2 SP1)の設定画面でVHDを接続し、起動します。

仮想マシン側の「ディスクの管理」画面で確認したところ、ちゃんとGPT形式のまま、2.5TBの大きなディスクとして認識されています。そのままE:ドライブとしてフォーマットしたところ、ちゃんとエクスプローラーからも2.49TBで認識されるようになりました。

 

 

なるほど、仮想マシンのブートは無理でも、データ用ならオッケーなんですね。