Impossible d'installer les ajouts d'invité: type de système de fichiers inconnu 'iso9660'

27

Exécution d'Ubuntu 14.04 sur Oracle VirtualBox 4.3.24 et complètement bloqué avec des ajouts d'invités de montage. J'ai passé pas mal de temps à chercher une solution en ligne, mais rien n'y fait ...

entrez la description de l'image ici

Comme suggéré ci-dessous, j'ai essayé de monter manuellement et de télécharger également ISO à partir du Web (version correspondant à VirtualBox). La même erreur:

entrez la description de l'image ici

MODIFIER:

Maintenant, certains dossiers sont devenus "en lecture seule", ce qui provoque de gros problèmes. Même l'installation d'une nouvelle image Ubuntu 14.04 n'aide pas ... Donc, la réinstallation de VirtualBox lui-même ...

Oleg Shirokikh
la source

Réponses:

45

J'ai pu résoudre le problème de montage en réinstallant l'image Linux:

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

BTW, tout a commencé avec la mise à niveau de VirtualBox. Le presse-papiers bidirectionnel a cessé de fonctionner, j'ai donc essayé de réinsérer ISO Additions invité. Cela a provoqué des choses ci-dessus. Maintenant, les ajouts d'invités sont montés en arrière, mais le presse-papiers ne fonctionnera pas ...

Oleg Shirokikh
la source
5
J'ai eu les mêmes problèmes aujourd'hui (presse-papiers cassé, aucune image de CD ne monterait). Votre solution et la réinstallation des compléments invités résout les deux.
Mark Smith
1
A également fonctionné pour la version 5.x
Karl Morrison
14

TL; DR cela peut être rapidement corrigé en redémarrant . Ensuite, le CD-ROM fonctionnera et les compléments invités seront installables:

 sudo reboot

La "meilleure" séquence pour mettre à jour le noyau sur VirtualBox avec Additions est:

 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

(L'ancien noyau le plus récent peut ne pas être supprimé automatiquement pour des raisons de sécurité, pour vous permettre de "revenir en arrière").

Comment est-ce arrivé? (réponse longue précédente)

Exactement ce genre de problème se posera si vous:

  • mettre à jour le noyau (disons de 0,66 à 0,67)
  • exécuter apt-get autoremoveet supprimer le noyau en cours d'exécution, ou supprimer manuellement le "vieux" noyau, supprimant ainsi tous les modules de /lib/modules/kernel.66
  • ne redémarrez pas, ce qui maintient le "vieux" noyau .66 en cours d'exécution. Les modules chargés restent en mémoire et tout fonctionne, mais aucun nouveau module ne peut être chargé car les modules .66 ont été supprimés.
  • essayez de faire tout ce qui nécessite le chargement d'un module qui n'était pas encore chargé

Et l'installation de VirtualBox ISO peut nécessiter exactement cela - le chargement du module de support ISO9660.

Le module demandé ne peut plus être chargé automatiquement, car le noyau en cours d'exécution (.66) ne trouve rien dans /lib/modules/kernel.66. Le module existe , mais il se trouve dans /lib/modules/kernel.67, dont le noyau .66 actuel ne sait rien (et il n'est pas recommandé de charger un module qui ne correspond pas).

La réinstallation du noyau non nommé réinstalle bien sûr les modules du noyau en cours d'exécution, rendant ainsi à nouveau ../.66/.../isofs.ko disponible et rendant un redémarrage inutile. Il s'agit d'une rétrogradation du noyau installé et le problème de mise à jour restera (voir ci-dessous).

Autrement dit, lorsque vous exécutez le CD Additions, il s'installera pour le noyau .66 en cours d'exécution , et non pour le noyau .67 mis à jour (qui ne fonctionne toujours pas).

Si vous êtes dans la situation telle que vous pouvez certainement le réparer en redémarrant (le nouveau noyau en cours d' exécution 0,67 trouvera ses modules), et probablement en chargeant le module appartenant au nouveau noyau ( isofsest assez stable), qui , à moins que vous avez subi une importante mise à niveau du noyau sera toujours compatible ( ce n'est toujours pas recommandé! ):

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

C'est ci-dessus l'erreur racine que vous obtenez ("type de système de fichiers inconnu").

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

Nous vérifions donc quelle version des modules est installée. Il devrait être de 0,66:

# ls /lib/modules
3.13.0-67-generic

... mais il n'y a qu'un seul répertoire et c'est .67 (le répertoire .66 peut être là, mais vide; dans ce cas, du -sh /lib/modules/*il dira combien d'espace est pris par les différents répertoires, ce qui permet de faire la différence entre les répertoires vides et les répertoires pleins).

La réinstallation de l'ancienne image du noyau sans re-grub ne résoudra pas le vrai problème

Vous réinstallez le noyau .66 avec ses modules et en-têtes. Vous avez maintenant les deux noyaux, avec grubset pour charger le plus récent .67.

Le CD-ROM ISO peut être monté (car le module est maintenant présent) et les modules VBox se compileront (car les en-têtes ont été installés).

Il compilera des modules pour le noyau .66 en cours d'exécution, et ils fonctionneront ... pendant un certain temps.

Au premier redémarrage, vous vous retrouverez avec un noyau .67 sans aucun ajout VirtualBox du tout.

La réinstallation de l'ancienne image du noyau avec re-grub et re-boot ne résoudra pas non plus le vrai problème

Comme ci-dessus, vous redémarrez et vous retrouvez avec un noyau déclassé. Très bientôt, Ubuntu essaiera de le mettre à jour et vous serez de retour là où vous avez commencé (voir ci-dessous: "downgrading kernel").

Patcher dans le module ISO ne résoudra pas non plus le vrai problème

Il y a de fortes chances que nous puissions forcer le chargement du module ISO9660 tout de même, car aucun travail n'a été effectué entre les noyaux 66 et 67 et le binaire est essentiellement inchangé, alors nous essayons:

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

Aucune erreur. Ça a marché. Module chargé du noyau .66 à partir du noyau .67. Essayons à nouveau de monter le CD-ROM:

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

Cela n'aidera toujours pas, car le CD en cours d'installation est VirtualBox Additions, ce qui nécessite l' installation des en-têtes du noyau en cours d'exécution . Si les modules du noyau en cours d'exécution ne sont plus là, il est probable que les en-têtes du noyau non plus.

De plus, les modules Virtualbox nouvellement compilés n'auront nulle part où aller, car le répertoire des modules .66 a été nettoyé.

Mais disons que vous corrigez tout cela: vous avez essentiellement effectué une mise à niveau du noyau coûteuse (et partielle), et les ajouts seront perdus lors de la prochaine mise à niveau avec le reste du noyau .66, exactement comme dans le cas ci-dessus.

La rétrogradation du noyau fonctionnera ... pendant un certain temps

Si nous retirons le noyau pendant un certain temps 0,67 et réinstaller le noyau 0,66 avec des modules à sa place, les choses seront Hunky Dory. Aucun redémarrage nécessaire, comme dans la solution "forcer le module ISO" ci-dessus.

Et un redémarrage ne perdra rien, car aucun noyau contesté par les ajouts n'est installé.

Mais de cette façon, le noyau sera toujours dans la liste "à mettre à niveau", et ce même problème se posera tôt ou tard.

Certes, vous pouvez maintenant le faire surgir à un moment plus approprié de votre choix, ce qui pourrait valoir beaucoup.

Redémarrez simplement!

Au redémarrage, le noyau .67 le plus récent sera activé et tous ses modules et en-têtes sont là.

Ainsi, après le redémarrage, les ajouts d'invités fonctionneront et la mise à niveau "prendra".

LSerni
la source
1
Cette réponse devrait être notée beaucoup plus car c'est la bonne réponse. Par souci d'exhaustivité, vous avez correctement expliqué le problème sous-jacent et également le correctif en 2 étapes nécessaire pour arriver à la solution.
zero2cx
1
@Iserni Je n'ai pas assez de réputation pour modifier le paragraphe tl; dr de votre réponse en haut. Là, nous devrions mentionner l'étape # 2, c'est-à-dire la réinstallation de l'ISO Additions invité. Les gens peuvent manquer cette étape nécessaire en ne lisant pas jusqu'à la fin de la réponse.
zero2cx
7

Selon d'autres réponses, cela peut généralement être résolu par un redémarrage.

Le module "iso9660" n'est pas chargé. depmodanalyse tous les modules et crée des dépendances de module.

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

cela résoudra le problème.

Arul
la source
Ça a marché pour moi. "sudo depmod -a" était suffisant. Merci.
mombip
2

Dans mon cas, la solution de contournement suivante a aidé:

en invité ubuntu

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

Je pense que certaines dépendances qui ont été installées ont résolu le problème

Garçon perdu
la source
1

J'ai résolu cela (sur Ubuntu 16.04) en mettant à niveau les packages et en redémarrant:

sudo apt-get update
sudo apt-get upgrade
sudo reboot
Johannes Hoff
la source
0

Essayez de le monter manuellement:

  • Ouvrez un terminal.
  • Tapez les commandes suivantes:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Ensuite, si le contenu du CD a été affiché, ouvrez / mnt dans Nautilus (alias Gestionnaire de fichiers) et installez les suppléments invité.

Si ces étapes n'ont pas fonctionné, essayez ceci:

  • Téléchargez l'ISO des ajouts d'invité à partir de la machine virtuelle (via le site Web de Virtualbox).
  • Faites un clic droit dessus -> Ouvrir avec ... -> Monteur d'image disque.
  • Ouvrez le disque nouvellement monté.
Hélio
la source
Salut Helio, j'ai essayé les deux, ça n'a pas marché. La même erreur. Veuillez voir la réponse modifiée
Oleg Shirokikh
La raison pour laquelle cela ne fonctionne pas est que cette procédure résoudra la plupart des problèmes résultant du fait que Linux ne trouve pas le périphérique . Linux ici est de trouver le dispositif, elle reconnaît même le système de fichiers ( « ISO9660 »), le problème est qu'il ne sait pas lire ce.
LSerni