Ubuntu でシステム全体の ISO イメージ・ファイルの作成(Penguins' Eggs を使用)
要点: Penguins' Eggs (eggs) を使うと、稼働中の Ubuntu システム全体を元にした、起動可能な ISO イメージファイルを作成できます。この ISO ファイルからライブ USB メモリやライブ DVD を作成し、他のコンピュータでの利用やシステムの復元に使用できます。
この記事で解説すること
- Penguins' Eggs のインストール手順
- Penguins' Eggs を用いたシステム全体の ISO イメージファイル作成手順
- 作成した ISO イメージファイルの利用方法
作成したISOイメージファイルの主な用途
- ライブUSBメモリ/DVDの作成: Ubuntu 標準の「ブータブル USB の作成」ツール、
ddコマンド、Ventoy などでライブメディアを作成できます。DVD に書き込むこともできます。 - ポータブルなシステム環境: 作成したライブメディアを使用して、保存したシステム環境を他の PC でライブセッションとして利用できます。
- システムの復元(リストア): 作成したライブメディアから起動し、含まれているインストーラ(グラフィカルな Calamares、またはテキストベースの krill)を使用して、作成時点のシステムを他の PC や元の PC のディスクにインストールできます。
ISOイメージファイルの注意点
- ファイルサイズ: 作成した ISO イメージを書き込むメディアには容量制限があります。
- FAT32 フォーマットの USB メモリ: FAT32 は 1 ファイルあたり 4GiB 未満というサイズ制限があるため、4GiB を超える ISO イメージはそのままコピーできません。Ventoy や Rufus のように ISO を分割して書き込むツールを使うか、USB メモリを exFAT でフォーマットします。
- DVD メディア: DVD-R は約 4.7GB、DVD-R DL は約 8.5GB の容量制限があります。これを超えるサイズの ISO イメージは、USB メモリを使用します。
- ライセンス: 作成する ISO イメージに含めるソフトウェアやデータは、再配布や利用に関するライセンス条項を守る必要があります。特に
--cloneオプションを使用する場合は、個人データに加えて、インストール済みソフトウェアのライセンス条項を確認してください。教育目的でのみ無料利用が許可されているソフトウェアが含まれる場合があります。
Penguins' Eggs について
Penguins' Eggs は、稼働中のシステムをそのまま リマスターして起動可能な ISO イメージにするツールです。Ubuntu を含む Debian 系のほか、Arch, Fedora, openSUSE, Alpine などにも対応しています。コマンド名は eggs です。
2026 年以降のバージョンは C 言語と Go 言語で書き直されており、コマンド体系が以前の TypeScript 版(現在は penguins-eggs-legacy)から変更されています。ISO の作成コマンドは eggs remaster(旧名の eggs produce も使用可能)です。
前準備
ISO イメージ作成前に、システムを最新の状態にします。端末(ターミナル)を開き、以下の作業を行います。
- パッケージリストの更新とアップグレード
端末で次のように操作する。
sudo apt update sudo apt -yV upgrade*
-yVオプションは、確認なしで実行し、バージョン情報を表示する。 - システムの再起動(カーネルが更新された場合)
端末で次のように操作する。
sudo shutdown -r now - パッケージ依存関係の修復
壊れた依存関係がないかを確認し、あれば修復する。エラーメッセージが出ないことを確認する。
sudo apt --fix-broken install - 実行中カーネルに対応する linux-image の確認
ISO の起動には、実行中のカーネルに対応する
linux-imageパッケージが必要である。端末で次のように操作する。uname -r dpkg -l | grep linux-image-$(uname -r)* 表示されない場合は
sudo apt install linux-image-$(uname -r)でインストールする。 - (オプション)不要なソフトウェアの削除
ISO イメージのサイズを削減するため、不要なパッケージを削除する。端末で次のように操作する。
sudo apt autoremove --purge
Penguins' Eggs のインストール (Ubuntu)
方法 1: fresh-eggs スクリプトを使用する(推奨)
公式のインストールスクリプトで、リポジトリの追加と依存関係の設定をまとめて行う。端末で次のように操作する。
sudo apt install git
git clone https://github.com/pieroproietti/fresh-eggs
cd fresh-eggs
sudo ./fresh-eggs
画面の指示に従って進める。
方法 2: .deb パッケージを手動でインストールする
GitHub のリリースページから、システムのアーキテクチャ(amd64 など)に合った最新の .deb パッケージをダウンロードし、端末で次のように操作する。
sudo dpkg -i penguins-eggs_*.deb
sudo apt --fix-broken install
インストール後、公式リポジトリを追加しておくと、以後は sudo apt update と sudo apt upgrade で更新できる。端末で次のように操作する。
sudo eggs tools repo add
インストール時には、squashfs-tools, xorriso などの依存パッケージも同時にインストールされる。
Penguins' Eggs を用いたシステム全体のISOイメージファイル作成
- 外部メディアのアンマウント
ISO 作成の対象を明確にするため、DVD ドライブや USB メモリなどの外部ストレージはアンマウントしておく。端末で次のように操作する。
df -h # 例: /media/user/usb-drive をアンマウントする # sudo umount /media/user/usb-driveファイルマネージャから「安全な取り外し」を実行してもよい。
- (オプション)キャッシュとログのクリーンアップ
ISO イメージのサイズを削減するため、ダウンロード済みのパッケージファイル(.deb)やログを削除する。端末で次のように操作する。
sudo apt clean sudo eggs tools clean - (オプション)前回の作業ディレクトリの削除
以前の作成処理が中断している場合、作業ディレクトリとマウントポイントを削除してから始める。端末で次のように操作する。
sudo eggs destroy - (オプション)設定のカスタマイズ
ライブユーザのパスワード、圧縮アルゴリズム(zstd, xz, lz4, gzip)、圧縮レベル、ISO ファイル名の接頭辞、ISO から除外するパスの一覧を、TUI(テキストユーザインタフェース)の設定ツールで変更できる。設定は
/etc/penguins-eggs.d/custom.yamlに保存される。端末で次のように操作する。sudo eggs config - ISOイメージファイルの作成
以下のいずれかのコマンドを実行する。作成される ISO ファイルは、BIOS と UEFI の両方で起動できるハイブリッド ISO である。
- ユーザデータを含まないシステムイメージ(デフォルト):
ユーザのホームディレクトリを除外し、システム構成とインストール済みソフトウェアのみを含むイメージを作成する。カスタム版 OS の配布や、クリーンな環境のテンプレートとして使用する場合に適する。端末で次のように操作する。
sudo eggs remaster - ユーザデータを含むフルバックアップ (
--cloneオプション):既存のユーザアカウントとホームディレクトリ(設定、ドキュメント、ダウンロードなど)を含めて、システム全体を複製する。個人用バックアップや、設定済み環境の移行に適する。端末で次のように操作する。
sudo eggs remaster --clone - 暗号化イメージ (
--cryptedオプション):ファイルシステムを LUKS で暗号化した ISO を作成する。実行すると、パスフレーズと暗号化パラメータを選択する TUI が表示される。ライブ起動時にパスフレーズが必要になる。
--cloneと同時には指定できない。端末で次のように操作する。sudo eggs remaster --crypted
* 注意:
--cloneを使用した ISO イメージには個人情報が含まれるため、取り扱いに注意する。 - ユーザデータを含まないシステムイメージ(デフォルト):
- 終了の確認
処理には、システムのサイズやマシンの性能に応じて数分から数十分かかる。完了すると、作成された ISO ファイルのパスが表示される。エラーメッセージが出ていないことを確認する。
ISOイメージファイルの場所:
作成された ISO イメージファイルは /home/eggs/ ディレクトリに保存される(例: egg-of-ubuntu-resolute-naked-amd64-2026-07-17_0450.iso)。次のコマンドで確認できる。
ls /home/eggs/*.iso
作成したISOイメージファイルを使ってみる
1. QEMUを用いた起動テスト
物理メディアに書き込む前に、仮想マシンエミュレータ QEMU を使って ISO イメージが起動するかをテストできる。端末で次のように操作する。
# QEMU/KVM のインストール
sudo apt update
sudo apt install qemu-system-x86 qemu-utils
# 仮想ディスクイメージの作成(インストールのテストを行う場合)
qemu-img create -f qcow2 my-test-disk.qcow2 80G
# ISO イメージから起動する(ISO ファイル名は実際のものに置き換える)
qemu-system-x86_64 \
-enable-kvm \
-m 4096 `# メモリサイズ(環境に合わせて調整)` \
-hda my-test-disk.qcow2 `# 仮想ディスク` \
-cdrom /home/eggs/egg-of-ubuntu-resolute-naked-amd64-2026-07-17_0450.iso `# 作成した ISO ファイル` \
-boot d `# CD-ROM から起動` \
-usb
* 起動後、ライブセッションを開始したり、インストーラ(Calamares または krill)を起動したりできる。
2. ライブUSBメモリ/DVDの作成と使用
- ライブUSBメモリ:
- Ubuntu 標準の「ブータブル USB の作成 (usb-creator-gtk)」ツールを使用する。
- Ventoy を使用する。USB メモリに Ventoy をインストールした後、ISO ファイルを USB メモリにコピーする。複数の ISO を 1 本の USB メモリに置ける。
ddコマンドを使用する。書き込み先のデバイス名を間違えるとデータが失われるため、lsblkコマンドでデバイス名を確認してから実行する。lsblk # /dev/sdX は USB メモリのデバイス名に置き換える # sudo dd if=/home/eggs/egg-of-ubuntu-resolute-naked-amd64-2026-07-17_0450.iso of=/dev/sdX bs=4M status=progress oflag=sync
- ライブDVD:
- Brasero などのディスク書き込みソフトウェアを使って、ISO イメージファイルを DVD-R/RW に書き込む。
作成したライブメディアを PC に接続し、BIOS/UEFI の設定でそのメディアから起動するように設定する。Penguins' Eggs が生成したブートメニューが表示され、ライブセッションを開始できる。
3. 作成したライブメディアからのシステムインストール
ライブメディアから起動し、デスクトップ上のアイコン、または端末で次のコマンドを実行してインストーラを起動する。
# グラフィカルインストーラ
sudo eggs sysinstall calamares
# テキストベースのインストーラ
sudo eggs sysinstall krill
画面の指示に従って、パーティション設定、ユーザ作成などを行い、システム環境をディスクにインストールする。Ubuntu の標準インストール手順も参考になるが、手順は Penguins' Eggs が提供するインストーラ(Calamares または krill)の表示に従う。