Вопрос или проблема
Я пытаюсь запустить программу, которая использует QEMU на виртуальной машине Ubuntu в VirtualBox, размещенной на компьютере с Windows 10 и процессором AMD. Когда я пытаюсь запустить программу, она выдает мне такую ошибку:
Не удалось получить доступ к модулю ядра KVM: Нет такого файла или каталога
qemu-system-x86_64: не удалось инициализировать kvm: Нет такого файла или каталога
Я пробовал множество решений, опубликованных в интернете. Это показалось самым многообещающим. Однако, когда я выполняю команду
sudo modprobe kvm_amd
она выдает мне такую ошибку:
modprobe: ERROR: не удалось вставить 'kvm_amd': Операция не поддерживается
Попробовал это исправить, но безуспешно. Я запустил virt-host-validate и получил:
QEMU: Проверка наличия аппаратной виртуализации : НЕУДАЧА (Доступны только эмуляторные CPU, производительность будет значительно ограничена)
QEMU: Проверка существования устройства /dev/vhost-net : ПРОЙДЕНО
QEMU: Проверка существования устройства /dev/net/tun : ПРОЙДЕНО
QEMU: Проверка поддержки контроллера cgroup 'cpu' : ПРОЙДЕНО
QEMU: Проверка поддержки контроллера cgroup 'cpuacct' : ПРОЙДЕНО
QEMU: Проверка поддержки контроллера cgroup 'cpuset' : ПРОЙДЕНО
QEMU: Проверка поддержки контроллера cgroup 'memory' : ПРОЙДЕНО
QEMU: Проверка поддержки контроллера cgroup 'devices' : ПРЕДУПРЕЖДЕНИЕ (Включите 'devices' в конфигурационном файле ядра или монтируйте/включите контроллер cgroup в вашей системе)
QEMU: Проверка поддержки контроллера cgroup 'blkio' : ПРОЙДЕНО
QEMU: Проверка поддержки назначения устройства IOMMU : ПРЕДУПРЕЖДЕНИЕ (Неизвестно, поддерживает ли эта платформа IOMMU)
QEMU: Проверка поддержки безопасного гостя : ПРЕДУПРЕЖДЕНИЕ (Неизвестно, поддерживает ли эта платформа Secure Guest)
Другие решения предложили изменять настройки VirtualBox, вот что у меня получилось после их попыток:
Это не помогло исправить проблему. Другие решения упоминают о заходе в BIOS для исправления, но так как это виртуальная машина, в VirtualBox, похоже, нет такой возможности.
возможно, слишком поздно, но я столкнулся с той же проблемой только что. вот мое решение:
1.dmesg | grep kvm, посмотрите, есть ли kvm: отключено в BIOS, затем перезагрузитесь и войдите в настройки BIOS.
2.если CPU AMD, найдите режим svm и включите его.
3.lsmod | grep kvm, если есть
kvm_amd 29264 0
kvm 244765 1 kvm_amd
то это означает, что kvm успешно загружен.
4.запустите вашу виртуальную машину.
.
Ответ или решение
Если вы получаете ошибку "Could not access KVM kernel module: No such file or directory" при попытке запуска программы, использующей QEMU на Ubuntu VM в VirtualBox, запущенной на Windows 10 с процессором AMD, это может быть связано с несколькими факторами. Давайте рассмотрим решения, которые помогут исправить эту проблему, шаг за шагом.
1. Проверка аппаратной виртуализации
Проблема:
Ошибка указывает на невозможность доступа к модулю ядра KVM, что может быть связано с отсутствием аппаратной виртуализации.
Решение:
- Проверьте поддержку аппаратной виртуализации в BIOS вашего физического компьютера. Поскольку вы работаете с виртуальной машиной, сначала убедитесь, что аппаратная виртуализация (обычно обозначается как Intel VT-x для процессоров Intel или AMD-V для AMD) включена в BIOS вашего компьютера. Для этого:
- Перезагрузите компьютер и войдите в BIOS. Обычно для этого используются клавиши Del, F2, Esc, или нужная клавиша указывается в начале загрузки компьютера.
- Найдите опцию, связанную с Virtualization Technology, и убедитесь, что она включена (Enabled).
2. Конфигурация VirtualBox
Проблема:
Настройки VirtualBox могут быть неправильно установлены для поддержки аппаратной виртуализации.
Решение:
- Проверьте настройки виртуальной машины в VirtualBox:
- Откройте VirtualBox и выберите вашу виртуальную машину.
- Перейдите в раздел "Системы" и убедитесь, что "VT-x/AMD-V" активированы в опциях процессора.
- Убедитесь, что включено "Nested VT-x/AMD-V", если оно доступно, в разделе "Акцелеррация".
3. Проверка состояния модулей в Ubuntu
Проблема:
Операционная система в виртуальной машине может некорректно загружать модули KVM или они не установлены.
Решение:
- Проверьте, загружены ли модули KVM:
- Выполните команду
lsmod | grep kvm
в терминале Ubuntu. Вы должны увидеть строки сkvm_amd
иkvm
. - Если они отсутствуют, попробуйте загрузить модуль вручную с помощью
sudo modprobe kvm_amd
. Если получите ошибку "Operation not supported", это указывает на то, что аппаратная виртуализация не активирована либо в BIOS, либо в настройках VirtualBox.
- Выполните команду
4. Виртуальная машина в виртуальной машине (Nested Virtualization)
Проблема:
Запуск KVM в VirtualBox, который сам работает на Windows как гостевая система, может быть ограничен.
Решение:
- Если ваш BIOS и VirtualBox сконфигурированы корректно, но проблема все еще сохраняется, возможно, ограничена поддержка виртуализации внутри виртуальной машины (nested virtualization).
- Переместите ваши рабочие нагрузки на физическую машину, если это возможно, или используйте платформу виртуализации, поддерживающую вложенную виртуализацию более согласовано.
Заключение
Проблемы с KVM на виртуальной машине, работающей в среде VirtualBox, часто связаны с отсутствием поддержки аппаратной виртуализации или неправильной конфигурацией. Внимательно следуя шагам по проверке BIOS и настройкам VirtualBox, вы, скорее всего, решите данную проблему. Если проблема все же остается, рассмотрите возможность использования альтернативных решений для эмуляции и виртуализации ваших задач.