Não foi possível instalar as adições de convidados: tipo de sistema de arquivos desconhecido 'iso9660'

27

Rodando o Ubuntu 14.04 no Oracle VirtualBox 4.3.24 e completamente travado com a montagem de adições de convidados. Passei bastante tempo procurando uma solução on-line, mas nada ajudou ...

insira a descrição da imagem aqui

Como sugerido abaixo, tentei montar manualmente e também baixar ISO da Web (versão correspondente ao VirtualBox). O mesmo erro:

insira a descrição da imagem aqui

EDITAR:

Agora, algumas pastas se tornaram "somente leitura", o que causa grandes problemas. Mesmo a instalação de uma nova imagem do Ubuntu 14.04 não ajuda ... Então, a reinstalação do próprio VirtualBox ...

Oleg Shirokikh
fonte

Respostas:

45

Consegui resolver o problema de montagem reinstalando a imagem linux:

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

BTW, tudo começou com a atualização do VirtualBox. A área de transferência bidirecional parou de funcionar, então tentei reinserir o ISO de adições de convidados. Isso causou coisas acima. Agora, as adições de convidados são montadas de volta, mas a área de transferência não funciona ...

Oleg Shirokikh
fonte
5
Hoje tive os mesmos problemas (área de transferência quebrada, nenhuma imagem de CD seria montada). Sua solução, mais a reinstalação de adições de convidados, resolve os dois.
Mark Smith
1
Trabalhou para a versão 5.x também
Karl Morrison
14

TL; DR, isso pode ser corrigido rapidamente pela reinicialização . Em seguida, o CD-ROM funcionará e as adições de convidados serão instaláveis:

 sudo reboot

A melhor "sequência" para atualizar o kernel no VirtualBox with Additions é:

 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

(O penúltimo kernel antigo pode não ser removido automaticamente por razões de segurança, para permitir que você "volte").

Como isso aconteceu? (resposta longa anterior)

Exatamente esse tipo de problema surgirá se você:

  • atualize o kernel (diga de .66 para .67)
  • execute apt-get autoremovee de alguma forma remova o kernel em execução ou remova manualmente o kernel "antigo", removendo todos os módulos de /lib/modules/kernel.66
  • não reinicie, mantendo assim o ".66" antigo kernel em execução. Os módulos carregados permanecem na memória e tudo funciona, mas nenhum novo módulo pode ser carregado desde que os módulos .66 foram excluídos.
  • tente fazer qualquer coisa que exija o carregamento de um módulo que ainda não foi carregado

E a instalação do VirtualBox ISO pode exigir exatamente isso - carregar o módulo de suporte ISO9660.

O módulo solicitado agora não pode mais ser carregado automaticamente, porque o kernel em execução (.66) não encontra nada no /lib/modules/kernel.66. O módulo existe , mas está em /lib/modules/kernel.67, sobre o qual o kernel .66 atual não sabe nada (e não é recomendável carregar um módulo incompatível).

A reinstalação do kernel não nomeado irá, é claro, reinstalar os módulos do kernel em execução, tornando ../.66/.../isofs.ko disponível novamente e tornando a reinicialização desnecessária. Este é um downgrade do kernel instalado e o problema de atualização permanecerá (veja abaixo).

Ou seja, quando você executa o CD Additions, ele é instalado no kernel .66 em execução , não no kernel .67 atualizado (que ainda não está em execução).

Se você estiver nessa situação, certamente também poderá corrigi-lo reiniciando (o novo kernel .67 em execução encontrará seus módulos) e, provavelmente , carregando o módulo pertencente ao novo kernel ( isofsé bastante estável), o que, a menos que você tenha passou por uma importante atualização do kernel ainda será compatível ( isso ainda não é recomendado! ):

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

Isso acima é o erro raiz que você está recebendo ("tipo de sistema de arquivos desconhecido").

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

Portanto, verificamos qual versão dos módulos está instalada. Deve ser 0,66:

# ls /lib/modules
3.13.0-67-generic

... mas há apenas um diretório e é .67 (o diretório .66 pode estar lá, mas vazio; nesse caso, du -sh /lib/modules/*será informado quanto espaço é ocupado pelos vários diretórios, permitindo diferenciar entre os vazios e os completos).

Reinstalar a imagem antiga do kernel sem re-grub não resolverá o problema real

Você reinstala o kernel .66 com seus módulos e cabeçalhos. Agora você tem os dois kernels, grubconfigurados para carregar o .67 mais recente.

O CD-ROM ISO pode ser montado (porque o módulo agora está presente) e os módulos VBox serão compilados (porque os cabeçalhos foram instalados).

Ele irá compilar módulos para o kernel .66 em execução e eles funcionarão ... por um tempo.

Na primeira reinicialização, você se encontrará com um kernel .67 sem nenhuma adição ao VirtualBox.

Reinstalar a imagem antiga do kernel com re-grub e re-boot também não resolverá o problema real

Como acima, você reinicia e se encontra com um kernel desatualizado. Muito em breve, o Ubuntu tentará atualizá-lo e você voltará onde começou (veja abaixo: "desatualizando o kernel").

A aplicação de patches no módulo ISO também não resolverá o problema real

Provavelmente, podemos forçar o carregamento do módulo ISO9660 da mesma forma, já que nenhum trabalho foi feito entre os núcleos 66 e 67 e o binário é essencialmente inalterado, por isso tentamos:

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

Sem erros. Funcionou. Módulo carregado .66 do kernel .67. Vamos tentar novamente montar o CD-ROM:

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

Isso ainda não ajudará, porque o CD que está sendo instalado é o VirtualBox Additions, que requer a instalação dos cabeçalhos do kernel em execução . Se os módulos do kernel em execução não estiverem mais lá, é provável que os cabeçalhos do kernel também não.

Além disso, os módulos Virtualbox recém-compilados não terão para onde ir, pois o diretório .66 modules foi limpo.

Mas diga que você corrige tudo isso: você fez essencialmente um downgrade caro (e parcial) do kernel, e as adições serão perdidas na próxima atualização juntamente com o restante do .66 kernel, exatamente como no caso acima.

A desclassificação do kernel funcionará ... por um tempo

Se removermos o kernel .67 e reinstalar o kernel .66 com os módulos em seu lugar, as coisas ficarão ruins por um tempo. Não é necessário reiniciar, como na solução "force ISO module" acima.

E uma reinicialização não perderá nada, pois nenhum kernel desafiado por adições está instalado.

Mas, dessa forma, o kernel ainda estará na lista "a ser atualizado" e esse mesmo problema provavelmente surgirá mais cedo ou mais tarde.

É verdade que agora você pode surgir em algum momento mais apropriado de sua escolha, que pode valer bastante.

Apenas reinicie!

Reinicializando, o kernel .67 mais recente será ativado e todos os seus módulos e cabeçalhos estarão lá.

Portanto, após a reinicialização, o Guest Additions funcionará e a atualização será "executada".

LSerni
fonte
1
Esta resposta deve ser classificada muito mais alta porque é a resposta correta. Por uma questão de exaustividade, você explicou adequadamente o problema subjacente e também as duas etapas necessárias para chegar à solução.
Zero2cx 18/09/2016
1
@ Iserni Não tenho reputação suficiente para editar o parágrafo da sua resposta no topo. Devemos mencionar a etapa 2, ou seja, a reinstalação da ISO de adições de convidados. As pessoas podem estar perdendo o passo necessário por não lerem até o fim da resposta.
Zero2cx 18/09/2016
7

Conforme outras pessoas, isso geralmente pode ser corrigido com a reinicialização.

De alguma forma, o módulo "iso9660" não foi carregado. depmodvarre todos os módulos e cria dependências de módulos.

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

isso irá corrigir o problema.

Arul
fonte
Funcionou para mim. "sudo depmod -a" foi suficiente. Obrigado.
mombip 28/10
2

No meu caso, a próxima solução alternativa ajudou:

no convidado ubuntu

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

Eu acho que algumas dependências que foram instaladas resolveram o problema

Lostboy
fonte
1

Eu resolvi isso (no Ubuntu 16.04) atualizando pacotes e reiniciando:

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

Tente montá-lo manualmente:

  • Abra um terminal.
  • Digite os seguintes comandos:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Se o conteúdo do CD foi exibido, abra / mnt no Nautilus (também conhecido como Gerenciador de Arquivos) e instale as Adições de Convidado.

Se essas etapas não funcionaram, tente o seguinte:

  • Faça o download do ISO de adições de convidados na VM (via site do virtualbox).
  • Clique com o botão direito do mouse nele -> Abrir com ... -> Montador de imagem de disco.
  • Abra o disco recém-montado.
Helio
fonte
Oi Helio, eu tentei ambos, não funcionou. O mesmo erro. Por favor, veja a resposta editada
Oleg Shirokikh 15/03/2015
A razão pela qual isso não funciona é porque esse procedimento corrigirá a maioria dos problemas decorrentes do Linux não encontrar o dispositivo . O Linux aqui está encontrando o dispositivo, ele até reconhece o sistema de arquivos ("iso9660"), o problema é que ele não sabe como lê- lo.
LSerni