No se pueden instalar adiciones de invitados: tipo de sistema de archivos desconocido 'iso9660'

27

Ejecutando Ubuntu 14.04 en Oracle VirtualBox 4.3.24 y completamente atascado con el montaje de adiciones de invitados. He pasado bastante tiempo buscando una solución en línea, pero nada ayudó ...

ingrese la descripción de la imagen aquí

Como se sugiere a continuación, he intentado montar manualmente y también descargar ISO de la web (versión que coincide con VirtualBox). El mismo error:

ingrese la descripción de la imagen aquí

EDITAR:

Ahora algunas carpetas se convirtieron en "solo lectura", lo que causa grandes problemas. Incluso instalar una nueva imagen de Ubuntu 14.04 no ayuda ... Así que reinstalar VirtualBox en sí ...

Oleg Shirokikh
fuente

Respuestas:

45

Pude resolver el problema de montaje reinstalando la imagen de Linux:

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

Por cierto, todo comenzó con la actualización de VirtualBox. El portapapeles bidireccional dejó de funcionar, así que intenté volver a insertar ISO de Guest Additions. Esto causó las cosas anteriores. Ahora, las adiciones de invitados se montan de nuevo, pero el portapapeles no funciona ...

Oleg Shirokikh
fuente
55
Tuve los mismos problemas hoy (portapapeles roto, no se montaría ninguna imagen de CD). Su solución más la reinstalación de Guest Additions resuelve ambos.
Mark Smith
1
También funcionó para la versión 5.x
Karl Morrison
14

TL; DR esto se puede solucionar rápidamente reiniciando . Entonces el CD-ROM funcionará y las adiciones de invitados serán instalables:

 sudo reboot

La "mejor" secuencia para actualizar el kernel en VirtualBox con Adiciones es:

 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

(Es posible que el kernel anterior al último no se elimine automáticamente por razones de seguridad, para permitirle "volver").

¿Cómo pasó esto? (respuesta larga anterior)

Exactamente este tipo de problema surgirá si usted:

  • actualizar el kernel (digamos de .66 a .67)
  • ejecutar apt-get autoremovey de alguna manera eliminar el núcleo en ejecución, o eliminar manualmente el núcleo "antiguo", eliminando así todos los módulos de /lib/modules/kernel.66
  • no reinicie, manteniendo así el núcleo ".66" antiguo en ejecución. Los módulos cargados permanecen en la memoria y todo funciona, pero no se pueden cargar módulos nuevos ya que se han eliminado .66 módulos.
  • intente hacer algo que requiera cargar un módulo que aún no se cargó

E instalar el ISO de VirtualBox puede requerir exactamente eso: cargar el módulo de soporte ISO9660.

El módulo solicitado ahora ya no puede cargarse automáticamente, porque el núcleo en ejecución (.66) no encuentra nada en /lib/modules/kernel.66. El módulo existe , pero está en /lib/modules/kernel.67, del cual el núcleo .66 actual no sabe nada (y no se recomienda cargar un módulo que no coincida).

Reinstalar el kernel sin nombre, por supuesto, reinstalará los módulos del kernel en ejecución, haciendo que ../.66/.../isofs.ko esté disponible nuevamente y haciendo innecesario el reinicio. Esta es una degradación del kernel instalado y el problema de actualización continuará (ver más abajo).

Es decir, cuando ejecuta Additions CD, se instalará para el núcleo .66 en ejecución , no para el núcleo .67 actualizado (que todavía no se está ejecutando).

Si se encuentra en tal situación una también se puede desde luego solucionarlo reiniciando (el nuevo núcleo en ejecución 0,67 encontrará sus módulos), y , probablemente, al cargar el módulo perteneciente al nuevo núcleo ( isofses bastante estable), que a menos que haya se sometió a una actualización importante del núcleo que seguirá siendo compatible (¡ esto todavía no se recomienda! ):

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

Esto es el error raíz que está recibiendo ("tipo de sistema de archivos desconocido").

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

Entonces verificamos qué versión de los módulos está instalada. Debería ser .66:

# ls /lib/modules
3.13.0-67-generic

