ISOファイルをマウントできません。 「ループデバイスを設定できません。」

ISOファイルをマウントできません。 「ループデバイスを設定できません。」

Ubuntu 18.04を使用しており、次のコマンドを使用してMatlab ISOをインストールしようとしています。

sudo mount R2018a_glnxa64_dvd1.iso /mnt/cdrom -o loop

ただし、端末の応答は次のとおりです。

mount: /mnt/cdrom: failed to setup loop device for R2018a_glnxa64_dvd1.iso.

これが何を意味するのか、どうやって進むべきかはよくわかりません。

答え1

この問題に直面したとき、sshfsマウントディレクトリからisoイメージをマウントしようとしました。 isoイメージをローカルファイルシステムにコピーした後は機能します。

答え2

まず/mnt/cdromディレクトリを作成します。

mkdir -p /mnt/cdrom

次に、iso イメージをマウントします。絶対画像パスを含める、例えば、/home/user/R2018a_glnxa64_dvd1.iso次の代わりにR2018a_glnxa64_dvd1.iso

sudo mount -o loop /home/user/R2018a_glnxa64_dvd1.iso /mnt/cdrom

ディレクトリが/mnt/cdrom存在する場合は、ISOイメージに関する追加情報を入手してください。

file R2018a_glnxa64_dvd1.iso

次のように明示的なファイルシステムタイプを使用してマウントしてみてください。

sudo mount -o loop -t iso9660 /home/user/R2018a_glnxa64_dvd1.iso /mnt/cdrom

また読んでくださいAskubuntuへの私の答え、画像にブートセクタがある可能性があり、offset最初に計算する必要があるオプションを使用してマウントします。

答え3

私は非常に似た問題に直面しました。幸いなことに、@ user3049102の答えが私を正しい方向に導いて発見しました。説明する

問題は、イメージファイルが保存されるファイルシステムにあります(私の考えでは、これがあなたの場合かもしれません)。

私の問題は、FUSEファイルシステムプロトタイプのISOイメージにあります。私が実装していないのか、それとも別のものがあるのか​​はわかりません。実際、質問は非常に簡単でよく説明されていますが、FUSEベースのファイルシステムに固有のものです(上記のように、sshfs現在の実装ではFUSEを使用しています)。セキュリティ上の理由から、FUSEはファイルシステムをマウントしたユーザー以外のすべてのユーザーにマウントされたファイルシステムのファイルへのアクセスを拒否します。特定のFUSEインストールオプションによってこの動作が変更されることがあります。 - 説明FUSEのgihub- 章参照「セキュリティ影響」

私はこれが他のファイルシステムでも問題になる可能性があると思います。したがって、sudo mount ... -o loop一般的なエラーメッセージで失敗した場合は、最初にすべきことは、rootマウントされたイメージファイルにアクセスできることを確認することです。次に、画像が保存されているファイルシステムに特定の属性/制限がないことを確認します。これにより、保存されたファイルがループデバイスとして構成されない可能性があります。

の答えで述べたように、sshfs最も簡単な解決策は、ファイルをもう少し「ローカル」ファイルシステムにコピーするか、少なくともISOイメージの場合は例を使用することです。fuseiso同じユーザーでイメージをインストールします。

関連情報