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 autoremove
et 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 ( isofs
est 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 grub
set 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".