... pero solo hay un directorio y es .67 (el directorio .66 puede estar allí, pero vacío; en este caso du -sh /lib/modules/*indicará cuánto espacio ocupan los distintos directorios, lo que permite distinguir entre los vacíos y los completos).

Reinstalar la antigua imagen del núcleo sin volver a ejecutar no solucionará el problema real

Vuelva a instalar el núcleo .66 con sus módulos y encabezados. Ahora tiene ambos núcleos, con grubset para cargar el .67 más nuevo.

El CD-ROM ISO se puede montar (porque el módulo ya está presente) y los módulos VBox se compilarán (porque se han instalado los encabezados).

Compilará módulos para el núcleo .66 en ejecución, y funcionarán ... por un tiempo.

En el primer reinicio, se encontrará con un núcleo .67 sin adiciones de VirtualBox.

Reinstalar la imagen antigua del kernel con re-grub y reinicio tampoco solucionará el problema real

Como se indicó anteriormente, reinicia y se encuentra con un kernel degradado. Muy pronto, Ubuntu intentará actualizarlo y volverá a donde comenzó (ver más abajo: "degradación del kernel").

Los parches en el módulo ISO tampoco solucionarán el problema real

Lo más probable es que podamos forzar la carga del módulo ISO9660 de todos modos, ya que no se realizó ningún trabajo entre los núcleos 66 y 67 y el binario esencialmente no ha cambiado, por lo que intentamos:

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

Sin errores. Funcionó. Kernel .66 módulo cargado del kernel .67. Intentemos nuevamente montar el CD-ROM:

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

Esto todavía no ayudará, porque el CD que se está instalando es VirtualBox Additions, que requiere la instalación de los encabezados del kernel en ejecución . Si los módulos del kernel en ejecución ya no están allí, lo más probable es que tampoco los encabezados del kernel.

Además, los módulos de Virtualbox recién compilados no tendrán a dónde ir, ya que el directorio de módulos .66 se ha limpiado.

Pero supongamos que soluciona todo eso: esencialmente ha realizado una rebaja de kernel costosa (y parcial), y las adiciones se perderán en la próxima actualización junto con el resto del kernel .66, exactamente como en el caso anterior.

La degradación del núcleo funcionará ... por un tiempo

Si nos quitamos el kernel 0.67 y volver a instalar el kernel de 0.66 con los módulos en su lugar, las cosas van a ser miel sobre hojuelas por un tiempo. No es necesario reiniciar, como en la solución anterior "forzar módulo ISO".

Y un reinicio no perderá nada, ya que no está instalado ningún kernel desafiado por Additions.

Pero de esta manera, el kernel seguirá estando en la lista "para actualizarse", y este mismo problema se presentará tarde o temprano.

De acuerdo, ahora puede hacer que surja en algún momento más apropiado de su elección, lo que podría valer bastante.

¡Solo reinicia!

Al reiniciar, se activará el núcleo .67 más reciente y todos sus módulos y encabezados estarán allí.

Entonces, después del reinicio, Guest Additions funcionará y la actualización "tomará".

LSerni
fuente
1
Esta respuesta debe ser calificada mucho más alta porque es la respuesta correcta. En aras de la integridad, ha explicado correctamente el problema subyacente y también los 2 pasos necesarios para llegar a la solución.
zero2cx
1
@Iserni No tengo suficiente reputación para editar el párrafo tl; dr de tu respuesta en la parte superior. Allí, debemos mencionar el paso 2, es decir, la reinstalación de la ISO de Guest Additions. La gente podría estar perdiendo ese paso necesario al no leer hasta el final de la respuesta.
zero2cx
7

Según la respuesta de otros, esto generalmente se puede solucionar reiniciando.

De alguna manera, el módulo "iso9660" no está cargado. depmodescanea todos los módulos y crea dependencias de módulos.

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

Esto solucionará el problema.

Arul
fuente
Funcionó para mi. "sudo depmod -a" fue suficiente. Gracias.
Mombip
2

En mi caso, la siguiente solución ayudó:

en invitado ubuntu

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

Creo que algunas dependencias que se instalaron resolvieron el problema

Niño Perdido
fuente
1

Resolví esto (en Ubuntu 16.04) actualizando paquetes y reiniciando:

sudo apt-get update
sudo apt-get upgrade
sudo reboot
Johannes Hoff
fuente
0

Intente montarlo manualmente:

  • Abre una terminal.
  • Escriba los siguientes comandos:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Luego, si se mostró el contenido del CD, abra / mnt en Nautilus (también conocido como Administrador de archivos) e instale las Adiciones de invitados.

Si esos pasos no funcionaron, intente esto:

  • Descargue las adiciones de invitados ISO de la VM (a través del sitio web de virtualbox).
  • Haga clic derecho sobre él -> Abrir con ... -> Montador de imagen de disco.
  • Abra el disco recién montado.
Helio
fuente
Hola Helio, he intentado ambos no funcionó. El mismo error Por favor, véase la respuesta editada
Oleg Shirokikh
La razón por la que esto no funciona es porque este procedimiento solucionará la mayoría de los problemas derivados de que Linux no encuentre el dispositivo . Linux aquí está encontrando el dispositivo, incluso reconoce el sistema de archivos ("iso9660"), el problema es que no sabe cómo leerlo .
LSerni