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

10

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

modprobe vboxdrv и modprobe vboxnetflt

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

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

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

    
задан Ammon 20.01.2013 в 00:44
источник

2 ответа

2

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

Когда вы устанавливаете новую версию ядра, ваше старое ядро ​​все еще работает. Как Хавьер Ривера говорит , вы должны перезагрузиться, чтобы использовать новое ядро.

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

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

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

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

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

    
ответ дан Eliah Kagan 22.01.2013 в 02:13
источник
2

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

ответ дан sean_m 22.01.2013 в 03:12