Disabled by bios что это

Обновлено: 07.07.2024

Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания Citrix выпустила новый продукт под название XenClient XT, который по сути является клиентским гипервизором первого уровня, то есть работает на чистом железе. Основной идеей клиентского гипервизора является создание виртуальных машин на собственном ноутбуке. Где и как это применимо — опустим.

Все современные процессоры Intel и AMD поддерживают технологию аппаратной виртулизации.
И так, в моем распоряжении был ноутбук с H77 чипсетом и Intel Core i7-3820QM процессором. Согласно спецификации от производителя, мой процессор поддерживал Intel Virtualization Technology (VT-x) и Intel Virtualization Technology for Directed I/O (VT-d) технологии. Если первая имеется почти на всех новых ноутбуках, то вторая технология встречается только на топовых моделях. Но она дает много преимуществ, как например прямой проброс GDU в виртуальную среду, соответственно клиентская машина получает полную поддержку 3D. Но давайте не будем углубляться в технологии, отличные от тематики данной статьи.

В моем биосе была возможность включения VT-x, но вот управление технологией VT-d не было предусмотрено изначально.

В расстроенных чувствах, я стал бродить по разным ресурсам в интернете и наткнулся на два очень интересных ресурса: mydigitallife и bios-mods.

Оказалось, что большая часть настроек биоса скрыта от обычного пользователя. Причина понятно — не давать пользователям ковыряться в настройках инициализации железа, дабы не создавать очереди у сервисных центров из армии любопытных «бородатых» субъектов с «кирпичами» в руках.

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

Так я прождал неделю, а заработать никто не захотел… ну или не смог.

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

Вы помните в лохматые годы мы прошивали свои системные блоки новыми биосами для материнских плат? Тогда на экране красовалась надпись, мол ни в коем случае не выключайте компьютер до окончания прошивания? Были случаи, когда по странному стечению обстоятельств именно в тот момент отключалось электричество… В итоге получали большой не функциональный ящик. Что делалось дальше — история умалчивает.

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

Я пошел другим путем: пропатчил те места, которые ну ни как не могли повлиять на функционал биоса, а точнее заменил логотип. Снова прошил и снова получил кирпич. Размышляя и советуясь с опытными дельцами в этом деле мы пришли к выводу, что современные UEFI биосы имеют вторичную проверку на контрольную сумму образа прошивки. Первая проверка происходит когда вы пытаетесь прошить, а вторая когда биос запускается. Если в первом случае я также пропатчил прошивальщик, чтобы он не проверял контрольную сумму, то вторую проверку мне не преодолеть, так как она зашита в самом железе.

На данный момент имеем следующее: Можно патчить EFI биосы и не можем UEFI. Мой, конечно же, второй случай. Опять долгие поиски в интернете и натыкаюсь на статью Enable VT on InsydeH2O based Sony Vaio laptops, the EFI way.
Суть метода проста: вы загружаетесь в EFI режим с помощью специального загрузчика и получаете доступ к VSS памяти, где настройки вашего биоса и хранятся. Я протестировал что на моем ноутбуке это работает, снова открыл прекрассный дизассемблер IDA, скачал последние спецификации и в полном вооружении начал потрошить свой биос.

Успешным результатом двухнедельной работы стало выпотрошенное меню

Я успешно загрузился в загрузчик с доступом к VSS памяти, прописал нужные мне переменные и включил или выключил чего мне не хватало или мешало в моей работе.

Ну а теперь о том как это сделать вам.

Подготовка инструментария

1. Необходимо скачать PhoenixTool с этого форума, где постоянно выкладывается текущая версия. Он вам будет нужен, чтобы разложить файл прошивки на его составляющие.
2. Вам нужен perl. Если у вас есть UNIX система, то все просто, если нет, то ActivePerl или Cygwin под Windows.
3. Вам нужен последний биос от вашего производителя.
4. Любой архиватор.

Получение образа прошивки


1. Откройте архиватором exe файл вашей прошивки, найдите там файл с расширением bin или fd и распакуйте в удобное для вас место. Лучше в отдельную папку.
2. Запустите PhoenixTool и попробуйте открыть файл прошивки.
3. Если при попытке открыть вы видите такое окно

то скорее всего ваш образ от производителя зашифрован. Decrypt метод пока не придумали, но это только дело времени. Если это ваш случай, то переходите к следующему шагу, если нет, то пропускаем и переходим к пункту 8.
4. Распакуйте программу прошивания в удобную для вас папку и запустите обновление вашего биос до последней версии.
5. После того как ваш ноутбук перезагрузится, снова зайдите в эту папку и найдите там файл platform.ini
6. Откройте текстовым редактором и сделайте слеующие изменения:
Это позволит вам прошить еще раз ваш биос, но при этом будет создана резервная копия текущего биоса.
7. После перезагрузки откройте полученную резервную копию с помощью PhoenixTool
8. Через пару секунд вы должны будете увидеть окошко похожее на это:

