Impossibile installare le aggiunte guest: tipo di filesystem sconosciuto 'iso9660'


27

Esecuzione di Ubuntu 14.04 su Oracle VirtualBox 4.3.24 e completamente bloccata con il montaggio di aggiunte guest. Ho passato parecchio tempo a cercare una soluzione online, ma nulla mi ha aiutato ...

inserisci qui la descrizione dell'immagine

Come suggerito di seguito, ho provato a montare manualmente e anche a scaricare ISO dal web (versione corrispondente a VirtualBox). Lo stesso errore:

inserisci qui la descrizione dell'immagine

MODIFICARE:

Ora alcune cartelle sono diventate "di sola lettura", il che causa grossi problemi. Anche l'installazione di una nuova immagine di Ubuntu 14.04 non aiuta ... Quindi la reinstallazione di VirtualBox stesso ...

Risposte:


45

Sono stato in grado di risolvere il problema di montaggio reinstallando l'immagine di Linux:

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

A proposito, tutto è iniziato con l'aggiornamento di VirtualBox. Appunti bidirezionali smesso di funzionare, quindi ho provato a reinserire ISO Aggiunte Guest. Ciò ha causato cose di cui sopra. Ora, le Aggiunte degli ospiti sono montate indietro, ma gli Appunti non funzioneranno ...


5
Ho avuto gli stessi problemi oggi (appunti rotti, nessuna immagine del CD sarebbe montata). La soluzione più la reinstallazione di Guest Additions risolve entrambi.
Mark Smith,

1
Ha funzionato anche per la versione 5.x
Karl Morrison

14

TL; DR questo può essere rapidamente risolto riavviando . Quindi il CD-ROM funzionerà e le aggiunte degli ospiti saranno installabili:

 sudo reboot

La sequenza "migliore" per aggiornare il kernel su VirtualBox con aggiunte è:

 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

