VTX включен в BIOS, но не обнаружен – Ubuntu 22.04

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

У меня есть "HP Elitedesk 800 g3" (ЦПУ "Intel i7 6700") и VTX включен в моем BIOS (хотя он серый, я не знаю почему), но когда я пытаюсь использовать VirtualBox или любое виртуализационное программное обеспечение, он выдает ошибку о том, что vtx не включен… (я искал в интернете, но ничего полезного для такой ситуации не нашел…) например, NS_ERROR_FAILURE (0X80004005) (для Virtualbox)

Я попытался проверить, включен ли VTX на моей машине:

lscpu:

Архитектура:             x86_64
  Режим(ы) работы ЦПУ:    32-битный, 64-битный
  Размеры адреса:         39 бит физический, 48 бит виртуальный
  Порядок байт:           Младший байт имеет меньший адрес
ЦПУ:                      8
  В сети список ЦПУ:      0-3
  Не в сети список ЦПУ:   4-7
Идентификатор продавца:   GenuineIntel
  Модель процессора:      Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
    Семейство ЦПУ:        6
    Модель:               94
    Число потоков на ядро: 1
    Ядер на сокет:        4
    Сокетов:              1
    Степпинг:             3
    Максимальная частота ЦПУ: 4000.0000
    Минимальная частота ЦПУ: 0.0000
    BogoMIPS:             6799.81
    Флаги:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc ar
                          t arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid 
                          sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpri
                          ority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida ara
                          t pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
Виртуализационные возможности:  
  Виртуализация:         VT-x
Кэши (общая сумма):      
  L1d:                    128 КиБ (4 экземпляра)
  L1i:                    128 КиБ (4 экземпляра)
  L2:                     1 МиБ (4 экземпляра)
  L3:                     8 МиБ (1 экземпляр)
NUMA:                     
  Количество узлов NUMA:        1
  NUMA узел0 CPU(ы):      0-3
Уязвимости:          
  Сбор данных выборки:   Уязвимый: Нет микрокода
  Многократный сбой Itlb:          KVM: Уменьшение: VMX отключен
  L1tf:                   Уменьшение; Инверсия PTE; Очистка кэша VMX, SMT отключен
  Mds:                    Уменьшение; Очистка буферов ЦПУ; SMT отключен
  Meltdown:               Уменьшение; PTI
  Устаревшие данные Mmio:        Уменьшение; Очистка буферов ЦПУ; SMT отключен
  Выборка данных регистра: Не подвержен
  Retbleed:               Уменьшение; IBRS
  Избыточный запас:   Не подвержен
  Байпас магазина спекуляций:      Уменьшение; Отключен спекулятивный байпас магазина
  Spectre v1:             Уменьшение; барьеры usercopy/swapgs и сантизация указателя __user
  Spectre v2:             Уменьшение; IBRS; IBPB всегда включен; STIBP принудительно; заполнение RSB; PBRSB-eIBRS Не подвержен; BHI Не подвержен
  Srbds:                  Уменьшение; Микрокод
  Tsx асинхронное прерывание:        Уменьшение; TSX отключен

grep --color vmx /proc/cpuinfo:

флаги       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 монитор ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
флаги vmx   : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml
флаги       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 монитор ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
флаги vmx   : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml
флаги       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 монитор ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
флаги vmx   : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml
флаги       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl_flush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 монитор ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
флаги vmx   : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml

journalctl | grep virtualization:

