Tidak dapat menginstal tambahan tamu: tipe sistem file tidak dikenal 'iso9660'

27

Menjalankan Ubuntu 14.04 pada Oracle VirtualBox 4.3.24 dan benar-benar macet dengan pemasangan tambahan tamu. Saya telah menghabiskan waktu mencari solusi online, tetapi tidak ada yang membantu ...

masukkan deskripsi gambar di sini

Seperti yang disarankan di bawah ini, saya sudah mencoba memasang secara manual dan juga mengunduh ISO dari web (versi yang cocok dengan VirtualBox). Kesalahan yang sama:

masukkan deskripsi gambar di sini

EDIT:

Sekarang beberapa folder menjadi "read-only", yang menyebabkan masalah besar .. Bahkan menginstal Ubuntu 14.04 image baru tidak membantu ... Jadi instal ulang VirtualBox itu sendiri ...

Oleg Shirokikh
sumber

Jawaban:

45

Saya dapat menyelesaikan masalah pemasangan dengan menginstal ulang citra linux:

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

BTW, semuanya dimulai dengan memutakhirkan VirtualBox. Papan klip dua arah berhenti bekerja sehingga saya mencoba memasukkan kembali Penambahan Tamu ISO. Ini menyebabkan hal-hal di atas. Sekarang, Penambahan Tamu dipasang kembali, tetapi clipboard tidak akan berfungsi ...

Oleg Shirokikh
sumber
5
Saya memiliki masalah yang sama hari ini (clipboard rusak, tidak ada gambar CD yang akan dipasang). Solusi Anda plus menginstal ulang Penambahan Tamu menyelesaikan keduanya.
Mark Smith
1
Bekerja untuk versi 5.x juga
Karl Morrison
14

TL; DR ini dapat dengan cepat diperbaiki dengan me-reboot . Kemudian CD-ROM akan berfungsi dan Penambahan Tamu akan dapat diinstal:

 sudo reboot

Urutan "terbaik" untuk memperbarui kernel pada VirtualBox dengan Tambahan adalah:

 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

(Kernel lama berikutnya yang terbaru mungkin tidak dihapus secara otomatis karena alasan keamanan, untuk memungkinkan Anda "kembali").

Bagaimana ini bisa terjadi? (jawaban panjang sebelumnya)

Persisnya masalah seperti ini akan muncul jika Anda:

  • tingkatkan kernel (katakanlah dari .66 ke .67)
  • jalankan apt-get autoremovedan entah bagaimana hapus kernel yang berjalan, atau secara manual hapus kernel "lama", sehingga menghapus semua modul dari /lib/modules/kernel.66
  • jangan reboot, dengan demikian menjaga kernel ".66" lama berjalan. Modul yang dimuat tetap di memori dan semuanya berfungsi, tetapi tidak ada modul baru yang dapat dimuat karena modul .66 telah dihapus.
  • coba lakukan apa saja yang memerlukan memuat modul yang belum dimuat

Dan menginstal VirtualBox ISO mungkin memerlukan hal itu - memuat modul dukungan ISO9660.

Modul yang diminta sekarang tidak dapat lagi dimuat secara otomatis, karena kernel yang berjalan (.66) tidak menemukan apa pun di /lib/modules/kernel.66. Modul itu ada , tetapi ada di /lib/modules/kernel.67, di mana kernel .66 saat ini tidak tahu apa-apa tentang (dan tidak disarankan untuk memuat modul yang tidak cocok).

Menginstal ulang kernel yang tidak dikenal tentu saja akan menginstal ulang modul kernel yang sedang berjalan, sehingga membuat ../.66/.../isofs.ko tersedia lagi dan membuat reboot tidak perlu. Ini adalah penurunan versi kernel yang diinstal dan masalah pembaruan akan tetap ada (lihat di bawah).

Yaitu, ketika Anda menjalankan Additions CD, itu akan menginstal untuk menjalankan kernel .66, bukan kernel .67 yang diperbarui (yang masih tidak berjalan).

Jika Anda berada dalam situasi seperti itu Anda juga dapat dipastikan memperbaikinya dengan me-reboot (baru 0,67 kernel yang berjalan akan menemukan modul), dan mungkin dengan memuat modul milik kernel baru ( isofscukup stabil), yang kecuali Anda telah menjalani pemutakhiran kernel yang penting masih akan kompatibel ( ini masih tidak disarankan! ):

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

Ini di atas adalah kesalahan root yang Anda dapatkan ("tipe sistem file yang tidak dikenal").

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

Jadi kami memeriksa versi modul mana yang diinstal. Seharusnya 0,66:

# ls /lib/modules
3.13.0-67-generic

