| この記事の要点 |
|
概要
ISO ファイル(拡張子 .iso)は、CD-ROM や DVD-ROM、Blu-ray ディスクといった光学メディアの内容を セクタ単位でそのまま 1 つのファイルにまとめたディスクイメージ です。名称の由来は国際標準化機構(International Organization for Standardization)の ISO 9660、すなわち光学ディスクの標準ファイルシステム規格に由来します。物理ディスクとイメージファイルがバイト単位で同一になるため、ISO ファイルから物理ディスクを完全に復元することができます。
用途として圧倒的に多いのは OS のインストーラ配布 です。Microsoft の Windows 11、Canonical の Ubuntu、Red Hat の RHEL、Debian、Fedora、Arch Linux、FreeBSD など、ほぼ全ての PC 向け OS は ISO 形式で配布されています。ダウンロードした ISO を USB メモリに書き込んでブート する、あるいは 仮想マシンに直接マウント してインストールするのが現代の典型的な使い方です。物理ディスクへの焼き込みは過去のスタイルになりつつあります。
もう 1 つの大きな用途は アーカイブ・配布。ゲーム・ソフトウェアの配布、書籍付録、教育コンテンツの収録など、多数の小ファイルをまとめて 1 ファイル化し、内部のディレクトリ構造を保ったまま配ることができます。ZIP と違って マウントするだけで中身にアクセスできる(展開不要)という利点があります。
Windows 8 以降では .iso をエクスプローラでダブルクリックするだけで仮想 DVD ドライブとしてマウントされ、macOS では Finder からそのまま開けます。Linux では sudo mount -o loop foo.iso /mnt/iso で読み取り専用にマウント可能です。
内部構造とファイルシステム
ISO ファイルの中身は基本的に ISO 9660(1988 年制定、CD-ROM 用ファイルシステム)でフォーマットされたデータです。ISO 9660 は当時の MS-DOS との互換性を意識したため、ファイル名は 8.3 形式(最大 8 文字 + ピリオド + 3 文字)の大文字英数字 という強い制約があります。現在の感覚ではあまりにも貧弱なため、以下の拡張が事実上の標準として併用されています。
| 拡張 | 目的 | 主な OS |
|---|---|---|
| Joliet | Unicode(UTF-16)の長いファイル名(最大 64 文字) | Windows |
| Rock Ridge | UNIX のパーミッション、シンボリックリンク、長いファイル名 | Linux / UNIX |
| HFS / HFS+ ハイブリッド | Mac で扱いやすいリソースフォーク等 | macOS(旧) |
| UDF(Universal Disk Format) | 大容量・ファイル単位書き換え対応の後継規格 | DVD / Blu-ray 標準 |
| El Torito | ブート可能 CD/DVD のための起動情報 | OS インストーラ |
DVD / Blu-ray の ISO は事実上 UDF でフォーマットされており、4 GB を超える単一ファイルや 4.7 GB / 25 GB といった大容量メディアをサポートします。OS インストーラ ISO の多くは ISO 9660 + Joliet + Rock Ridge + UDF + El Torito の合わせ技で、どの環境からでも読み書きできるように作られています。
主な用途
- OS インストーラ配布 — Windows / Linux / macOS Recovery / FreeBSD などすべて ISO 配布が標準
- 仮想マシンの OS インストール — VMware / VirtualBox / Hyper-V / QEMU で ISO を仮想光学ドライブにマウントして OS をインストール
- ブート可能 USB メモリ作成 — Rufus / Etcher / Ventoy /
ddで ISO を USB に焼いてレスキュー・インストール用ドライブを作る - 古い CD/DVD のアーカイブ — 物理メディアの劣化前にバックアップ。ImgBurn /
ddで吸い出す - 大容量データ配布 — 教材・付録・配布資料を 1 ファイルに集約
- セキュリティテスト・レスキューディスク — Kali Linux、SystemRescueCD、Hiren's BootCD などの ISO ベースのレスキュー環境
関連形式との比較
| 形式 | 特徴 | 編集可否 |
|---|---|---|
| ISO | 光学ディスクのセクタイメージ。読み取り専用 | 不可(再生成が必要) |
| IMG(後述) | パーティションテーブルを含む汎用 raw イメージ | 不可(再生成が必要) |
| BIN / CUE | ISO の前身。マルチセッション CD のオーディオトラック対応 | BIN は raw、CUE はトラック定義のテキスト |
| MDF / MDS | Alcohol 120% 系の独自イメージ | 専用ツール必須 |
| NRG | Nero Burning ROM の独自イメージ | 専用ツール必須 |
| ZIP / TAR | ファイル単位のアーカイブ。ブート不可 | 可(解凍 / 再圧縮) |
ISO はベンダー中立かつ標準化されており、ほぼ全ての OS とツールが扱えるため、現代の 事実上の標準 となっています。BIN/CUE や MDF/MDS は古いゲーム ROM コミュニティで見かけることがある程度です。
コマンド・ツール
Linux / macOS でのマウント:
# 読み取り専用でマウント
sudo mkdir -p /mnt/iso
sudo mount -o loop ubuntu-24.04.iso /mnt/iso
ls /mnt/iso
sudo umount /mnt/iso
# ハッシュ検証(配布元の SHA-256 と一致するか)
sha256sum ubuntu-24.04.iso
USB メモリへの書き込み(デバイス名を間違えるとシステム破壊につながるので要注意):
# Linux / macOS
sudo dd if=ubuntu-24.04.iso of=/dev/sdX bs=4M status=progress conv=fsync
sync
# Windows は Rufus / balenaEtcher / Ventoy を推奨(GUI)
ISO の作成(既存ディレクトリから生成):
# Joliet + Rock Ridge 付きで生成
genisoimage -o output.iso -J -R -V "MY_DISK" ./source_dir
# xorriso(より新しい代替)
xorriso -as mkisofs -o output.iso -J -R -V "MY_DISK" ./source_dir
注意点
- ハッシュ値(SHA-256 / SHA-512)の検証は必須。ミラーサイトからの改ざん・破損は実際に起きる。配布元の公式ページに掲載されたハッシュと一致させる
ddのof=を間違えるとシステムディスクを破壊する。lsblkで対象 USB のデバイス名を必ず確認してから実行- ISO は 読み取り専用。中身を編集したい場合は展開してから再生成する。直接書き換えるとファイルシステムが壊れる
- 4 GB を超える ISO は ISO 9660 単独では扱えない。UDF か Joliet 拡張を使う
- ブート可能にしたい場合は El Torito ブートカタログ(BIOS)と EFI System Partition イメージ(UEFI)の両方を埋め込む必要がある。
xorrisoの--isohybrid-mbrオプションが標準的 - 古い Windows(7 以前)は ISO の直接マウント不可。Virtual CloneDrive 等のサードパーティ仮想ドライブツールが必要だった
関連リンク
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15