物理ハード ディスクの空き容量と仮想ハード ディスクのサイズの関係
よくVHD ブートをすると物理ディスクの空き容量問題に遭遇します。VHD ブートは仮想ハード ディスクに指定したサイズ分の容量を消費します。
例えば、
- VHDファイルの物理 サイズは約20GB
- 仮想ハード ディスクに指定したサイズは100GB
下記画像のPhisical Diskの空き容量を比較すると消費されていることが分かります。
この状況で仮想ハード ディスクのサイズを100GBから206GB以上に拡張(又は指定)すると物理ディスクの空き容量がゼロになるためVHD ブートは失敗します。
VHDブートをする場合は、物理ディスクの空き容量と仮想ハードディス サイズの関係を理解しておくとトラブルにはなりないので覚えておきましょう。
V2V時のディスク ドライバー
インターネットのブログ記事などによると、ストレージ インターフェースが異なる環境にV2V(仮想環境を移行)した場合、VHD ブートに失敗するケースがあるようです。例えば、SATAの環境で作成・使用していたVHDファイルをSCSIやRAIDの環境へ移行する場合など。
- VHD ブートで起動できない。 -クリエ・イルミネート ブログ
- P2V、V2VでVHD取得後0x0000007Bが発生する場合(Windows2003) - Windows NT/2000/XP/2003/2008 Page
差分VHDは可能
最初に作成したVHDファイルを親とし、差分のVHDファイルの子を通常使用する方法も可能です。ブランチ出来るので、便利ですね。
尚、差分ファイルを使いたい場合は
- diskpart コマンドを実行
- Boot Managerへ登録
あまり複雑な使い方(親⇒子⇒孫⇒孫・・・)はトラブルの元なので、場合によってはHyper-Vを使った方が安全・安心かもしれません。
- かなり慣れてきた! ~ 独自の VHD ブート 差分管理~ - 隆添えはここにいます
- Windows 8 Enterprise を VHDX / 差分 VHDX ブート - SEの雑記
- VHDネイティブブートによるテスト環境の構築 - ABT Knowledge Blog
仮想ハード ディスクを拡張した
物理ハード ディスクに空きがあることが前提ですが、仮想ハード ディスクを拡張する事が可能です。山内さんのブログ記事を参考に、物理ハード ディスクのOSからDiskpart コマンドを使用し100GBから150GBへ拡張してみました。
最大サイズの153600は計算機で150*1024で計算した結果です。
DISKPART> select vdisk file=c:\vhdx\win10_pro_10240.vhdx DiskPart により、仮想ディスク ファイルが選択されました。 DISKPART> expand vdisk maximum=153600 100% 完了しました DiskPart により、仮想ディスク ファイルは正常に拡張されました。 DISKPART> attach vdisk 100% 完了しました DiskPart により、仮想ディスク ファイルがアタッチされました。 DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 238 GB 0 B * ディスク 1 オンライン 29 GB 0 B * ディスク 2 オンライン 150 GB 50 GB * DISKPART> detach vdisk DiskPart により、仮想ディスク ファイルがデタッチされました。
参考になったリンク
VHD ブートの基本、構築、及びトラブルシューティングに役立ちそうな記事をメモしておきます。