Зачем мне нужно повторно загружать модули ядра для virtualbox после обновления ядра?

После последнего обновления ядра в Ubuntu 12.10 мне пришлось вручную перезагрузить два модуля ядра для Virtualbox.

modprobe vboxdrv и modprobe vboxnetflt

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

Это было автоматическое обновление, которое попросило меня перезагрузиться после его завершения. После перезагрузки виртуальные машины не будут работать, пока я не перезагрузил модули.

Итак, мои вопросы: это нормально? Произойдет ли это с другими пакетами или только с Virtualbox? Обновитель должен делать это автоматически? Должен ли я подать отчет об ошибке, и если да, то кому?

10
задан 22 January 2013 в 05:48

2 ответа

Модули хоста VirtualBox являются сборкой от исходного кода на Вашей машине. Модули для одного ядра будут не обязательно работать (или работать правильно) на другом ядре. Они обычно перекомпилированы после того, как ядро обновлено.

При установке новой версии ядра старое ядро все еще работает. Как Javier Rivera говорит, необходимо перезагрузить для использования нового ядра.

Таким образом, если Ваша цель состоит в том, чтобы выполнить VirtualBox на новом ядре, необходимо перезагрузить; модули будут загружены, когда Вы сделаете (после того, чтобы быть восстановленным из источника при необходимости).

Однако, если Ваша цель состоит в том, чтобы использовать старые модули со старым ядром, можно вручную перезагрузить их с modprobe (как Вы делали).

Если Вы полагаете, что это - ошибка, что модули VirtualBox не продолжают работать на рабочее ядро перед перезагрузкой, Вы можете bugreport это. Если Вы используете версию VirtualBox, обеспеченного официально в Ubuntu (а не версия из источника программного обеспечения Oracle), я рекомендую сообщить об этом по нисходящему VirtualBox (т.е. по VirtualBox Ubuntu). Прочитайте это руководство тщательно сначала. Существует также полезная информация об ошибке, сообщающей в этом вопросе.

Если можно произвести это с восходящей версией VirtualBox (особенно, если это происходит в системах не-Ubuntu, но я не думаю, что это важно здесь), я рекомендую сообщить об этом (или также сообщить, что это) в восходящем направлении (ищут сначала).

Я рекомендую не принять этот ответ сразу; возможно, кто-то может лучше объяснить, почему модули разгружены.

2
ответ дан 22 January 2013 в 05:48

Если вам нужно было запустить /etc/init.d/vboxdrv setup после обновления и перед загрузкой новых модулей ядра, убедитесь, что dkms установлен и обновлен правильно. Это компонент, который перекомпилировал модули при перезагрузке после обновления ядра, он также должен загрузить модули после завершения. Это единственное обстоятельство, при котором я мог потерпеть неудачу в моем тестировании. Если это не так, я бы воспользовался советом Элии и отправил отчет об ошибке.

0
ответ дан 22 January 2013 в 05:48

Другие вопросы по тегам:

Похожие вопросы: