概要
仮想ハードディスク(VHD)は、物理ディスクのファイル構造を模した単一のコンテナファイルです。Windows 7以降、WindowsはVHDの作成・管理機能を標準で備え、VHDは仮想マシンや検証環境、データ分離など幅広い用途で利用されています。VHDはファイルとして扱えるためバックアップや移動が容易で、動的割当て(dynamically expanding)なら初期に大きな空き容量を割り当てる必要がありません。
重要用語の1行定義: VHD — 仮想ハードディスクのコンテナファイル。VHDX — VHDの後継フォーマットで、より大きな容量や耐障害性を提供する。
利点
- 物理ディスクをパーティション分割する必要がない。
- 動的ディスクは使用した分だけファイルサイズが増えるため、無駄な容量消費を防げる。
- 単一ファイルなのでバックアップやコピーが容易。
- OSをインストールしてデュアルブート用に使うことができる。
- 作業が終わればVHDファイルを削除するだけで元の空き容量が復元される。
- Windowsだけでなく、LinuxやMacでもマウント可能な環境がある。
- ローカルネットワーク経由でアクセス可能な構成も作れる。
いつVHDを選ぶべきか、いつ避けるべきか
- 選ぶべき場面: テスト環境、短期的なOS検証、分離されたデータ領域の作成、簡単なバックアップや移行。
- 避けるべき場面: 大容量(2TB以上)や高パフォーマンス・高耐障害性が必要な本番データ(その場合はVHDXや物理ディスク、SANを検討)。
注意: VHDフォーマットにはサイズ上限(約2TB)があり、これを超える用途ではVHDXを検討してください。
GUIでVHDを作成する手順(Windows ディスク管理)
以下は画像付きのGUI手順です。画像はスクリーンショットを示します。
- スタートメニューで「管理ツール」を検索して開く。
- 「コンピューターの管理」をダブルクリックして開く。
- 左サイドバーで「記憶域」→「ディスクの管理」を右クリックし、「VHDの作成」を選択する。
- 「VHDの作成とアタッチ」ウィンドウで「参照」をクリックし、VHDファイルの保存先を選択する。サイズをMB/GB/TBで指定する。例: 3 GB を指定。
- VHD形式の既定を使用。
- 種類は「固定」か「動的」を選択(ここでは「動的」を推奨)。
- 作成が完了するとディスク管理上に仮想ディスクが表示される。ディスク名を右クリックして「初期化」を実行する。
- 初期化ウィンドウは既定のまま「OK」をクリック。
- その後、ディスクを右クリックして「新しいシンプル ボリューム」を選択し、ウィザードに従ってサイズ、ドライブ文字、ファイルシステム(既定はNTFS)を設定してフォーマットを実行する。
- 完了するとVHDはディスク管理に表示され、エクスプローラーでもドライブとしてマウントされる。
- 作業後はディスク管理で右クリック→「取り外し」を選ぶか、保存したVHDファイルをダブルクリックして再マウントできる。
コマンドライン(diskpart)で作成する方法(代替手段)
GUIで操作できない自動化シナリオやスクリプト実行時はdiskpartが便利です。管理者権限でコマンドプロンプトを開き、以下の手順を実行します。
例: 3GBの動的VHDを作成してドライブVを割り当てる
> diskpart
DISKPART> create vdisk file="C:\vhds\test.vhd" maximum=3072 type=expandable
DISKPART> select vdisk file="C:\vhds\test.vhd"
DISKPART> attach vdisk
DISKPART> create partition primary
DISKPART> format fs=ntfs quick label=VHD
DISKPART> assign letter=V
DISKPART> exit
注: maximumはMB単位です。VHDXを作成する場合は create vdisk file=”…vhdx” type=expandable source=vhdx のように拡張子をvhdxにします(OSとdiskpartのバージョンによる)。
VHDとVHDXの使い分け
- VHD: 互換性が高く古いOSやツールとの相性が良い。ただしサイズ上限は約2TB。
- VHDX: Windows 8/Server 2012以降のフォーマットで、4KBアライメントの最適化や耐障害性、最大サイズはさらに大きい。大容量・本番用途にはVHDXを推奨。
よくある失敗と対処法(トラブルシューティング)
- エラー: アクセスが拒否される — 管理者権限で実行しているか確認する。
- ファイルの保存先に空き容量がない — 保存先となるボリュームの空き容量を確認する。
- VHDが2TB以上必要なのにVHDを選んでしまった — VHDXを使うか、別途物理ディスクを利用する。
- マウントしてもドライブが表示されない — ディスクの初期化やパーティション作成、フォーマットを行っているか確認する。
- パフォーマンスが悪い — 動的VHDは性能が固定VHDより劣る場合がある。I/O要求が高い場合は固定VHDまたはVHDX、物理ディスクを検討。
ベストプラクティス
- 重要データにはVHDXや物理ディスクを検討する。
- 定期的にVHDファイルのバックアップを取る。
- VHDファイルの格納先は信頼できるストレージを選ぶ(RAIDやバックアップがある場所)。
- スナップショットや差分ディスクを使う場合は依存関係を管理する。
- 自動化する場合はdiskpartスクリプトやPowerShellを用いる。
管理者・開発者向けチェックリスト
- 管理者権限で操作を開始した
- 保存先に十分な空き容量がある
- VHDかVHDXかを用途に応じて選定した
- 作成後に初期化、パーティション、フォーマットを実施した
- 重要データは別途バックアップを取った
完了基準(検証ポイント)
- ディスク管理に新しいVHDが表示され、未割り当てスペースが初期化・フォーマット済みであること。
- エクスプローラーでドライブが認識され、読み書きが可能であること。
- 作成したVHDファイルを別のホストに移動して再マウントできること(移行の場合の確認)。
セキュリティとプライバシーの注意点
- VHDファイルは単一ファイルなので、アクセス制御(NTFS権限)や暗号化(BitLockerやEFS)で保護することを推奨します。
- ネットワーク経由でVHDを提供する場合は、転送と保存の両方で暗号化と認証を確保してください。
1行用語集
- VHD: 仮想ハードディスクコンテナ(最大約2TB)
- VHDX: VHDの改良版、大容量と耐障害性を提供
- 動的(Dynamically expanding): 実データ量に応じてファイルサイズが増える方式
- 固定(Fixed): 作成時にファイルサイズを確保する方式
代替アプローチと運用ヒント
- クラウドストレージやネットワーク共有にデータを置き、VHDを使わずに環境分離する
- 仮想化プラットフォーム(Hyper-V、VMware)のディスクフォーマット(VHD/VHDX/VDI/VMDK)を使い分ける
- 自動化: PowerShellのNew-VHD / Mount-VHD / Initialize-Disk コマンドレットを活用する
まとめ
VHDはテストや開発、短期的な環境構築に便利な手段で、Windowsのディスク管理からGUIで簡単に作成できます。大容量や本番運用ではVHDXや物理ディスクを検討し、暗号化やバックアップなどの運用ルールを整えることが重要です。
重要: 作業前に必ずバックアップを取り、管理者権限での実行や保存先の空き容量を確認してください。
コメント: 作成や運用での経験や問題があれば、以下に共有してください。