Метод научного тыка
Заметки на память и вообще...

Virtualbox + meltdown = зависание

24 Марта 2018 0
virtualbox meltdown 2 мин.

Задумал тут на досуге поставить Virtualbox и попробовать различные дистрибутивы Linux. Посмотреть, так сказать, до чего дошёл прогресс в области линуксостроения. Оданко ждало меня разочарование: как только я запускал какую-либо виртуальную машину моя система конкретно зависала. Окончательно и бесповоротно. И ведь работало раньше без проблем.

Стал разбираться и выяснил, что всему виной тот самый Meltdown, будь он неладен.

Как это связано и что теперь делать?

Да очень просто. Если кратко, то должны быть соблюдены все условия:

  1. Virtualbox версии 5.0.4
  2. Ядро Linux версии 4.13.0-*

Всё это удивительным образом сходится в Ubuntu 16.04.* LTS.

А если более развёрнуто, то ядро 4.13.0 содержит в себе код для исправления ситуации с тем самым Meltdown. А Virtualbox версии 5.0.4 отказывается работать с этим самым кодом.

Выхода из этой ситуации два:

  1. Откатиться на ядро, например, 4.10
  2. Использовать более новую (а соответственно исправленную) версию Virtualbox.

Я предпочитаю использовать исправленный софт.

Итак, официальная инструкция как это сделать находится на сайте Virtualbox’а. Для тех, кто слишком гордый, чтоб читать статьи по-английски я предлагаю краткую инструкцию ниже.

  1. Сносим ранее установленный Virtualbox
     sudo apt purge virtualbox*
    
  2. Добавляем репозиторий для Virtualbox
     sudo nano /etc/apt/sources.list
     ...
     deb http://download.virtualbox.org/virtualbox/debian xenial contrib
    

    Не забудьте вставить версию своего дистрибутива вместо xenial

  3. Добавляем ключ для проверки репозитория
     wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
    
  4. Устанавливаем Virtualbox
     sudo apt-get update
     sudo apt-get install virtualbox-5.2
    

Вот и всё! Теперь всё должно работать без зависаний и особых претензий.

Ежели при запуске Virtualbox выдаёт ошибку

RTR3InitEx failed

то не надо выпендриваться, а просто выполнить команду, которую предлагают (предварительно Virtualbox необходимо закрыть)

sudo /sbin/vboxconfig

Ну теперь точно всё.