VDI ファイル形式とは?
拡張子 .vdi を持つファイルには、仮想ディスクイメージと関連するメタデータが含まれています。.vdi は、Oracle のシステム仮想化ソフトウェアである VirtualBox のネイティブなイメージ形式です。.vdi ファイルは完全なハードディスクコンテナとして機能し、ホストマシンの VirtualBox ハイパーバイザによって仮想ドライブとしてロードされます。.VMDK や .VHD は、VirtualBox でも開いたり書き込んだりできる同様の仮想ディスク形式です。
.vdi は、VirtualBox で新しい仮想マシンを作成する際に使用されるデフォルトのディスクイメージ形式です。ゲストディスクの内容(パーティション、ファイルシステム、OS データ)を保存しますが、VM の構成(名前、RAM、ネットワークアダプタ)は別の .vbox XML ファイルに個別に保持されます。VirtualBox は、2007 年にドイツのソフトウェア会社 innotek によって、当初は PUEL(Personal Use and Evaluation License)の下でプロプライエタリ製品として最初にリリースされました。同年後半、innotek は VirtualBox を GNU GPL の下でオープンソースとしてリリースしました。2008 年に innotek は Sun Microsystems に買収され、2010 年に Oracle が Sun を買収したことで、VirtualBox は Oracle の管理下に入りました。現在は Oracle VM VirtualBox として活発に開発が続けられています。.vdi イメージは、VirtualBox に含まれる vboximg-mount コマンドを使用してホストシステムにマウントしたり、VBoxManage clonemedium で変換したりできます。
.vdi ファイルは 4 つのセクションで構成されています:
- 人間が読めるバナー
<<< Oracle VM VirtualBox Disk Image >>>を含むテキストプレヘッダー。 - 仮想サイズ、ディスクタイプ、ブロック数、UUID を保持するバイナリメタデータヘッダー(マジックシグネチャ
0x7F10DABEで識別)。 - ディスクイメージブロック割り当てマップ。
- ディスクイメージデータブロック(実際のゲストディスクの内容)。
.vdi は、動的割り当てモード(使用済みブロックのみがホストの容量を消費)と固定サイズモード(全容量が事前に割り当てられる)の両方をサポートしています。この形式は、AES-XTS 256ビット暗号化(VirtualBox 5.2 以降)および差分子 .vdi ファイルによるスナップショットをサポートしています。.vdi ファイルは、VirtualBox が利用可能な主要プラットフォームである Windows、Linux、macOS、および FreeBSD で動作します。
セキュリティと安全性
リスク: MEDIUMVDI はディスクイメージであり、ホスト上で直接実行されることはありません。しかし、VM で起動すると実行される完全なゲスト OS が含まれているため、ダウンロードした VDI はゲスト内部にマルウェアを潜ませている可能性があります。信頼できない VM は共有フォルダなし、または制限されたネットワークで実行し、信頼できないシステムとして扱ってください。VDI にはゲストの機密データ(資格情報、個人ファイル)が含まれることもあるため、機密情報として取り扱い、共有してください。イメージファイルはサイズが大きいため、変換やコピーの前に十分なディスク容量を確認してください。
形式の詳細
概要VDI ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルヘッダー (テキスト) | バイトオフセット 0 にある ASCII バナー `<<< Oracle VM VirtualBox Disk Image >>>` |
| ファイルヘッダー (バイナリマジック) | バイナリメタデータセクション内のリトルエンディアン `0x7F10DABE` |
| ディスク割り当てモード | 動的(スパース、書き込み時に拡張)および固定サイズ(完全に事前割り当て) |
| デフォルトのデータブロックサイズ | 1ブロックあたり 1 MiB (1,048,576 バイト) |
| 暗号化 | ディスクデータの AES-XTS 256ビット暗号化、VirtualBox 5.2 以降で利用可能 |
| スナップショットのサポート | 親 UUID を介して親イメージにチェーンされた差分子 `.vdi` ファイル |
| UUID フィールド | VirtualBox メディアレジストリ用の、バイナリヘッダーに埋め込まれたイメージ UUID と親 UUID |
| VM 設定の保存 | ディスクイメージのみ。VM 構成(RAM、ネットワークなど)は別の `.vbox` XML ファイルに保持 |
| 圧縮 (Compaction) | `VBoxManage modifymedium --compact` は未使用ブロックをゼロ化し、ホストのスペースを回収します |
| 形式変換 | `VBoxManage clonemedium` または `qemu-img convert` による `.vmdk`、`.vhd`、`.qcow2`、raw との相互変換 |
| ホスト側マウント | Linux/macOS では `vboximg-mount` (FUSE)、Windows では OSFMount |
| MIME タイプ | `application/octet-stream` |
| プラットフォームサポート | Windows、Linux、macOS、FreeBSD (VirtualBox が動作する環境) |
| 内蔵圧縮 | なし - ブロックデータは圧縮されません。圧縮機能はゼロ化された未使用ブロックを回収するのみです |
| ファイル構造セクション | 4つのセクション:テキストプレヘッダー、バイナリメタデータヘッダー、ブロック割り当てマップ、データブロック |
| リリース日 | VirtualBox 1.0 (2007); format created by innotek, now Oracle |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.virtualbox.org |
VDI の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。VDI ファイルについて最初の質問をしてみましょう。