(Il kernel precedente all'ultimo potrebbe non essere rimosso automaticamente per motivi di sicurezza, per consentire di "tornare indietro").

Come è successo? (precedente risposta lunga)

Esattamente questo tipo di problema sorgerà se:

  • aggiorna il kernel (diciamo da .66 a .67)
  • eseguire apt-get autoremovee in qualche modo rimuovere il kernel in esecuzione o rimuovere manualmente il "vecchio" kernel, rimuovendo così tutti i moduli da /lib/modules/kernel.66
  • non riavviare, mantenendo in esecuzione il "vecchio" kernel .66. I moduli caricati rimangono in memoria e tutto funziona, ma non è possibile caricare nuovi moduli poiché i moduli .66 sono stati eliminati.
  • prova a fare tutto ciò che richiede il caricamento di un modulo che non è stato ancora caricato

E l'installazione di VirtualBox ISO può richiedere esattamente questo: il caricamento del modulo di supporto ISO9660.

Il modulo richiesto ora non può più essere caricato automaticamente, poiché il kernel in esecuzione (.66) non trova nulla in /lib/modules/kernel.66. Il modulo esiste , ma è in /lib/modules/kernel.67, di cui l'attuale kernel .66 non sa nulla (e non è consigliabile caricare un modulo non corrispondente).

La reinstallazione del kernel senza nome reinstallerà ovviamente i moduli del kernel in esecuzione, rendendo di nuovo disponibile ../.66/.../isofs.ko e rendendo superfluo il riavvio. Questo è un downgrade del kernel installato e il problema di aggiornamento rimarrà (vedi sotto).

Cioè, quando si esegue il CD delle aggiunte, verrà installato per il kernel .66 in esecuzione , non per il kernel .67 aggiornato (che non è ancora in esecuzione).

Se ti trovi in ​​una situazione del genere, puoi sicuramente risolverlo riavviando (il nuovo kernel .67 funzionante troverà i suoi moduli), e probabilmente caricando il modulo appartenente al nuovo kernel ( isofsè abbastanza stabile), che a meno che tu non abbia sottoposto a un importante aggiornamento del kernel sarà comunque compatibile ( questo non è ancora consigliato! ):

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

Questo sopra è l'errore di root che stai ricevendo ("tipo di filesystem sconosciuto").

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

Quindi controlliamo quale versione dei moduli è installata. Dovrebbe essere .66:

# ls /lib/modules
3.13.0-67-generic

... ma c'è solo una directory ed è .67 (la directory .66 potrebbe essere lì, ma vuota; in questo caso du -sh /lib/modules/*dirà quanto spazio è occupato dalle varie directory, permettendo di dire tra quelle vuote e quelle piene).

Reinstallare la vecchia immagine del kernel senza re-grub non risolverà il vero problema

Si reinstalla il kernel .66 con i suoi moduli e intestazioni. Ora hai entrambi i kernel, con grubset per caricare il nuovo .67.

È possibile montare il CD-ROM ISO (perché il modulo è ora presente) e i moduli VBox verranno compilati (poiché le intestazioni sono state installate).

Compilerà i moduli per il kernel .66 in esecuzione e funzioneranno ... per un po '.

Al primo riavvio, ti ritroverai con un kernel .67 senza aggiunte VirtualBox.

La reinstallazione della vecchia immagine del kernel con re-grub e il riavvio non risolverà il vero problema

Come sopra, riavvii e ti ritrovi con un kernel declassato. Molto presto Ubuntu proverà ad aggiornarlo e tornerai da dove hai iniziato (vedi sotto: "downgrade del kernel").

Anche l'applicazione di patch nel modulo ISO non risolverà il vero problema

È probabile che possiamo forzare il caricamento del modulo ISO9660 lo stesso, poiché non è stato eseguito alcun lavoro tra i kernel 66 e 67 e il binario è sostanzialmente invariato, quindi proviamo:

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

Nessun errore Ha funzionato. Kernel .66 modulo caricato dal kernel .67. Proviamo di nuovo a montare il CD-ROM:

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

Questo non è ancora d'aiuto, perché il CD da installare è VirtualBox Additions, che richiede l' installazione delle intestazioni del kernel in esecuzione . Se i moduli del kernel in esecuzione non sono più presenti, è probabile che le intestazioni del kernel non lo siano neppure.

Inoltre, i moduli Virtualbox appena compilati non dovranno andare da nessuna parte, poiché la directory dei moduli .66 è stata pulita.

Ma dite di aver risolto tutto ciò: avete essenzialmente effettuato un downgrade del kernel costoso e parziale, e le aggiunte andranno perse al prossimo aggiornamento insieme al resto del kernel .66, esattamente come nel caso sopra.

Il downgrade del kernel funzionerà ... per un po '

Se rimuoviamo il kernel .67 e reinstalliamo il kernel .66 con i moduli al suo posto, per un po 'le cose saranno enormi. Nessun riavvio necessario, come nella soluzione "force ISO module" sopra.

E un riavvio non perderà nulla, poiché non è installato alcun kernel con problemi di aggiunta.

Ma in questo modo il kernel sarà ancora nella lista "da aggiornare", e questo stesso problema è destinato a sorgere prima o poi.

Certo, ora puoi farlo sorgere in un momento più appropriato della tua scelta, che potrebbe valere parecchio.

Basta riavviare!

Al riavvio, verrà attivato il kernel .67 più recente e tutti i suoi moduli e intestazioni sono lì.

Quindi, dopo il riavvio, le Aggiunte agli ospiti funzioneranno e l'aggiornamento "prenderà".


1
Questa risposta dovrebbe essere valutata molto più alta perché è la risposta corretta. Per completezza, hai spiegato correttamente il problema di fondo e anche la correzione in 2 passaggi necessaria per arrivare alla soluzione.
zero2cx,

1
@Iserni Non ho abbastanza reputazione per modificare la tua risposta nel paragrafo in alto. Qui, dovremmo menzionare il passaggio 2, ovvero la reinstallazione dell'ISO delle aggiunte degli ospiti. Alla gente potrebbe mancare quel passo necessario non leggendo fino alla fine della risposta.
zero2cx,

7

Come da altre risposte, questo può essere risolto riavviando.

In qualche modo il modulo "iso9660" non è stato caricato. depmodanalizza tutti i moduli e crea dipendenze del modulo.

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

questo risolverà il problema.


Ha funzionato per me. "sudo depmod -a" era abbastanza. Grazie.
Mombip,

2

Nel mio caso la soluzione alternativa successiva ha aiutato:

in Ubuntu guest

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

Penso che alcune dipendenze che sono state installate hanno risolto il problema


1

Ho risolto questo problema (su Ubuntu 16.04) aggiornando i pacchetti e riavviando:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

0

Prova a montarlo manualmente:

  • Apri un terminale.
  • Digita i seguenti comandi:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Quindi, se il contenuto del CD è stato mostrato, apri / mnt in Nautilus (aka File Manager) e installa le Aggiunte Guest.

Se questi passaggi non hanno funzionato, prova questo:

  • Scarica l'ISO delle aggiunte degli ospiti dalla VM (tramite il sito Web di Virtualbox).
  • Fai clic destro su di esso -> Apri con ... -> Mounter image mounter.
  • Apri il disco appena montato.

Ciao Helio, ho provato entrambi non ha funzionato. Lo stesso errore. Si prega di vedere la risposta modificata
Oleg Shirokikh,

Il motivo per cui questo non funziona è perché questa procedura risolverà la maggior parte dei problemi derivanti dal fatto che Linux non trova il dispositivo . Linux qui sta trovando il dispositivo, riconosce persino il filesystem ("iso9660"), il problema è che non sa come leggerlo .
LSerni,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.