9. Теперь можете закрыть окошко.
10. В папке, где у вас лежал образ появится папка DUMP, а в ней множество файлов. Нас интересует, который начинается на FE3542FE и имеет самый большой размер:

11. Теперь скачиваем исходный код моего
Подготовка загрузочной дискеты

1. Берем флешку, размер не важен.
2. Форматируем ее в FAT32
3. Создаем структуру каталогов EFI\Boot
4. Скачиваем BOOTX64.EFI
5. Кладем в папку Boot
6. Перегружаемся в BIOS, включаем Legacy и отключаем Secure Boot.
7. Сохраняемся и загружаемся через флешку.
8. После загрузки вы должны увидеть желтый текст на черном экране

9. К модификации настройки биоса все готово.

Изменение параметров

Для изменений используются поля VarStore и Value. Value в логе в десятичном варианте, при изменении необходимо указывать шестнадцатиричное значение.

1. Допустим вам надо изменить режим работы диска с IDE на AHCI. Кому-то это надо для хакинтошей, а кто-то купил себе твердотельный жесткий диск, а ноутбук его не видит. Ищем в лог файле что что касается сабжа и находим следующие строки:

Для того чтобы вам изменить настройку, необходимо сперва дать команду setup_var 0x39 .
Результатом данной команды будет текущее значение данной переменной. Чтобы ее изменить и поставить в AHCI, надо дать команду setup_var 0x39 0x1 . Учтите, что если у вас стоит Windows, то потребуется его переустановка, так как однажды настроенный Windows на IDE не сможет понять, что теперь ему надо работать с AHCI. Как вариант — предварительно загрузившись в безопасный режим подредактировать реестр, тогда переустанавливать ничего не придется.

2. Например вам надо запретить дискретный видеоадаптер. За этот пункт отвечает следующие строки:
Команда setup_var 0x1e6 0x0 отключит дискретный и будет работать только встроенный.

3. Хотим чтобы Numlock не включался
Команда setup_var 0x08 0x0 отключит его при загрузке.

Эпилог

Данное руководство составлено как оно есть и так как я делаю это на практике. Я не несу ответственности за испорченные материнские платы или утерянную информацию. Все что мы можете сделать — вы делаете на свой страх и риск.

Если что-то пошло не так, то первым спасательным кругом может быть извлечение батарейки биоса для стирания VSS памяти. Если не помогает, то вам нужно искать способ recovery для вашего биоса. В случае HP инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.

Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.

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

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

Может кто-нибудь объяснить это?

2 ответа

  • На некоторых аппаратных средствах (e-g HP nx6320) вам необходимо отключить питание / включить компьютер после включения виртуализации в BIOS.
  • Включение некоторых функций BIOS может привести к потере поддержки VT на некоторых устройствах (e-g Включение Intel AMT на Thinkpad T500 предотвратит использование kvm-intel
    от загрузки с «отключенным по биосу»)
  • На некоторых устройствах Dell вам также необходимо отключить «Надежное выполнение», иначе VT не будет включен.

В моем случае IBM T60, это была установка BIOS относительно процессора, которая должна была быть включена. «Когда это возможно, WMM может использовать дополнительные аппаратные возможности, предоставляемые технологией виртуализации Intel (R)».

3 ответа

Что сработало для меня:

1) Включите компьютер и нажмите f2, чтобы увидеть настройку (BIOS), когда вы видите экран с черным фоном.

2) Перейдите на вкладку «Конфигурация».

3) Выберите опцию «Виртуальная технология Intel» и включите ее, нажав F5 или F6.

4) Нажмите F10, чтобы сохранить и выйти. Когда появится приглашение, запрашивающее подтверждение этого действия, выберите «Да».

5) Ваш компьютер выключится в течение 10 секунд. Затем он загрузит и загрузит вашу ОС, не показывая эту ошибку.

Прежде всего, вы можете посмотреть, загружена ли KVM в ядро. Для этого запустите что-то вроде этого:

Если вы получите от этого какой-либо ответ, вы можете остановить запуск kvm. Для этого это поможет:

Не забудьте следовать за любым другим модулем kvm. В моем случае есть также модуль kvm_intel, поэтому мне также нужно запустить

. Чтобы остановить kvm во время загрузки, вам нужно найти файл, расположенный по адресу и измените его так, чтобы KVM не запускался во время загрузки. После изменения файла /etc/modules перезагрузите компьютер и проверьте, не исчезла ли эта проблема.

Может кто-нибудь объяснить это?

