ISO 檔案是光碟映像檔,內含完整檔案系統結構。Linux 核心提供 Loop Device(循環裝置) 功能,讓區塊裝置驅動程式可直接掛載普通檔案(如 ISO、IMG),無需燒錄實體光碟。
# mkdir -p /mnt/iso # 建立掛載點
# mount -o loop /path/to/file.iso /mnt/iso
-o loop:告知 mount 自動尋找可用的 /dev/loopX 並關聯該檔案。losetup。ro)掛載,ISO 本質不可寫入。# mkdir -p /mnt/temp
# mount -o loop /mnt/wind/FC4-i386-disc1.iso /mnt/temp
# ls /mnt/temp/
autorun GPL README RPM-GPG-KEY* TRANS.TBL eula.txt images isolinux Fedora RELEASE-NOTES
# RPM 套件位於
# ls /mnt/temp/Fedora/RPMS/
...大量 .rpm 檔案...
# mount -t iso9660 -o loop file.iso /mnt/iso
明確指定 iso9660 可避免核心自動偵測失敗(極少見)。
# losetup -f # 顯示第一個可用 loop 裝置,如 /dev/loop7
# losetup /dev/loop7 file.iso
# mount /dev/loop7 /mnt/iso
# 卸載並釋放
# umount /mnt/iso
# losetup -d /dev/loop7
# losetup /dev/loop7 /path/to/disc1.iso
# mount /dev/loop7 /mnt/cdrom
# ...使用完畢...
# umount /mnt/cdrom
# losetup /dev/loop7 /path/to/disc2.iso # 直接切換映像
# mount /dev/loop7 /mnt/cdrom
/path/to/file.iso /mnt/iso iso9660 loop,ro,auto 0 0
開機自動掛載,適用於常用安裝源或虛擬機模板。
| 現象 | 原因 | 解決 |
|---|---|---|
mount: /mnt/iso: failed to setup loop device | loop 模組未載入或裝置耗盡 | modprobe loop;losetup -a 檢查佔用 |
| 掛載後內容為空 | ISO 損壞或非 iso9660/UDF 格式 | file file.iso 驗證;嘗試 -t udf |
| 權限拒絕 | 掛載點權限或 SELinux 標籤 | 檢查目錄權限;restorecon -R /mnt/iso |
掛載 ISO 是 Linux 系統管理員的基本功。掌握 mount -o loop、losetup 手動控制、/etc/fstab 永久掛載三種方式,即可輕鬆應對軟體安裝、系統升級、虛擬機映像檢視等日常場景。