Linuxでは、ISOファイルをディレクトリにマウントすると、DVDドライブなどの実機がなくても収録ファイルを閲覧・コピーできます。基本操作は、空のマウントポイントを準備し、mount -o loop,roで読み取り専用にマウントし、利用後にumountで解除する流れです。この記事では、コマンドラインとGNOMEのGUI、確認方法、よくあるエラーを解説します。
対象は、Linux上に保存した通常のISOイメージからファイルを読む作業です。ISOをUSBメモリへ書き込む操作や、OSを起動・インストールする操作とは異なります。コマンドはご自身が管理する環境で、ファイル名と対象ディレクトリを確認してから実行してください。
ISOファイルとは何か
ISOファイルは、光学メディア向けのファイルシステムなどを1つにまとめたディスクイメージとして、OSやソフトウェアの配布に使われます。拡張子が.isoでも内容がすべて同じ形式とは限らず、ISO 9660、Rock RidgeやJolietの拡張、UDFなどの違いがあります。「あらゆるディスクを完全に複製したファイル」「必ずISO 9660」とは言い切れません。マウントできる形式かは、イメージの内容と利用環境に依存します。
マウントは、イメージの内容を読み出すための方法です。OSのインストール用ISOをマウントしただけで、そのOSが起動したり現在のシステムへインストールされたりするわけではありません。起動メディアの作成や仮想マシンでの利用は、配布元の別手順に従います。
Linuxにおけるマウントの概念
マウントとは、ファイルシステムをLinuxのディレクトリツリーに結び付けることです。例えばISOを/mnt/isoへマウントすると、その中のファイルを/mnt/iso/ファイル名のように参照できます。元のISOファイルを展開して別の場所に複製する操作ではありません。
マウント先に既存ファイルがあると、マウント中はその内容が隠れます。削除されたわけではありませんが、取り違えを防ぐため専用の空ディレクトリを使います。また、別のファイルシステムがすでに同じ場所へマウントされている場合は、その上に重ねてマウントしないでください。
必要なツールと事前準備
必要なツール
mountとumount:マウントと解除に使います。通常のシステム管理用操作では管理者権限が必要です。findmnt:指定した場所のマウント状態、ファイルシステムの種類、オプションを確認します。これらは多くのディストリビューションでutil-linuxパッケージに含まれます。- GUIを使う場合:GNOME Disks(ディスク)やDisk Image Mounterなど、デスクトップ環境が提供する機能を利用します。GUIの認証方法や表示は環境によって異なります。
事前準備
- 配布元を確認したISOをローカルへ保存し、ダウンロードが完了していることを確認します。提供されていればSHA-256などのチェックサムや署名も検証します。
- 以下の例の
/path/to/your.isoは、実際のISOファイルの絶対パスに置き換えます。スペースを含むパスにも対応できるよう、引用符を付けています。 - 利用中ではない空のマウントポイントを準備します。
/mnt/isoは例なので、既存の用途がある場合は別の専用ディレクトリを選びます。
sudo mkdir -p /mnt/iso
findmnt --mountpoint /mnt/iso
ls -la /mnt/isofindmntにマウント情報が表示された場合や、ls -laで.と..以外の項目がある場合は、ここで止めて別の場所を選びます。findmntは一致するマウントがない場合にも終了コード1を返すため、エラー表示と区別して確認してください。
コマンドラインを使ったISOファイルのマウント方法
1. ターミナルを開く
アプリケーションメニューからターミナルを開きます。デスクトップ環境によってはCtrl + Alt + Tでも開けますが、共通のショートカットとは限りません。
2. マウントコマンドの実行
sudo mount -o loop,ro -- "/path/to/your.iso" /mnt/isoloopは通常のファイルをループデバイス経由で扱う指定、roは読み取り専用の指定です。現在のutil-linuxのmountでは、ファイルシステム形式を指定しない場合など、通常ファイルからループデバイスを自動作成するため、-o loopが常に必須というわけではありません。ここでは目的を明確にするため指定しています。
ファイルシステムの種類はまず自動判定に任せます。拡張子だけを理由に-t iso9660を強制しないでください。エラーが出た場合は成功したものとして次へ進まず、パス、形式、ダウンロードの完全性を確認します。
3. マウントの確認
findmnt --mountpoint /mnt/iso --output TARGET,SOURCE,FSTYPE,OPTIONS
ls -la /mnt/iso先にfindmntでTARGETが/mnt/isoになっていることを確認します。SOURCEには通常/dev/loopNなどのデバイス名が表示されます。FSTYPEが想定する形式か、OPTIONSにroがあるかを確認し、その後で収録ファイルを確認してください。
lsだけでは、単に元からあるディレクトリを表示している可能性があるため、マウント成功の証明になりません。また、findmnt --target /mnt/isoは、その場所自体がマウントポイントでなくても親のファイルシステムを返すことがあります。今回のような厳密な確認には--mountpointを使います。
4. アンマウントの実行
コピーが終わったら、ISO内のファイルを開いているアプリケーションを閉じ、ターミナルの作業ディレクトリも外へ移動してから解除します。コマンド名はunmountではなくumountです。
cd ~
sudo umount /mnt/iso解除コマンドがエラーなく終了したことを確認し、次のコマンドで/mnt/isoのマウント情報が表示されなくなったことを確かめます。
findmnt --mountpoint /mnt/iso通常、mountが用意したループデバイスは解除に伴って解放されます。一般的なISO閲覧の後片付けで、無関係なループデバイスの削除や一括アンマウントを実行する必要はありません。元のISOファイルと、別の場所へコピーしたファイルはそのまま残ります。
GUIツールを使用したマウント方法
GUIでは、利用中のデスクトップ環境が提供する機能を優先します。メニュー名や自動マウントの挙動は、GNOMEやディストリビューションのバージョン、ファイルの関連付けによって異なります。特定の「ファイル」メニューが必ずあるとは限りません。
GNOMEディスクユーティリティの使用
GNOMEのDisk Image Mounterはイメージを仮想デバイスとして接続する機能です。標準では読み取り専用で接続し、その後のファイルシステムのマウントはGNOME Shell側の自動マウント機能に任されます。「接続した」ことと「ファイルを閲覧できる状態になった」ことを分けて確認しましょう。
- ファイルマネージャでISOを選び、関連付け先のDisk Image Mounter(ディスクイメージマウンター)で開きます。この項目がない場合は、利用中の環境でGNOME Disksが提供されているか確認します。
- ファイルマネージャに現れたボリュームを開き、目的のISOの内容かを確認します。自動で開かない場合は「ディスク」で接続されたイメージを選び、ボリュームのマウント状態を確認します。
- 利用後は、そのボリュームに対応するアンマウント・取り出し操作を行います。ISO内のファイルやフォルダを開いているアプリケーションは先に閉じます。
関連付けを探せない場合、GNOMEデスクトップ上で次のコマンドを実行すると、ファイル選択画面からイメージを選べます。gnome-disk-image-mounterがインストール済みで、GUIセッションが利用できることが前提です。
gnome-disk-image-mounter「ディスクイメージを復元」や「フォーマット」はマウントとは別の操作です。前者は指定したディスクへイメージを書き込むため、既存データを失うおそれがあります。ISOの中身を見るだけなら選ばないでください。
その他のGUIツールを使う場合
Furius ISO MountやAcetoneISOなどを使った手順も見かけますが、利用可能なパッケージや操作画面はディストリビューションごとに異なります。これらを追加しなくても、標準のmountやGNOMEの機能で扱える場合があります。まず標準機能を試し、別のツールが必要な場合だけ現在の配布元と対応環境を確認してください。
マウント後の操作とアクセス方法
この記事の手順では読み取り専用でマウントしています。内容の閲覧や取り出しはできますが、マウント先へ新しいファイルを書いたり、ISO内のファイルをその場で編集したりはしません。編集が必要なら、先に書き込み可能な別の場所へコピーします。
ファイルの閲覧
ls -la /mnt/isoファイルマネージャでも/mnt/isoを開いて確認できます。GUIで自動マウントした場合は別の場所が使われるため、ファイルマネージャに表示されたボリュームから開いてください。
ファイルのコピー
必要なファイルやフォルダを、自分が書き込める保存先へコピーします。次は例なので、ファイル名とコピー先を実際のものに置き換えます。既存ファイルとの衝突を避けるため、新しい保存先を用意し、上書き確認も有効にしています。
mkdir -p "$HOME/iso-extracted"
cp -ri -- "/mnt/iso/必要なフォルダ" "$HOME/iso-extracted/"-rはディレクトリを再帰的にコピーし、-iは同名ファイルがある場合に上書きを確認します。ファイル1個なら-rは不要です。コピー後は保存先の件数や内容を確認してからアンマウントします。
ソフトウェアのインストール
ソフトウェアの配布ISOの場合も、まず配布元の説明書と対応OSを確認します。LinuxでISOをマウントできても、収録されたWindows用プログラムがLinuxで動くとは限りません。出所不明のスクリプトを実行したり、内容を確かめずsudoでインストーラーを実行したりしないでください。読み取り専用のマウントは、イメージやプログラムの安全性を保証するものではありません。
トラブルシューティング
マウントポイントが存在しない
指定したディレクトリの綴りと場所を確認します。まだ作っていない場合はsudo mkdir -p /mnt/isoで作成できますが、既存の用途やマウントがないかを先に確認します。空でないフォルダの中身を消して対処する必要はありません。
パーミッションが不足している
通常のコマンドラインでのマウントには管理者権限が必要です。管理を許可された環境であれば、上記のようにsudoを使います。コンテナ、WSL、制限された実習環境などでは、管理者ユーザーでも必要な機能や権限が提供されない場合があります。権限をむやみに広げず、その環境の管理者や公式手順を確認してください。GUIではデスクトップ側の認証・アクセス制御に従います。
ISOファイルが破損している
配布元が公開するSHA-256などのチェックサムと、手元のファイルから計算した値を比較します。例えばSHA-256値を確認するコマンドは次のとおりです。
sha256sum -- "/path/to/your.iso"一致しない場合は、別バージョンの値を見ていないか、ファイル名と取得元を確認し、正常な配布元から取得し直します。MD5やSHA-1だけを根拠に、改ざんされていないと判断しないでください。チェックサム自体の出所も重要です。署名付きチェックサムが提供されていれば、配布元の公式手順に従い、署名鍵を確認してから署名とファイルの一致を検証します。Ubuntuでは公式のISO検証手順が公開されています。
形式の不一致や互換性の問題
wrong fs typeなどのエラーだけで「古いLinuxだから」と決め付けないでください。ダウンロード途中のファイル、ISOのつもりで保存したHTML、圧縮されたままのイメージ、パーティションを含むディスク全体のイメージなどでは、単純なISOマウントと手順が異なります。配布元が示す形式、必要なファイルシステム対応、エラーメッセージを確認します。拡張子の変更やフォーマットで解決しようとせず、対応が不明なら作業を止めます。
「target is busy」でアンマウントできない
マウント先を作業ディレクトリにしているターミナルや、ISO内のファイルを開いたアプリケーションが残っていないかを確認します。複数のターミナルを使っている場合は、それぞれでcd ~などにより外へ移動してください。コピーやインストール処理が終わり、参照がなくなってからsudo umount /mnt/isoを再実行します。
原因を確認せずにumount -fやumount -lを使うことは、通常のISO閲覧では勧めません。とくに遅延アンマウントは参照の後処理が残るため、単に「きれいに解除できた」ことと同じではありません。原因がわからなければ管理者に相談してください。
まとめ
ISOの内容を見るときは、信頼できるイメージと空の専用ディレクトリを用意し、読み取り専用でマウントします。findmnt --mountpointでマウント状態を確かめ、必要なファイルをコピーしたらumountで解除しましょう。GUIを使う場合も、イメージの接続・マウントと、ディスクへの復元・フォーマットを取り違えないことが重要です。



コメント