webentwicklung-frage-antwort-db.com.de

Gastzugaben können nicht installiert werden: unbekannter Dateisystemtyp 'iso9660'

Läuft Ubuntu 14.04 auf Oracle VirtualBox 4.3.24 und bleibt beim Mounten von Guest-Ergänzungen komplett hängen. Ich habe eine ganze Weile online nach einer Lösung gesucht, aber nichts hat geholfen ...

enter image description here

Wie unten vorgeschlagen, habe ich versucht, manuell zu mounten und auch ISO aus dem Internet herunterzuladen (Version passend zu VirtualBox). Der gleiche Fehler:

enter image description here

BEARBEITEN:

Jetzt wurden einige Ordner "schreibgeschützt", was zu großen Problemen führte. Selbst die Installation eines neuen Ubuntu 14.04-Images hilft nicht weiter. Daher muss VirtualBox selbst neu installiert werden.

26
Oleg Shirokikh

Ich konnte das Einhängeproblem beheben, indem ich das Linux-Image neu installierte:

Sudo apt-get install --reinstall linux-image-$(uname -r)

Übrigens begann alles mit dem Upgrade von VirtualBox. Die bidirektionale Zwischenablage funktioniert nicht mehr, daher habe ich versucht, die ISO-Datei für die Gastzugaben erneut einzufügen. Dies verursachte über Sachen. Jetzt werden Guest Additions zurückgemeldet, aber die Zwischenablage funktioniert nicht mehr ...

42
Oleg Shirokikh

TL; DR dies kann durch einen Neustart schnell behoben werden. Dann funktioniert die CD-ROM und die Guest Additions können installiert werden:

 Sudo reboot

Die "beste" Sequenz, um den Kernel auf VirtualBox mit Additions zu aktualisieren, ist:

 apt-get update
 apt-get upgrade              (or apt-get dist-upgrade)
 reboot                       

 (re)install VirtualBox Additions on the new kernel that is now running
 apt-get autoremove

(Der neueste alte Kernel wird aus Sicherheitsgründen möglicherweise nicht automatisch entfernt, damit Sie "zurück" gehen können.).

Wie ist es passiert? (vorherige lange Antwort)

Genau diese Art von Problem tritt auf, wenn Sie:

  • aktualisiere den Kernel (sprich von .66 auf .67)
  • starte apt-get autoremove und entferne irgendwie den laufenden Kernel oder entferne manuell den "alten" Kernel, wodurch alle Module aus /lib/modules/kernel.66 entfernt werden
  • starten Sie nicht neu, um den "alten" .66-Kernel am Laufen zu halten. Die geladenen Module bleiben im Speicher und alles funktioniert, aber es können keine neuen Module geladen werden , da .66 Module gelöscht wurden.
  • versuchen Sie, alles zu tun, was das Laden eines noch nicht geladenen Moduls erfordert

Das angeforderte Modul kann jetzt nicht mehr automatisch geladen werden, da der ausgeführte Kernel (.66) in /lib/modules/kernel.66 nichts findet. Das Modul ist vorhanden , befindet sich jedoch in /lib/modules/kernel.67, von dem der aktuelle .66-Kernel nichts weiß (und es wird nicht empfohlen, ein nicht übereinstimmendes Modul zu laden). .

Das erneute Installieren des unbenannten Kernels wird natürlich die laufenden Kernelmodule erneut installieren, wodurch ../.66/.../isofs.ko wieder verfügbar und ein Neustart unnötig wird. Dies ist ein Downgrade des installierten Kernels und das Update-Problem bleibt bestehen (siehe unten).

Das heißt, wenn Sie die Additions-CD ausführen, wird sie für den laufenden .66-Kernel installiert, nicht ​​den aktualisierten .67-Kernel (der es immer noch nicht ist Laufen).

Wenn Sie sich in einer solchen Situation befinden, können Sie diese auch sicher durch einen Neustart beheben (der neue Kernel mit der Endung .67 findet seine Module), und wahrscheinlich durch Laden des zum neuen Kernel gehörenden Moduls (isofs ist ziemlich stabil), das, sofern Sie kein wichtiges Kernel-Upgrade durchlaufen haben, weiterhin kompatibel ist (dies wird immer noch nicht empfohlen!):

# mount /dev/cdrom /mnt
mount: unknown filesystem type 'iso9660'

Dies ist der Root-Fehler, den Sie erhalten ("unbekannter Dateisystemtyp").

# uname -a
Linux virtual 3.13.0-66-generic ...

Wir prüfen also, welche Version der Module installiert ist. Es sollte .66 sein:

# ls /lib/modules
3.13.0-67-generic