Dec 27 14:12:51 BrownTurbo-Linux systemd[1]: Виртуализация не найдена в таблице DMI продавца.
Dec 27 14:12:51 BrownTurbo-Linux systemd[1]: Невозможно прочитать /sys/firmware/dmi/entries/0-0/raw, используя информацию о виртуализации, найденную в таблице DMI продавца, игнорируется: Нет такого файла или каталога
Dec 27 14:12:51 BrownTurbo-Linux systemd[1]: UML виртуализация не найдена в /proc/cpuinfo.
Dec 27 14:12:51 BrownTurbo-Linux systemd[1]: Виртуализация не найдена в CPUID.
Dec 27 14:12:51 BrownTurbo-Linux systemd[1]: Найдена виртуализация VM none.
Dec 27 14:41:09 BrownTurbo-Linux systemd[10848]: Найдена контейнерная виртуализация none.
Dec 28 21:00:10 BrownTurbo-Linux systemd[1]: Виртуализация не найдена в таблице DMI продавца.
Dec 28 21:00:10 BrownTurbo-Linux systemd[1]: Невозможно прочитать /sys/firmware/dmi/entries/0-0/raw, используя информацию о виртуализации, найденную в таблице DMI продавца, игнорируется: Нет такого файла или каталога
Dec 28 21:00:10 BrownTurbo-Linux systemd[1]: UML виртуализация не найдена в /proc/cpuinfo.
Dec 28 21:00:10 BrownTurbo-Linux systemd[1]: Виртуализация не найдена в CPUID.
Dec 28 21:00:10 BrownTurbo-Linux systemd[1]: Найдена виртуализация VM none.
Dec 28 21:06:53 BrownTurbo-Linux systemd[9032]: Найдена контейнерная виртуализация none.

kvm-ok::

ИНФО: /dev/kvm существует
Акселерация KVM может быть использована

uname -a:
Linux BrownTurbo-Linux 6.8.0-50-generic #51~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 21 12:03:03 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Обратите внимание, что IOMMU принудительно включен в моей командной строке ядра:
intel_iommu=on amd_iommu=force_isolation iommu=force iommu.passthrough=0 iommu.strict=1

.

Ответ или решение

Вопрос о проблеме с обнаружением VTX в Ubuntu 22.04, несмотря на его включение в BIOS вашего HP Elitedesk 800 G3 с процессором Intel i7-6700, требует комплексного подхода. Давайте разберем возможные причины и решения данной ситуации, пользуясь данными, представленными вами.

Проблема с обнаружением VTX

Вы столкнулись с ситуацией, где, несмотря на включение VTX в BIOS, виртуализационные программы, такие как VirtualBox, сообщают об ошибке, указывающей на то, что VTX не включен. Анализируем полученные данные:

  1. Вывод команды lscpu показывает, что VT-x поддерживается вашим процессором, так как флаг vmx присутствует.
  2. Команда grep --color vmx /proc/cpuinfo также подтверждает наличие флага vmx у каждого из ядер процессора.
  3. journalctl | grep virtualization дает понять, что в системе не обнаружены признаки виртуализации, что может указывать на программное несоответствие или проблемы с BIOS.
  4. Тест kvm-ok указывает, что /dev/kvm существует, и KVM-ускорение может быть использовано, что сводит к минимуму вероятность аппаратных ограничений.

Возможные решения

  1. Обновление BIOS: Поскольку VTX в BIOS серый, это может означать устаревшую версию BIOS, которая ограничивает настройки. Попробуйте обновить BIOS до последней версии с официального сайта HP.

  2. Проверка IOMMU: Параметры командной строки, касающиеся IOMMU, могут влиять на работу виртуализации. Попробуйте временно отключить IOMMU, чтобы проверить, будет ли это влиять на доступность VTX. Можете сделать это, временно удалив intel_iommu=on и другие связанные параметры из командной строки ядра.

  3. Переустановка модулей ядра: Проблемы с модулями ядра также могут препятствовать обнаружению аппаратных возможностей процессора. Попробуйте обновить или переустановить модули ядра, связанные с виртуализацией. Это можно сделать с помощью команд:

    sudo apt-get update
    sudo apt-get install --reinstall linux-image-$(uname -r)
  4. Проверка настройки VirtualBox: Убедитесь, что в настройках вашей виртуальной машины выбраны правильные параметры для аппаратной виртуализации. Иногда, несмотря на аппаратную поддержку VT-x, неправильные настройки в самой программе VirtualBox могут приводить к ошибкам.

  5. Рассмотрение альтернативных гипервизоров: Если VirtualBox не работает, возможно, попробуйте другой гипервизор, например, KVM/QEMU, чтобы удостовериться, что проблема не связана с самой программой.

Заключение

Приведенные шаги и рекомендации основаны на предоставленных вами данных и типичных проблемах, возникающих в подобных случаях. Учтите, что успешное решение может потребовать комбинации различных подходов. Надеемся, эти советы помогут вам восстановить функциональность виртуализации на вашем устройстве.

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

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