ISO-Datei kann nicht als Loop-Gerät bereitgestellt werden: Fehler: "Loop-Gerät konnte nicht eingerichtet werden"

9
sudo mkdir -p /media/cdrom
cd ~
sudo mount -o loop ubuntu-* /
mount: ubuntu-*: failed to setup loop device: No such file or directory
user418576
quelle
Was hast du erwartet? Sie haben (als root) ein Verzeichnis erstellt, dann das Verzeichnis in das HOME-Verzeichnis des angemeldeten Benutzers geändert und dann versucht, den Platzhalter ubuntu-*über dem Stammverzeichnis bereitzustellen. Der Platzhalter ubuntu-*stimmte mit nichts im aktuellen Verzeichnis überein und mounthat es Ihnen mitgeteilt. Was hast du versucht zu tun?
Waltinator

Antworten:

8

Stellen Sie zunächst sicher, dass Sie das Kernelmodul für Loop-Geräte bereitgestellt haben. Also lauf:

lsmod | grep loop

Wenn Sie keine Ausgabe erhalten, bedeutet dies, dass Sie das Kernelmodul des Schleifengeräts mounten müssen. So:

modprobe loop

Führen Sie die folgenden Schritte erneut aus, um sicherzustellen, dass das Modul geladen ist. Sie sollten einige Ausgaben erhalten:

lsmod | grep loop

Gehen Sie nun wie folgt vor, um eine ISO-Datei als Loop-Gerät bereitzustellen:

mount -o loop -t iso9660 <path/to/iso/file> /media/cdrom

Ich denke jedoch, dass es auch ohne das -t iso9660Teil funktionieren sollte .

Ron
quelle
10
modprobe looperzeugt keine Ausgabe, ist das das erwartete Verhalten? Auch danach gibt es keine Ausgabe für lsmod | grep loop.
Mads Skjern
Überprüfen Sie, ob Sie über das /dev/loop0Gerät verfügen und über Berechtigungen zur Verwendung verfügen. Verwenden --privilegedSie diese Option, wenn Sie dies in Docker versuchen.
Qsiris
2

Ich vermute, Sie folgen blindlings einigen Anweisungen zum Mounten eines Ubuntu-ISO-Images mit dem Loop-Gerät.

sudo mkdir -p /media/cdrom

Dadurch wird ein Verzeichnis erstellt, dessen cdromEigentümer root ist, /mediafalls es nicht vorhanden ist. Es soll als Mount-Punkt für das zu mountende Dateisystem verwendet werden.

cd ~

Dadurch wird das aktuelle Arbeitsverzeichnis Ihrer Terminalinstanz in geändert. Dies ~ist eine Abkürzung, die auf den Pfad Ihres Basisverzeichnisses erweitert wird.

sudo mount -o loop ubuntu-* /

Dadurch wird versucht, alle übereinstimmenden Dateien ubuntu-*(alle Dateien mit einem Dateinamen, der mit beginnt ubuntu-) in Ihrem Home-Verzeichnis mithilfe des Schleifengeräts und /als Bereitstellungspunkt bereitzustellen. Tu das einfach nicht. Es ist überhaupt nicht sinnvoll, mit einem Platzhalter abzugleichen, wenn Sie versuchen, ein einzelnes ISO-Image bereitzustellen, wobei die Tatsache außer Acht gelassen wird, dass Ihr /Bereitstellungspunkt weiterhin die Root-Partition enthält. Hängen Sie das ISO-Image unter Angabe des genauen Dateinamens ein und hängen Sie es an dem soeben erstellten Einhängepunkt an ( /media/cdrom). Stellen Sie dazu sicher, dass das zu mountende ISO-Image in Ihrem Home-Verzeichnis vorhanden ist, und ändern Sie es ubuntu-*mit dem vollständigen Namen des ISO-Images. Zum Mounten des offiziellen Images von Ubuntu Desktop 14.04.2 64-Bit lautet der Befehl beispielsweise:

sudo mount -o loop ubuntu-14.04.2-desktop-amd64.iso /media/cdrom
kos
quelle