... aber es gibt nur ein Verzeichnis und es ist .67 (das .66-Verzeichnis ist möglicherweise vorhanden, aber leer; in diesem Fall gibt du -sh /lib/modules/* an, wie viel Speicherplatz die verschiedenen Verzeichnisse belegen, sodass zwischen leeren Verzeichnissen unterschieden werden kann und volle).

Das erneute Installieren des alten Kernel-Images ohne erneutes Grub wird das eigentliche Problem nicht beheben

Sie installieren den .66-Kernel mit seinen Modulen und Headern neu. Jetzt haben Sie beide Kernel, wobei grub eingestellt ist, um die neuere .67 zu laden.

Die ISO-CD-ROM kann gemountet werden (weil das Modul jetzt vorhanden ist) und die VBox-Module werden kompiliert (weil die Header installiert wurden).

Es werden Module für den laufenden .66-Kernel kompiliert, und sie werden ... für eine Weile funktionieren.

Beim ersten Neustart befinden Sie sich mit einem .67-Kernel ohne VirtualBox-Zusätze.

Das erneute Installieren des alten Kernel-Images mit Re-Grub und Re-Boot wird das eigentliche Problem ebenfalls nicht beheben

Wie oben, starten Sie neu und befinden sich mit einem herabgestuften Kernel. In Kürze wird Ubuntu versuchen, es zu aktualisieren, und Sie sind wieder da, wo Sie begonnen haben (siehe unten: "Kernel herunterstufen").

Das Patchen im ISO-Modul behebt auch nicht das eigentliche Problem

Möglicherweise können wir das ISO9660-Modul trotzdem zwangsweise laden, da zwischen den Kerneln 66 und 67 keine Arbeit geleistet wurde und die Binärdatei im Wesentlichen unverändert ist. Deshalb versuchen wir Folgendes:

# insmod /lib/modules/3.13.0-67-generic/kernel/fs/isofs/isofs.ko

Keine Fehler. Es funktionierte. Kernel .66 geladenes Modul vom Kernel .67. Versuchen wir noch einmal, die CD-ROM zu mounten:

# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only

Dies hilft immer noch nicht weiter, da es sich bei der zu installierenden CD um VirtualBox Additions handelt, für die die ausgeführten Kernel-Header installiert sein müssen. Wenn die laufenden Kernelmodule nicht mehr vorhanden sind, werden wahrscheinlich auch die Kernel-Header nicht mehr angezeigt.

Außerdem müssen die neu kompilierten Virtualbox-Module nirgendwo hin, da das .66-Modulverzeichnis bereinigt wurde.

Aber sagen wir, Sie haben das alles behoben: Sie haben im Wesentlichen ein teures (und teilweises) Kernel-Downgrade durchgeführt, und die Ergänzungen gehen beim nächsten Upgrade zusammen mit dem Rest des .66-Kernels verloren, genau wie im obigen Fall.

Das Downgrade des Kernels funktioniert ... für eine Weile

Wenn wir den .67-Kernel entfernen und den .66-Kernel mit den entsprechenden Modulen neu installieren, werden die Dinge für eine Weile schwierig. Kein Neustart erforderlich, wie in der obigen Lösung "Force ISO-Modul".

Und ein Neustart verliert nichts, da kein Kernel installiert ist, der von Additions in Frage gestellt wird.

Auf diese Weise befindet sich der Kernel jedoch weiterhin in der Liste der zu aktualisierenden Kernel, und das gleiche Problem wird früher oder später auftreten.

Zugegeben, Sie können es jetzt in einem angemesseneren Moment Ihrer Wahl entstehen lassen, der eine ganze Menge wert sein könnte.

Einfach neustarten!

Beim Neustart wird der neuere .67-Kernel aktiviert und alle seine Module und Header sind vorhanden.

Also, nach dem Neustart werden Guest Additions funktionieren und das Upgrade wird "dauern".

13
LSerni

Wie die anderen antworten, kann dies normalerweise durch einen Neustart behoben werden.

Irgendwie "iso9660" Modul nicht geladen. depmod durchsucht alle Module und erstellt Modulabhängigkeiten.

Sudo depmod -a
Sudo mount /dev/sr0 /mnt
ls -l /mnt

dadurch wird das Problem behoben.

4
Arul

Ich habe dieses Problem (unter Ubuntu 16.04) gelöst, indem ich Pakete aktualisiert und neu gestartet habe:

Sudo apt-get update
Sudo apt-get upgrade
Sudo reboot
1
Johannes Hoff

In meinem Fall hat die nächste Problemumgehung geholfen:

in Gast Ubuntu

Sudo apt-get install virtualbox-guest-additions-iso

Ich denke, einige Abhängigkeiten, die installiert wurden, haben das Problem gelöst

1
Lostboy

Versuchen Sie es manuell zu montieren:

  • Öffnen Sie ein Terminal.
  • Geben Sie die folgenden Befehle ein:

    Sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Wenn der Inhalt der CD angezeigt wurde, öffnen Sie/mnt in Nautilus (a.k.a. Dateimanager) und rufen Sie die Guest Additions auf.

Wenn diese Schritte nicht funktioniert haben, versuchen Sie Folgendes:

  • Laden Sie die ISO-Datei mit den Gastzugaben von der VM herunter (über die Virtualbox-Website).
  • Klicken Sie mit der rechten Maustaste darauf -> Öffnen mit ... -> Disk Image Mounter.
  • Öffnen Sie die neu bereitgestellte Festplatte.
0
Helio