Запускаем VirtualBox в Linux 6.12 на процессоре AMD

prolinux

Опубликован:
2025-01-06T04:05:50.387769Z
Отредактирован:
2025-01-06T04:05:50.387769Z
Статус:
публичный
41
0
0

Open Source по природе своей является довольно подвижной и непрерывно меняющейся средой. Разработка и обновление программного обеспечения идёт полным ходом всегда, именно в тот момент, когда вы читаете эти строки. В том числе, очень часто обновляется Linux — ядро всех популярных ныне свободных операционных систем. Начиная с ядра версии 6.12 на моём старом лэптопе с процессором AMD по странному стечению обстоятельств перестали запускаться виртуальные машины VirtualBox. В этом выпуске блога я покажу исправление этой ситуации.

Воспроизводим ошибку

Итак, в моём распоряжении имеется рабочий лэптоп Acer с процессором AMD e1. На этой вычислительной машине, на её стационарный диск установлена операционная система Debian sid. В один прекрасный момент, после того как с обновлением операционной системы ядро получило версию 6.12, на моём компьютере перестали запускаться виртуальные машины VirtualBox. Попытка запуска любой виртуальной машины прерывалась сбоем и отчётом об ошибке, вот как ситуация выглядела на моём рабочем столе, внимание на снимок экрана.

d88KR1X0mr.png

Отчёт об ошибке гласит буквально следующее: VirtualBox can't enable the AMD-V extension. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_SVM_IN_USE).

Из текста отчёта понятно, что программа не может включить расширение AMD-V по причине включенного в ядре режима KVM. Скажу честно, предложение пересобрать ядро мне не очень понравилось, ситуация зашла в тупик, и мне стало грустно. На деле оказалось, что проблема имеет весьма незамысловатое решение. Об этом далее...

Устраняем сбой виртуальной машины

Для решения проблемы мне понадобится самый обычный терминал, права суперпользователя и любой консольный текстовый редактор, который можно запустить в командной строке терминала посредством программы sudo — подойдёт любой, Nano, Vim, mcedit. В рамках этой демонстрации я буду использовать текстовый редактор Vim.

Открываю с правами суперпользователя в текстовом редакторе Vim файл по адресу /etc/default/grub — это файл настроек системного загрузчика GRUB.

$ sudo vim /etc/default/grub

В этом файле меня интересует строчка GRUB_CMDLINE_LINUX, вот как она выглядит в начальном состоянии в окне моего текстового редактора. Внимание на снимок экрана.

jn10Qk3XLE.png

В этой строчке, внутри открытых кавычек вписываю следующую строку.

kvm.enable_virt_at_load=0

Эта опция отключит расширение KVM при загрузке ядра. На снимке экрана далее показано, как правка выглядит в окне моего текстового редактора.

eI5jxtfYpT.png

Сохраняю изменения в файл и покидаю текстовый редактор.

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

$ sudo update-grub

На снимке экрана ниже я показал выхлоп своего терминала при исполнении этой команды.

PO2vZKSmok.png

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

Сразу после загрузки операционной системы запускаю VirtualBox и пробую запустить так необходимую мне виртуальную машину. Внимание на снимок экрана.

4txcZzFebV.png

Как видно на снимке экрана, никаких отчётов об ошибках не последовало, виртуальная машина запустилась в штатном режиме, о чём немногословно свидетельствует красочное превью в окне VirtualBox, отображающее старт системного загрузчика MX Linux Libretto Live, машина грузится с этого образа. Проблема благополучно решена.

Метки: