Не удалось получить доступ к модулю ядра KVM на виртуальной машине Ubuntu.

Вопрос или проблема

Я пытаюсь запустить программу, которая использует 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, вот что у меня получилось после их попыток:
enter image description here
enter image description here

Это не помогло исправить проблему. Другие решения упоминают о заходе в 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, вы, скорее всего, решите данную проблему. Если проблема все же остается, рассмотрите возможность использования альтернативных решений для эмуляции и виртуализации ваших задач.

Оцените материал
Добавить комментарий

Капча загружается...