Ну, это более или менее то, что говорит ошибка. KVM – это виртуальная машина на основе ядра, а некоторые BIOS блокируют инструкции, которые использует KVM. Вы можете попробовать некоторые исправления в случае, если ваша BIOS блокирует его, а BIOS имеет KVM:

  • На некоторых аппаратных средствах (например, HP nx6320) вам необходимо отключить питание и включить питание после включения виртуализации в BIOS.
  • Включение некоторых функций BIOS может привести к потере поддержки VT на некоторых устройствах (например, включение Intel AMT на Thinkpad T500 предотвратит использование kvm-intel
    от загрузки с «отключенным по биосу»)
  • На некоторых аппаратных средствах Dell вам также необходимо отключить «Надежное выполнение», иначе VT не будет включен.

В моем случае, IBM T60, это была установка BIOS для CPU, которая должна была быть включена. «Когда это возможно, WMM может использовать дополнительные аппаратные возможности, предоставляемые технологией виртуализации Intel (R)».


This message means actually what it says: VMX is disabled in BIOS.

VMX stands for Virtual Machine Extensions and it is a virtualization technology. More info here.

There is one quick way (workaround) to remove the message: Go to your BIOS settings and enable the virtualization technology. This article has some screenshots of how to do it in an Asus BIOS for both Intel and AMD processors.

More about the issue

The reason you probably didn't see this message up until now is that the logging of it got into a quite recent Linux kernel and it is an 'error' in journal. Apparently this annoys other people as well, there is a bug report on it already:

I found the solution for you here

If you feel that enabling a processor feature that you don't use just to make an error message go away is wrong then read on.

The reason why this issue is happening

Based on the discussion on the above mentioned SUSE thread and my other findings, it seems that this virtualization technology is used by the so called KVM (Kernel-based Virtual Machine) which is built into the Linux kernel.

Upon boot, this generates an error in the logs that it cannot be initialized because the hardware capabilities are disabled in BIOS.

Proper (not yet known) solution

Now if KVM itself is disabled in some way than I think that would also make this error message go away because the kernel would not even bother trying to load it. (Second commit above and mailing list discussion about it

I really did my homework and searched how to disable this kernel feature yet I could not find any relevant information how to do it and I am really not sure that it is a good idea to disable "ad hoc" kernel features just because they are unable to load themselves because of disabled hardware features.

after upgrading my kernel to 3.8.x. I've never installed the KVM package. Neither I can enable virtualization from my BIOS, because of a BIOS bug. I just want to get rid of this weird message. Tried removing any kernel module using modprobe but it didn't work.


64.5k 53 53 gold badges 190 190 silver badges 308 308 bronze badges 650 1 1 gold badge 7 7 silver badges 12 12 bronze badges

4 Answers 4

What worked for me:

1) Turn on the computer and press f2 to see the setup (BIOS) when you see a screen with black background.

2) Go to "Configuration" tab.

3) Select the option "Intel Virtual Technology" and enable it by pressing F5 or F6.

4) Press F10 to save and exit. When a prompt message appears asking you to confirm this action, select yes.

5) Your computer will turn off for 10 seconds. Then, it will boot and load your OS without showing that error.

1,029 1 1 gold badge 14 14 silver badges 29 29 bronze badges actually enabling it seems like a better solution (rather than just hiding the error message)! @hayd: Thanks for your comment. As you said, it is a different way for approaching the same problem. This is certainly better than hiding the error. I had the same problem with my Arch installation and enabling Intel VT in the BIOS resolved this error.

Create a file called /etc/modprobe.d/blacklist-kvm.conf :
(For example, you can use gedit gksu gedit /etc/modprobe.d/blacklist-kvm.conf or nano sudo nano /etc/modprobe.d/blacklist-kvm.conf )

Put in it the following three lines:

I'm not sure if this will work for you, because I don't have a suitable system also disabled by BIOS. But this is a reasonable way of disabling KVM on Debian or Ubuntu, so you should try and see if it also works to disable your message.

31.6k 9 9 gold badges 93 93 silver badges 119 119 bronze badges 14.8k 3 3 gold badges 53 53 silver badges 83 83 bronze badges Worked for me on OpenSuse Leap 42.2. Just run mkinitrd after editing /etc/modprobe.d/50-blacklist.conf

First of all, you might want to see if KVM is loaded in the kernel. To do this, run something like this:

If you do get any answer from that, you may want to stop kvm from running. To do that, this will help:

Remember to follow for any other kvm module. In my case, there is also a kvm_intel module, so I also have to run

To stop kvm from being enabled at boot time you have to find the file located at /etc/modules and modify it so that KVM doesn't launch at boot time. After you modify your /etc/modules file restart your computer and see if the problem persists.

Читайте также: