mount -o ループが「該当デバイスなし」を返すのはなぜですか?

mount -o ループが「該当デバイスなし」を返すのはなぜですか?

内容を繰り返してiso9600(CD)画像の内容にアクセスしたいです。このために私は実行する

mount -r -t iso9600 -o loop file.iso mountpoint/

(既存)ディレクトリの内容を期待しますmountpoint。しかし、わかりましたmount: mounting /dev/loop0 on mountpoint/ failed: No such device。その理由は何ですか?

答え1

私が考えることができる多くの理由があります。おそらくより一般的な状況は、循環機器に問題があるということです。例えば、あまりにも多くの循環装置が使用されてきた。ループデバイスを手動で設定することで、そのようなケースであることを確認できます。

# losetup --find --show file.iso
/dev/loop0
# mount -o ro /dev/loop0 mountpoint/
...
# losetup --detach /dev/loop0

最初のコマンドは正当なループデバイス(/dev/loop*)を印刷しませんが、エラーメッセージを表示する場合は、ループデバイスインフラストラクチャ自体に問題がある可能性があります。losetup -aデバイスが表示されていることを確認してください。最大数に達した可能性があります。この場合、max_loopモジュールのオプションを使用して(そして再起動)、追加の作成を試みるか、次の説明に従って手動mknodで追加の作成を試みることができます。この回答

ただし、システムコールのマンページに簡単に説明されている別のオプションがありますmount

ENODEV     filesystemtype not configured in the kernel.

カーネルが必要なファイルシステムをサポートしていない可能性があります。 CDイメージを使用した上記の例では、次のようにiso9660適切なモジュールをロードしてみてください。

# modprobe iso9660

そしてもう一度やり直してください。もしそれを得るなら、modprobe: module iso9660 not foundカーネルがファイルシステムをまったくサポートせずにそれを有効にする簡単な方法がないので、少し運がないのです。にリストされているサポートされているファイルシステムを確認できます/proc/filesystems。これが機能するには、カーネルを再コンパイルするか、少なくともそのモジュールを再コンパイルする必要があります(もちろん、正しいカーネルバージョンと一致)。

PS:このモジュールは最新のカーネルで名前が付けられていますが、isofs少なくともmodprobe友達にはエイリアスがありますiso9660

答え2

起動可能なUSBドライブからLinux Mint Liveバージョンを起動すると、このエラーメッセージが表示されます。使用されたISOが損傷していることがわかりました。 ISOを再ダウンロードすると問題が解決しました。

関連情報