| この記事の要点 |
|
概要
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アノテーションとは
最近更新/作成されたページ
- djangoのテンプレートの作成とヘッダー・フッターの共通化 2026-10-03 21:41:49
- テンプレートフラグメント(ヘッダー等の共有化) 2026-10-03 21:41:49
- reCAPTCHA v3 使い方(サンプル付き) 2026-10-03 21:37:05
- Content-Type一覧|MIMEタイプとはとHTTPでの主な使用場面 2026-10-03 21:37:05
- SpringにおけるAOPの使い方 2026-10-03 21:37:05
- X (Twitter) API でツイートできないがエラーが出ない問題の原因と対処 2026-10-03 11:33:01
- X (Twitter) API アプリケーション登録完全ガイド|v2・Bearer Token・OAuth 2.0 PKCE 2026-10-03 11:33:01
- X (Twitter) API 完全ガイド|従量課金の料金・単価(2026年10月)と v2 移行 2026-10-03 11:32:40
- Google DeepMind とは?Gemini・AlphaFold の開発元 2026-10-03 11:26:56
- Cursor とは?AI 統合型コードエディタの使い方・料金 2026-10-03 11:26:56
- Claude (Anthropic) とは?AIチャットの使い方・モデルファミリ・API 2026-10-03 11:26:56
- AIベンダー一覧:OpenAI・Anthropic・Google DeepMind・Microsoft・Meta 2026-10-03 11:26:56
- クラウド・インフラ完全ガイド — AWS/Azure/GCP/Kubernetes 2026-10-03 11:26:56
- テキストエディタ完全比較 (VS Code / Cursor / Vim / Emacs / IDE) 2026-10-03 11:26:56
- プログラミング学習プラットフォーム|Scratch・micro:bit ほか 2026-10-03 11:26:56