... tetapi hanya ada satu direktori dan itu .67 (direktori .66 mungkin ada di sana, tetapi kosong; dalam hal ini du -sh /lib/modules/*akan memberi tahu berapa banyak ruang yang diambil oleh berbagai direktori, yang memungkinkan untuk membedakan antara yang kosong dan yang penuh).

Menginstal ulang gambar kernel lama tanpa re-grub tidak akan memperbaiki masalah sebenarnya

Anda menginstal ulang kernel .66 dengan modul dan header-nya. Sekarang Anda memiliki kedua kernel, dengan grubset untuk memuat .67 yang lebih baru.

ISO CD-ROM dapat dipasang (karena modul sekarang hadir) dan modul VBox akan dikompilasi (karena header telah diinstal).

Ini akan mengkompilasi modul untuk menjalankan kernel .66, dan mereka akan bekerja ... untuk sementara waktu.

Pada reboot pertama, Anda akan menemukan diri Anda dengan kernel .67 tanpa tambahan VirtualBox sama sekali.

Menginstal ulang gambar kernel lama dengan re-grub dan boot ulang juga tidak akan memperbaiki masalah sebenarnya

Seperti di atas, Anda reboot dan menemukan diri Anda dengan kernel yang diturunkan. Dengan segera, Ubuntu akan mencoba memutakhirkannya dan Anda akan kembali ke tempat Anda mulai (lihat di bawah: "downgrade kernel").

Menambal dalam modul ISO juga tidak akan memperbaiki masalah sebenarnya

Kemungkinannya adalah kita dapat memuat modul ISO9660 secara sama, karena tidak ada pekerjaan yang dilakukan antara kernel 66 dan 67 dan biner pada dasarnya tidak berubah, jadi kami mencoba:

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

Tidak ada kesalahan Itu berhasil. Kernel .66 memuat modul dari kernel .67. Mari kita coba lagi untuk memasang CD-ROM:

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

Ini masih tidak akan membantu, karena CD yang diinstal adalah VirtualBox Additions, yang mengharuskan header kernel yang berjalan diinstal. Jika modul kernel yang berjalan sudah tidak ada lagi, kemungkinannya tidak ada header kernel.

Juga, modul Virtualbox yang baru dikompilasi tidak akan memiliki tempat untuk pergi, karena direktori .66 modul telah dibersihkan.

Tetapi katakan Anda memperbaiki semua itu: Anda pada dasarnya telah melakukan downgrade kernel yang mahal (dan sebagian), dan penambahan akan hilang pada upgrade berikutnya bersama dengan sisa kernel 0,66, persis seperti dalam kasus di atas.

Menurunkan versi kernel akan berfungsi ... untuk sementara waktu

Jika kita menghapus kernel .67 dan menginstal ulang kernel .66 dengan modul-modul sebagai gantinya, hal-hal akan menjadi keren untuk sementara waktu. Tidak perlu reboot, seperti pada solusi "force ISO module" di atas.

Dan reboot tidak akan kehilangan apa-apa, karena tidak ada kernel tambahan yang diinstal.

Tetapi dengan cara ini kernel akan tetap ada dalam daftar "yang akan ditingkatkan", dan masalah yang sama ini akan muncul cepat atau lambat.

Memang, Anda sekarang dapat memilikinya muncul di saat yang lebih tepat dari pilihan Anda, yang mungkin bernilai cukup banyak.

Cukup reboot!

Reboot, kernel .67 yang lebih baru akan diaktifkan dan semua modul dan header-nya ada.

Jadi, setelah reboot, Penambahan Tamu akan berfungsi, dan peningkatan akan "mengambil".

LSerni
sumber
1
Jawaban ini harus dinilai jauh lebih tinggi karena itu adalah jawaban yang benar. Demi kelengkapan, Anda telah menjelaskan masalah yang mendasarinya dan juga 2 langkah perbaikan yang diperlukan untuk sampai pada solusi.
zero2cx
1
@Iserni Saya tidak memiliki reputasi yang cukup untuk mengedit jawaban Anda di paragraf di atas. Di sana, kita harus menyebutkan langkah # 2, yaitu menginstal ulang ISO Penambahan Tamu. Orang mungkin kehilangan langkah yang diperlukan itu dengan tidak membaca sampai akhir jawabannya.
zero2cx
7

Sesuai jawaban orang lain, ini biasanya dapat diperbaiki dengan me-reboot.

Entah bagaimana modul "iso9660" tidak dimuat. depmodmemindai semua modul dan membuat dependensi modul.

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

ini akan memperbaiki masalah.

Arul
sumber
Itu berhasil untuk saya. "sudo depmod -a" sudah cukup. Terima kasih.
mombip
2

Dalam kasus saya, penyelesaian selanjutnya membantu:

di guest ubuntu

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

Saya pikir beberapa dependensi yang diinstal memecahkan masalah

Lostboy
sumber
1

Saya memecahkan ini (pada Ubuntu 16.04) dengan memutakhirkan paket dan memulai kembali:

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

Coba pasang secara manual:

  • Buka terminal.
  • Ketikkan perintah berikut:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Kemudian jika konten CD ditampilkan, buka / mnt di Nautilus (alias File Manager) dan masukkan Tambahan Tamu.

Jika langkah-langkah itu tidak berhasil, coba ini:

  • Unduh tambahan tamu ISO dari VM (melalui situs web virtualbox).
  • Klik kanan padanya -> Buka dengan ... -> Disk image mounter.
  • Buka disk yang baru dipasang.
Helio
sumber
Hai Helio, saya sudah mencoba keduanya tidak berhasil. Kesalahan yang sama. Silakan lihat jawaban yang diedit
Oleg Shirokikh
Alasan mengapa ini tidak berhasil adalah karena prosedur ini akan memperbaiki sebagian besar masalah yang timbul dari Linux tidak menemukan perangkat . Linux di sini adalah menemukan perangkat, bahkan mengakui filesystem ( "iso9660"), masalahnya adalah bahwa hal itu tidak tahu bagaimana membaca itu.
LSerni