.png)
Ich verwende Ubuntu 14.04 auf Oracle VirtualBox 4.3.24 und stecke beim Mounten von Gasterweiterungen völlig fest. Ich habe ziemlich lange online nach einer Lösung gesucht, aber nichts hat geholfen ...
Wie unten vorgeschlagen, habe ich versucht, die Datei manuell zu mounten und auch ISO aus dem Internet herunterzuladen (Version entspricht VirtualBox). Derselbe Fehler:
BEARBEITEN:
Jetzt sind einige Ordner „schreibgeschützt“, was große Probleme verursacht. Selbst die Installation eines neuen Ubuntu 14.04-Image hilft nicht. Also eine Neuinstallation von VirtualBox selbst.
Antwort1
Ich konnte das Mount-Problem durch die Neuinstallation des Linux-Images lösen:
sudo apt-get install --reinstall linux-image-$(uname -r)
Übrigens, alles begann mit dem Upgrade von VirtualBox. Die bidirektionale Zwischenablage funktionierte nicht mehr, also versuchte ich, Guest Additions ISO erneut einzufügen. Dies verursachte das oben genannte Problem. Jetzt sind Guest Additions wieder gemountet, aber die Zwischenablage funktioniert immer noch nicht ...
Antwort2
Kurz zusammengefasst Dies kann schnell durch einen Neustart behoben werden.Verwenden Sie apt-get NICHT. Siehe unten: „Einfach neu starten!“.
Wie ist das passiert? (vorherige lange Antwort)
Genau diese Art von Problem wird auftreten, wenn Sie:
- Aktualisieren Sie den Kernel (beispielsweise von .66 auf .67).
- Führen Sie es aus
apt-get autoremove
und entfernen Sie irgendwie den laufenden Kernel oder entfernen Sie manuell den „alten“ Kernel, wodurch alle Module aus /lib/modules/kernel.66 entfernt werden. - keinen Neustart durchführen, wodurch der "alte" .66-Kernel weiterläuft. Die geladenen Module bleiben im Speicher und alles funktioniert, aberEs können keine neuen Module geladen werdenseit .66 wurden Module gelöscht.
- Versuchen Sie, etwas zu tun, das das Laden eines Moduls erfordert, das noch nicht geladen wurde
Und die Installation des VirtualBox-ISO erfordert möglicherweise genau das – das Laden des ISO9660-Supportmoduls.
Das angeforderte Modul kann nun nicht mehr automatisch geladen werden, da der laufende Kernel (.66) in /lib/modules/kernel.66 nichts findet.Das Modul existiert, aber es befindet sich in /lib/modules/kernel.67, wovon der aktuelle .66-Kernel nichts weiß (und es wird nicht empfohlen, ein nicht passendes Modul zu laden).
Durch die Neuinstallation des unbenannten Kernels werden natürlich auch die laufenden Kernelmodule neu installiert, wodurch ../.66/.../isofs.ko wieder verfügbar wird 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 Additions CD ausführen, wird es für dieläuft.66 Kernel,nichtder aktualisierte .67-Kernel (der immer noch nicht läuft).
Wenn Sie sich in einer solchen Situation befinden, können Sie auchsicherlichBeheben Sie das Problem durch einen Neustart (der neue .67-Kernel findet seine Module) undwahrscheinlichdurch Laden des Moduls, das zum neuen Kernel gehört ( isofs
ist ziemlich stabil), der, sofern Sie nicht ein wichtiges Kernel-Upgrade durchgeführt haben, immer noch kompatibel ist (dies ist dennoch nicht zu empfehlen!):
# mount /dev/cdrom /mnt
mount: unknown filesystem type 'iso9660'
Das Obige ist der Grundfehler, den Sie erhalten („unbekannter Dateisystemtyp“).
# uname -a
Linux virtual 3.13.0-66-generic ...
Also prüfen wir, 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 zwar die Nummer .67 (das Verzeichnis .66 ist möglicherweise vorhanden, aber leer; in diesem Fall du -sh /lib/modules/*
wird angezeigt, wie viel Speicherplatz die verschiedenen Verzeichnisse beanspruchen, sodass zwischen leeren und vollen Verzeichnissen unterschieden werden kann).
Die Neuinstallation des alten Kernel-Images ohne erneutes Gruben behebt das eigentliche Problem nicht
Sie installieren den laufenden Kernel mit seinen Modulen und Headern neu. Jetzt haben Sie beide Kernel und sind so grub
eingestellt, dass der neuere Kernel geladen wird.
Die ISO-CD-ROM kann gemountet werden (da das Modul jetzt vorhanden ist) und die VBox-Module werden kompiliert (da die Header installiert wurden).
Es werden Module für den laufenden .66-Kernel kompiliert und sie werden funktionieren ... für eine Weile.
Beim ersten Neustart verfügen Sie über einen .67-Kernel ohne jegliche VirtualBox-Ergänzungen.
Auch eine Neuinstallation des Kernels behebt das eigentliche Problem nicht
apt-get install --reinstall linux-image-$(uname -r)
Wie oben beschrieben, werden Sie beim ersten Neustart feststellen, dass Ihr Kernel heruntergestuft (oder besser gesagt „nicht aktualisiert“) wurde. Sehr bald wird Ubuntu versuchen, ihn zu aktualisieren … und Sie sind wieder da, wo Sie angefangen haben (siehe unten: „Herabstufung des Kernels“) und müssen neu starten und Virtualbox Additions erneut installieren.
Auch das Patchen im ISO-Modul behebt das eigentliche Problem nicht
Wahrscheinlich 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. Wir versuchen es also mit:
# insmod /lib/modules/3.13.0-67-generic/kernel/fs/isofs/isofs.ko
Keine Fehler. Es hat funktioniert. Kernel .66 hat das Modul von Kernel .67 geladen. Versuchen wir noch einmal, die CD-ROM zu mounten:
# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
Hey! Es hat geklappt!
Ja, aber das wird trotzdem keine wirkliche Hilfe sein, denn die installierte CD ist VirtualBox Additions, die dieläuftKernel-Header installiert werden. Wenn der laufende KernelModulesind nicht mehr da,Die Chancen stehen gut, dass auch die Kernel-Header. Die CD-ROM kann zwar gemountet werden, aber der Start des Installationsprogramms schlägt fehl.
Und selbst wenn die Header irgendwie gefunden würden und die Kompilierung nicht fehlgeschlagen wäre, könnten die neu kompilierten Virtualbox-Module nirgendwo hin, da das Verzeichnis der .66-Module bereinigt wurde (das ist der Grund, warum das isofs
Modul überhaupt nicht gefunden wurde!).
Aber nehmen wir an, Sie beheben all das, indem Sie die Module und Header-Verzeichnisse für den vorherigen Kernel wiederherstellen: Sie haben jetzt im Wesentlichen ein teures (und teilweises) Kernel-Downgrade durchgeführt, und die Ergänzungen werdenverlorenbeim nächsten Neustart zusammen mit dem Rest des .66-Kernels, wenn der neu installierte .67-Kernel zum Leben erwacht. Denn die Virtualbox Additions-CD, die vom .66-Kernel mit den .66-Headern gestartet wurde, installierte pflichtbewusst die .66-Kernelmodule, nicht die .67-Kernelmodule.
Das Downgrade des Kernels wird funktionieren ... für eine Weile
Wenn wirentfernenden .67-Kernel und installieren Sie stattdessen den .66-Kernel mit Modulen neu. Dann läuft alles eine Zeit lang einwandfrei. Kein Neustart erforderlich, wie bei der obigen Lösung „ISO-Modul erzwingen“.
Und bei einem Neustart geht nichts verloren, da kein Kernel mit Erweiterungsproblemen installiert ist.
Auf diese Weise befindet sich der Kernel jedoch weiterhin in der Liste „zu aktualisieren“, und früher oder später tritt zwangsläufig dasselbe Problem auf (normalerweise am nächsten Tag oder in der nächsten Woche, abhängig von der Häufigkeit der automatischen Updates).
Gewährt,Sie können es jetzt zu einem geeigneteren Zeitpunkt Ihrer Wahl entstehen lassen, was ziemlich viel wert sein kann. Ein erzwungenes Upgrade mitten in einem Programmiermarathon für ein Projekt, das sich verspätet, ist der Teufel.
Also: einfach neu starten! (und die Additions-CD erneut ausführen).
Beim Neustart wird der bereits installierte und aktuellere .67-Kernel aktiviert und alle seine Module und Header sind vorhanden, darunter auch das isofs
Modul zum Lesen von ISO9660-CD-Dateisystemen.
sudo reboot
Nach dem Neustart funktioniert die CD-ROM und die Gasterweiterungen können installiert werden.
Die „beste“ Reihenfolge zum Aktualisieren des Kernels auf VirtualBox mit Ergänzungen 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 vorletzte alte Kernel wird aus Sicherheitsgründen möglicherweise nicht automatisch entfernt, um Ihnen die Möglichkeit zu geben, „zurückzugehen“).
Antwort3
Laut der Antwort der anderen kann dies normalerweise durch einen Neustart behoben werden.
Aus irgendeinem Grund wurde das Modul „iso9660“ 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.
Antwort4
Ich habe dies (unter Ubuntu 16.04) gelöst, indem ich Pakete aktualisiert und neu gestartet habe:
sudo apt-get update
sudo apt-get upgrade
sudo reboot