仮想ハードディスク (.vhd)

Microsoft 標準

Virtual Hard Disk (VHD) は Microsoft の古典的な仮想ハードドライブ形式であり、Virtual PC および Hyper-V と共に導入され、完全なオペレーティングシステムのディスク、パーティション、ファイルシステムを単一のファイルにカプセル化します。

VMDK を VHD に変換

無料のブラウザ内 VMDK から VHD へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してVHDファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してVHDファイルを識別します:

16進数シグネチャ(オフセット0):

63 6F 6E 65 63 74 69 78

ASCII表現: conectix

標準化: Microsoft Virtual Hard Diskイメージ形式仕様

技術仕様

コンテナアーキテクチャ'conectix'識別子を含む512バイトのフッターをファイル末尾に配置(動的/差分ディスクでは先頭にも複製)
圧縮非圧縮。動的ディスクではスパース割り当てを使用
バイトエンディアンビッグエンディアンのフッターとBlock Allocation Table(BAT)
色空間該当なし(仮想ハードディスク)
チャンネルと構造仮想ハードドライブ全体(MBR/GPTパーティションテーブル、NTFS/FATファイルシステム、セクターブロック)
最大寸法VHD形式の32ビットセクター数の制限により2 TiB(10進表記で約2.2 TB)
透過性なし
ストリーミングとプログレッシブ稼働中のOS仮想化向けの直接セクターマッピング

技術比較表:VHDと競合製品

技術属性VHD (現在)VHDXVMDKQCOW2
最大容量2 TiB(10進表記で約2.2 TB)64 テラバイト62 テラバイト2 ペタバイト
ネイティブ Windows マウント100% ネイティブ (ディスクの管理)100% ネイティブ (ディスクの管理)VMware またはドライバが必要サードパーティ製ツールが必要
マジックバイトconectix (0x63 0x6F 0x6E 0x65...)vhdxfileKDMV (0x4B 0x44 0x4D 0x56)QFIû (0x51 0x46 0x49 0xFB)
復元力中程度 (書き込みジャーナルなし)高 (ログベースのメタデータジャーナル)高高

一般的な破損モードと16進数リカバリガイド

Windows ディスクの管理のエラー:「仮想ディスクファイルが破損しているため、開くことができません」。

根本原因: ファイルの末尾にある 512 バイトの「conectix」フッターの欠落または切り詰め。

復旧: File2File.app VHD ツールを使用して、欠落しているフッターを再生成して追加します。

セキュリティ分析とパーサー攻撃ベクトル

仮想化ハイパーバイザー内の VHD パーサーは、ホストのメモリ破損を防ぐため、ブロック割り当てテーブル (BAT) の範囲を制限して評価します。

既知の攻撃ベクター

  • ブロック割り当てテーブル (BAT) オフセット計算中の整数オーバーフロー。
  • 仮想ストレージドライバーにおける境界外セクタ書き込みを介したハイパーバイザーのエスケープ。
  • 不正な親差分チェーンループを通じたサービス拒否。

防御的ベストプラクティス: 隔離されたサンドボックス内で、信頼されていないVHDファイルを読み取り専用モードで厳格にマウントします。

歴史的背景とマイルストーン

2012Windows Server 2012 では VHDX が導入され、最大容量が 2 TB から 64 TB に拡張されました。
2008Windows 7 および Windows Server 2008 R2 では、VHD のネイティブマウントと VHD からの直接起動が導入されました。
2003Microsoft は Connectix Corporation を買収し、VHD の仕様を公開しました。

主なメリット

  • ネイティブな Windows 統合:Windows ディスクの管理で物理ドライブ文字として直接マウントできます。
  • ネイティブ VHD ブート:ハイパーバイザーを使わずに、物理ハードウェア上で .vhd ファイルから Windows を直接起動できます。
  • 固定、動的拡張 (スパース)、および差分親子ディスク構成をサポートします。

技術的な制限とデメリット

  • 最大 2 テラバイトという厳格な構造上の容量制限 (より大きなドライブには VHDX が使われます)。
  • 動的ブロック割り当てテーブルの更新中に電源が失われた場合、破損しやすくなります。
  • QCOW2 などの現代の形式にあるネイティブなクラスター圧縮がありません。

興味深い技術トリビア

  • 有効なすべての VHD ファイルには、Virtual PC を発明した元の会社を記念して、512 バイトのフッター内にマジック ASCII ワード「conectix」が含まれています。
  • 固定 VHD では、512 バイトのフッターはファイルの末尾にのみ存在します。動的 VHD では、フッターのコピーがヘッダーとしてバイト 0 に配置されます。
  • AzureはVHDベースの仮想ハードディスクに対応してきましたが、ディスク形式やワークフローは時間とともに変化しています。

よくある技術的な質問

VHDとVHDXの違いは何ですか?

VHDはMicrosoftの旧形式で、上限は2 TBです。VHDXは最大64 TBのディスクに対応し、停電後に一部のメタデータ更新を復旧するためのログを使います。

WindowsでVHDファイルをマウントするにはどうすればよいですか?

WindowsでWin+Xを押し、「ディスクの管理」を開き、上部メニューの「操作」をクリックして「VHDの接続」を選択し、ドライブ文字としてマウントします。

VHDをVMDKやISOに変換するにはどうすればよいですか?

ブラウザ内でFile2File.appを使用して、VHDファイルをVMwareのVMDK、RAWディスクイメージ、またはISOに直接変換できます。