Невозможно установить гостевые дополнения: неизвестный тип файловой системы 'iso9660'

20

Запуск Ubuntu 14.04 на Oracle VirtualBox 4.3.24 и полностью застрял с добавлением гостя. Я потратил довольно много времени на поиск решения в Интернете, но ничего не помогло ...

Как показано ниже, я попытался установить вручную, а также загрузить ISO из Интернета (версия, соответствующая VirtualBox). Та же ошибка:

EDIT:

Теперь некоторые папки стали «только для чтения», что вызывает большие проблемы. Даже установка нового образа Ubuntu 14.04 не помогает ... Поэтому переустановка самого VirtualBox ...

    
задан Oleg Shirokikh 15.03.2015 в 09:37
источник

6 ответов

34

Мне удалось решить проблему установки путем переустановки образа Linux:

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

Кстати, все началось с обновления VirtualBox. Двунаправленный буфер обмена прекратил работу, поэтому я попытался повторно установить гостевые дополнения ISO. Это вызвало нечто подобное. Теперь гостевые дополнения монтируются обратно, но буфер обмена не работает ...

    
ответ дан Oleg Shirokikh 15.03.2015 в 23:43
источник
10

TL; DR обычно это можно восстановить с помощью перезагрузки . Затем CD-ROM будет работать, и гостевые дополнения будут установлены:

 sudo reboot

«Лучшая» последовательность обновления ядра на VirtualBox с дополнениями:

 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

(Следующее старое ядро ​​не может быть автоматически удалено из соображений безопасности, чтобы вы могли «вернуться»).

Почему это происходит

Именно такая проблема возникнет, если вы:

  • обновить ядро ​​(скажем, от .66 до .67)
  • запустите apt-get autoremove и удалите старое ядро ​​или вручную удалите «старое» ядро, тем самым удалив все модули из /lib/modules/kernel.66
  • не перезагружайтесь, тем самым сохраняя «старое» .66 ядро. Загруженные модули остаются в памяти, но не могут быть загружены новые модули , поскольку модули .66 были удалены.
  • попытайтесь сделать все, что требует загрузки модуля, который еще не загружен.

Запрошенный модуль теперь не может быть автоматически загружен, потому что работающее ядро ​​(.66) ничего не находит в /lib/modules/kernel.66. Модуль существует , но он находится в /lib/modules/kernel.67, о котором текущее ядро ​​.66 ничего не знает (и не рекомендуется загружать модуль несоответствия).

Повторная установка ядра uname'd, конечно же, переустановит запущенные модули ядра, тем самым сделав ../.66/.../isofs.ko доступным снова и ненужную перезагрузку. Это понижение установленного ядра, и проблема с обновлением останется .

То есть, когда вы запускаете CD дополнений, он установит для ядра running .66, not обновленное ядро ​​.67 (которое еще не запущено) .

Если вы находитесь в такой ситуации, вы также можете конечно исправить его, перезагрузив (новое запущенное ядро ​​.67 найдет его модули) и возможно , загрузив модуль, принадлежащий к новому ядру ( isofs довольно стабилен), который, если вы не подверглись важному обновлению ядра, по-прежнему будет совместимым ( это все равно не рекомендуется! ):

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

Это выше корневая ошибка, которую вы получаете («неизвестный тип файловой системы»).

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

Итак, мы проверяем, какая версия модулей установлена. Это должно быть .66:

# ls /lib/modules
3.13.0-67-generic

... но есть только один каталог и это .67 (каталог .66 может быть там, но пуст, в этом случае du -sh /lib/modules/* будет указывать, сколько места занимают различные каталоги, позволяя рассказать между пустым один и полный).

Повторная установка старого ядра не будет исправлять реальную проблему

Вы переустанавливаете ядро ​​.66 с его модулями и заголовками. Теперь у вас есть оба ядра, с grub установлено для загрузки нового .67.

Можно установить CD-ROM ISO (поскольку модуль теперь присутствует), и модули VBox будут скомпилированы (поскольку эти заголовки установлены).

Он будет компилировать модули для ядра .66, и они будут работать ... на некоторое время.

При первой перезагрузке вы окажетесь с ядром .67 без добавления VirtualBox вообще.

Патч в модуле ISO также не устранит настоящую проблему

Скорее всего, мы можем принудительно загружать модуль ISO9660, поскольку между ядрами 66 и 67 не выполнялась работа, и двоичный файл практически не изменился, поэтому мы стараемся:

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

Нет ошибок. Это сработало. Ядро .66 загрузил модуль из ядра .67. Попробуем снова установить CD-ROM:

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

Это все равно не поможет, так как установленный компакт-диск - это дополнения VirtualBox, для которых требуется установить заголовки ядра running . Если запущенных модулей ядра больше нет, есть вероятность, что и заголовки ядра не будут.

Кроме того, новым скомпилированным модулям Virtualbox некуда будет идти, поскольку каталог модулей .66 был очищен; и в любом случае они будут потеряны при следующей перезагрузке вместе с остальной частью ядра .66, как и в случае выше.

Понижение ядра будет работать некоторое время

Если мы удалим ядро ​​.67 и переустановим ядро ​​.66 с модулями вместо него, то на некоторое время все будет сложно. Не требуется перезагрузка, как в вышеприведенном выше решении «силовой ISO-модуль».

И перезагрузка ничего не потеряет, так как не установлено ядро ​​с исправлениями.

Но таким образом ядро ​​по-прежнему будет в списке «быть обновленным», и эта же проблема рано или поздно возникнет.

Конечно, теперь вы можете возникнуть в какой-то более подходящий момент по вашему выбору, который может стоить довольно много.

Просто перезагрузите

Перезагрузка, будет активировано более новое ядро ​​.67 и все его модули и заголовки.

Итак, после перезагрузки, Guest Additions будет работать, и обновление будет «принимать».

    
ответ дан LSerni 08.11.2015 в 12:44
2

Как утверждают другие, обычно это может быть исправлено путем перезагрузки.

Каким-то образом модуль iso9660 не загружен. depmod проверяет все модули и создает зависимости модулей.

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

это решит проблему.     

ответ дан Arul 20.05.2016 в 13:40
1

В моем случае следующее обходное решение помогло:

в гостевой ubuntu

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

Я думаю, что некоторые зависимости, на которых была установлена ​​решена проблема

    
ответ дан Lostboy 08.06.2016 в 10:44
1

Я решил это (на Ubuntu 16.04), обновив пакеты и перезапустив:

sudo apt-get update
sudo apt-get upgrade
sudo reboot
    
ответ дан Johannes Hoff 08.07.2016 в 11:39
0

Попробуйте вручную установить его:

  • Откройте терминал.
  • Введите следующие команды:

    sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • Затем, если было показано содержимое компакт-диска, откройте / mnt в Nautilus (файл.k.a File Manager) и включите гостевые дополнения.

Если эти шаги не работают, попробуйте следующее:

  • Загрузите гостевые дополнения ISO из виртуальной машины (через веб-сайт виртуальных веб-сайтов).
  • Щелкните правой кнопкой мыши на нем - & gt; Открыть с помощью ... - & gt; Дисковый графический редактор.
  • Откройте вновь установленный диск.
ответ дан Helio 15.03.2015 в 09:52