intel vtd в биосе что это acer

VT-x и VT-d: что это такое в биосе и зачем нужно?

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

Значит что такое VT-x и VT-d? Это технологии виртуализации, которые нужны для виртуальных машин (может и для еще какого-то софта, но я не знаю). Технологии виртуализации есть как у Intel (VT-x, VT-d), так и у AMD (называется AMD-V) и позволяют виртуальной машине обращаться к процессору напрямую, а не, так бы сказать через программную прослойку. Благодаря этому, виртуальная машина работает почти также как и реальная система.

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

Чтобы включить технологию виртуализации, то нужно в биосе найти такое как Virtualization Technology и выбрать значение Enabled, ну примерно как-то так. Просто названия могут отличаться. Вот пример настройки в биосе асусовской материнки:

В более старых биосах все аналогично:

Как VT-x, так и VT-d, все они включаются одинаково. Просто VT-x может просто называться Intel(R) Virtualization Technology, ибо это базовая виртуализация.

Но в чем разница между VT-x и VT-d, в чем отличия то? А вот это уже немного интересно. Как я уже написал, VT-x это базовая виртуализация, она позволяет напрямую слать команды процессору, чтобы виртуальная машина могла работать почти также быстро как и реальная система. А вот VT-d это уже другое, это для того, чтобы вы могли в виртуальную машину перекидывать целые устройства на шине PCI. То есть можно например в прямом смысле кинуть видеокарту в виртуалку и она там будет работать, только нужно будет поставить драйвера на видюху, ну как все обычно. Но VT-d нет в дешевых процессорах, как правило поддержка есть только у более дорогих моделях.

Вообще сама VT-x появилась достаточно давно, ну вот первый раз, если я не ошибаюсь, то она появилась в процессорах Pentium 4, модели 662 и 672. Это одноядерные процессоры, но очень топовые в прошлом, стояли кучу денег! Они одноядерные, но зато имели два потока, что только прибавляло им крутости по тем временам, эх, крутые процессоры были что не говори!

Как узнать, есть ли поддержка VT-x, VT-d? Очень просто, самый лучший способ, самый быстрый, это просто скачать утилиту CPU-Z, там вы в поле Instructions сможете легко понять поддерживает ли ваш процессор эту технологию:

С процессорами AMD все аналогично, только тут нужно искать AMD-V:

Также в Windows 10 можно легко посмотреть, включена виртуализация или нет. Для этого нужно зайти в диспетчер задач и там на вкладке Производительность у вас будет написано, включена она или нет:

Немного напишу и о самих виртуальных машинах. Значит всего есть две, это самые популярные: VMware Workstation и VirtualBox. Принципиальных отличий у них можно сказать что нет, если не учитывать, что VirtualBox полностью бесплатная. Но лично я отдаю предпочтение VMware, так как она реально быстрее. Но это мое мнение, есть много тех, кто уверен в обратном, что VirtualBox быстрее. Так что я думаю тут будет лишним думать что лучше, ибо лучше просто взять и проверить, как сделал я и уже не один раз приходил к выводу, что VMware таки быстрее..

Кстати, у VMware также есть полностью бесплатная версия виртуальной машины, которой я пользуюсь уже не первый год, это VMware Player. Там нет многих функций, но на самом деле, теми многими функциями мало кто пользуется. Все что нужно, это все есть: можно создавать виртуальные машины, редактировать конфиг, запускать машины, все работает стабильно! Нет разве что фоновой работы машины, ну и еще чего-то, так бы сказать не особо существенного.

Кстати, был у меня как-то самый мощный одноядерный процессор, а это Pentium 4 670 (в отличии от модели 672, тут нет виртуализации), ну и я на нем тоже запускал виртуальную машину. Ну потому что это мне ну очень нужно было. Конечно работало все очень медленно. Но тот софт, который мне нужно было запустить в этой виртуальной машине, то он работал. Просто медленно, но все таки работал! Правда этот Pentium 4 670 нагревался просто дико.. Это ужас.. Зимой зато было реально в моей комнате теплее…

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

Источник

Ломаем BIOS: включение поддержки виртуализации VT-x на нетбуке Acer Aspire One

В данной статье мы расскажем вам пошагово о том, как допилить напильником свой нетбук или ноутбук, в котором по какому-то недоразумению выключен и залочен в таком состоянии бит 2 в MSR 0x3A — попросту говоря, у вас есть в процессоре поддержка виртуализации, но она заблокирована биосом.

ПРЕДУПРЕЖДЕНИЕ: всё, описанное в этой статье, рассчитано на то, что вы знаете, что делаете. Всё на свой страх и риск! Если не уверены — не пытайтесь повторить это дома.

Итак, в чем же проблема?

Вот такое сообщение вы можете видеть при попытке запуска виртуалки с числом процессоров, большим чем 1:

Аналогичное сообщение об ошибке вы также получаете, если собираетесь запускать 64-битную виртуальную машину (например, Debian amd64) с 32-разнядной хост ОС, например WinXP.

Можно ли вылечить это?

На этот вопрос можно ответить, проверив некоторые биты в некоторых словах состояния процессора. Самый простой способ убедиться, что в вашем случае проблема лечится — это посмотреть на то, что показывает программа SecurAble. В моем случае это выглядело так:

Читайте также:  enterococcus faecalis в моче 10 в 6 степени что это

Итак, если у вас программа показывает такую же картинку, как показанная выше, то вы можете вылечить эту проблему. Однако нюанс заключается в том, что это установить нужный бит в регистре процессора можно только в БИОСе, поскольку вредный БИОС вашего ноутбука его выставляет в ноль, потом включает блокирующий бит и изменение этого бита более невозможно (до перезагрузки компа, где БИОС во время POST опять его сбросит и залочит).

Биос на нетбуке Acer Aspire производства Insyde, настройки его очень скудны и по F2 естественно мы не можем зайти в программу редактирования настроек БИОСа и включить виртуализацию там. Это было бы слишком просто.

Поэтому, мы будем дизассемблировать БИОС и менять его код, чтобы у нас бит был выставлен в 1. Если готовы, то читаем далее.

Что нужно знать до начала работы

Итак, некоторая техническая информация — чтобы понимать, что мы делаем и зачем.

Современные процессоры, по крайней мере многие из них, имеют поддержку виртуализации. За нее отвечает бит №5 в слове ECX при вызове команды CPUID с параметром EAX=01H. Именно этот способ проверки — единственно верный, поскольку, как показывает практика, сайт Intel врет, например, для моего процессора Intel Atom N570. По этой ссылке написано:

Однако мы-то знаем, что это неправда. Для тех, кто на «ты» с программированием на ассемблере, не составит труда выяснить это, написав нечто вроде
и проверив потом 5-й бит регистра ECX.
Мне же было лень этим заниматься, поэтому я скачал опенсорсовую программу CPUID Explorer, запустил ее и посмотрел результат. К слову, CPU-Z тут непригодна — она дает результат слишком «юзер френдли» — нам же нужно было узнать точное значение бита. Вот как это выглядело в моем случае:

В кружочек обведен интересующий нас бит VMX. Он выставлен в 1, он есть, несмотря на то, что говорит нам сайт Intel.
Документация по командам процессора на стр. 215 говорит нам про команду CPUID, что
Bit #5 VMX Virtual Machine Extensions. A value of 1 indicates that the processor supports this technology

Но это еще не все. Чтобы гипервизоры второго типа смогли пользоваться командами поддержки виртуализации (VMX), необходимо явным образом разрешить эти инструкции в MSR (специальном регистре процессора) номер 0x3A. Вот что говорит нам документация по этому регистру на стр. 237:
регистр 3Ah: IA32_FEATURE_CONTROL
Бит 0: lock bit — если он выставлен, то дальнейшие модификации этого регистра не допускаются, до следующей перезагрузки.
Бит 1: VMX в SMX — safer mode extensions. Работа функций виртуализации в SMX допускается только тогда, когда процессор поддерживает SMX — это указывается в соседнем слева, 6-м бите в ECX при вызове команды CPUID.01H — на картинке выше этот бит равен нулю, наш процессор Atm N570 не поддерживает SMX — поэтому и в MSR 0x3A бит №1 должен быть нулевым.
Бит 2: VMX не в SMX — это, собственно, и есть бит, отвечающий за поддержку виртуализации. Он соответствует обведенному в кружочек биту в CPUID и именно он должен быть выставлен в 1.

Как проверить содержимое MSR 0x3A

Чтобы убедиться, что мы все про наш компьютер поняли верно, нужно посмотреть, что на самом деле у нас хранится в MSR 0x3A. Для этого я использовал пакет msr-tools в Debian (реальном, не виртуальном. В виртуальном результат неверный). Вот так вы сможете проверить значение этого бита:
— ребутаемся в Debian, потом:

Девять. Девять это 00001001. Как видим, наш BIOS использует недокументированный бит №3 в специальном слове регистра 0x3A — по документации, этот бит Reserved. Но это не суть. Суть в том, что у нас включен lock bit и выключен наш VMX бит №2 — так что все верно, программа SecurAble не врет и у нас действительно поддержка виртуализации отключена на уровне BIOS, хотя и поддерживается процессором.

Почему эту проблему нужно решать

Дело в том, что при отключенной поддержке виртуализации (VMX) в процессорном слове 0x3A ваши виртуальные машины в VirtualBox работают в режиме паравиртуализации. Они, не имея возможности перевести гипервизор в VMX Root и виртуальную машину в VMX Non-root operation, вынуждены делать трансляцию процессорных инструкций НА ЛЕТУ. Проблему представляют 17 инструкций процессора, которые не «VM-safe», т.е. они используют единственные на весь компьютер регистры или блоки данных (таблицы) в процессоре. Эти команды: SGDT, SIDT, SLDT, SMSW, PUSHF/POPF, LAR, LSL, VERR/VERW, CALL, JMP, INT n, INTO, RET, STR и даже банальная MOV! Все эти инструкции изменяются на лету, чтобы виртуальная машина выполнила их в безопасном для системы виде. Подробнее про эту проблему описано тут (англ.). Из-за этого страдает быстродействие виртуальной машины.

Что нам потребуется

Я проверил этот способ, залив таким образом стандартный биос с сайта производителя (другой версии, чем стоял у меня до этого) — действительно, работает, версия биоса обновилась.
Таким же способом я решил в итоге заливать в систему и прохаченный биос.

Итак, начинаем:
Распаковываем биос из SFX-архива, скачанного с сайта производителя. Сам иос будет иметь имя файла что-то вроде ZE6.fd и иметь размер 2 мегабайта ровно.
Далее нам необходимо распаковать БИОС, поскольку он сжат. Для этого используется программа PhoenixTool.exe. В первое поле в ее окошке мы указываем этот сжатый биос, и программа сама его декомпиляет на, в моем случае, целых 609 исходных файлов, имеющих имена в формате GUID.ext. Часть из этих файлов — конфигурационные, а часть — двоичные, но все с расширением ROM. Некоторые двоичные файлы содержат программы со стандартным виндовским PE заголовком.

Наша задача — среди этих 609 файлов найти файл, содержащий нужную нам инструкцию

оказалось, что искать команду MOV EAX, 3AH перед командой WRMSR бессмысленно — в моем биосе WRMSR оформлена как отдельная функция и принимает параметры через стек. Поэтому я делал это так (мне показалось то проще, чам в IDA): установил на Linux пакет nasm, который включает в себя ndisasm. Потом дизассемблировал все файлы *.ROM командой

Читайте также:  какой напор воды должен быть при перегонке самогона

И потом простым поиском нашел команду wrmsr в них — таких файлов оказалось 29. Потом пришлось каждый из ни загружать в IDA и искать там нужный код, который лочит регистр 3AH.

Такой код нашелся только в одном файле с именем 62D171CB-78CD-4480-8678-C6A2A797A8DE.MOD, и выглядел этот код так (после некоторой моей работы по переименованию функций в более понятные, и добавлении пары комментов):

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

Это приведет к тому, что одновременно с выставлением lock bit мы выставляем бит VMX (бит #2). Заметим тут, что мы не имеем права выставлять бит #1, поскольку набор инструкций SMX у нас в процессоре не поддерживается (это говорит CPUID.1H:ECX bit 6.

Менять будем не совсем в файле *.ROM, а в оплетке *.MOD, которая содержит этот файл. Для этого нужно в программе PhoenixTool.exe, которая у нас уже открыта и биос в нее уже загружен, нажать на кнопку Structure, и инайти ветку с нашим именем файла:

Нажимаем кнопку Extract, получаем файл *.MOD (который состоит из заголовка + тела файла *.ROM), и правим наш бит именно в этом файле MOD. Смотрим в IDA, какой двоичный код соответствует окрестности инструкции, которую мы меняем, и в HEX редакторе открываем файл, ищем это место в коде, и меняем всего 1 байт с 01 на 05. Сохраняем модифицированный файл *.MOD. Потом в PhoenixTool нажимаем Replace, выбираем модифицированный MOD, и нажимаем Exit. Всё. Программа сама пересобрала биос и упаковала его для нас, при этом назвала его тем же именем, что и было (старый файл сохранен с расширением OLD).

Всё. Теперь заливаем единственный файл с новым биосом на USB HDD (можно и на USB флешку), и выполняем описанную выше процедуру аварийного восстановления биоса. Она прошьет комп этом новым биосом и всё будет готово.

Вот как теперь выглядит вывод программы SecurAble:

Теперь VirtualBox запускает виртуалки с 4 ядрами (а не с одним, как было раньше). Теперь я из-под своей основной 32-разряной операционной системы могу запускать 64-битные операционки в виртуалках.
И, что самое главное, теперь виртуалки на самом деле виртуализованные (гипервизор использует инструкции VMX), а не паравиртуализованные.

P.S. В биосах других производителей (не Insyde) есть возможность править не сам BIOS, а только его настройки, извлекаемые программой SYMCMOS.EXE. Там процесс такой же, за исключением того, что в дизассемблированном биосе находится номер настройки, которая используется для запрещения или разрешения VMX, и потом эта настройка правится непосредственно в CMOS биоса. В моем же биосе таких настроек нет, или программа symcmos их не находит, поэтому такой путь допиливания напильником не подходит в моем случае. Путь непосредственного хака биоса выглядит надежнее: мы таким образом просто игнорируем какие бы то ни было настройки биоса, просто выставляем бит VMX и лочим регистр 0x3A после этого.

Счастье есть 🙂 Спасибо, что дочитали до конца.

Источник

Технология виртуализации в процессоре

Содержание

Содержание

На протяжении последних 15 лет слово «виртуальный» звучит практически из каждого утюга. Нам обещают все более реалистичные виртуальные миры или, как минимум, дополненную реальность. Виртуальная реальность, как в знаменитой трилогии «Матрица», пока в будущем. А вот виртуализация внутри процессора — реальное настоящее.

Зачем нужна виртуализация на домашнем компьютере

Вот простой пример: вы используете для работы и игр Windows, но при этом хотите изучить, например, Linux. Значит, нужно, чтобы эта операционная система находилась под рукой. Или занимаетесь программированием под Android или iOS. В этом случае постоянно требуется проверка разработанного приложения в родной среде.

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

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

Виртуализация в бизнесе

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

Например, ваша организация собирается поставить почтовый сервер для обработки поступающей и исходящей переписки, а еще развернуть DNS и WEB-сервер. Сколько для этого нужно серверных машин? Достаточно одной. Потому что на ней, в виртуально разделенных друг от друга «песочницах», на одном и том же железе заработают как бы три отдельных компьютера, выполняющие каждый свою задачу. Так вы разместите на одном компьютере сразу три отдельных сервера и используете всю мощность и производительность техники, окупив потраченные средства.

Разумеется, так как мощность и производительность серверных систем и пропускная способность каналов связи постоянно растет, у виртуализации появляется все больше возможностей для применения. Наглядный пример из относительно недавно запущенных и находящихся у всех на слуху — сервис GeForce Now, благодаря которому можно на слабых компьютерах запускать современные игры.

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

Основные направления развития виртуализации

В целом виртуализация как технология сейчас развивается по трем основным направлениям:

Как работает виртуализация

Мы разобрались с тем, что виртуализация — это хорошо и полезно. А что требуется для того, чтобы она заработала на вашем конкретном компьютере? Надо чтобы процессор поддерживал виртуализацию.

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

Читайте также:  какой отдел головного мозга контролирует и координирует движения в пространстве

Такая технология есть у обоих крупных производителей процессоров для ПК: у Intel она называется Intel VT, у AMD — AMD –V.

Особенности Intel VT

Впервые о разработке технологии виртуализации компания Intel объявила еще в 2005 году. И с тех пор Intel VT постоянно совершенствуется и расширяется.

Корпорация Intel описывает Intel VT как технологию, развивающую несколько основных направлений. На сегодня это:

Особенности AMD–V

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

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

Включение виртуализации на компьютере

Непосредственный запуск виртуальных машин выполняется с помощью специальных приложений:

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

Дело в том, что по умолчанию в настройках BIOS большинства материнских плат виртуализация отключена. И ее необходимо включить в соответствующем разделе, который называется у каждого производителя по-своему, например, «Virtualization Technology» изменив значение опции с «Disabled» на «Enabled».

Если такой опции нет, то может оказаться так, что прошивка вашей материнской платы или процессор (хотя такое сейчас возможно только на старых моделях) виртуализацию не поддерживает. В этом редком, но возможном случае использовать преимущества виртуализации не получится.

Такая функция отключена в BIOS некоторых моделей ноутбуков Aser Aspire, позиционируемых производителем, как техника для домашнего использования.

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

Источник

Intel Virtualization Technology в Биосе: включать или нет?

Практически любой владелец ПК, рано или поздно, узнает о том, что на его компьютере присутствует специальный раздел БИОС, позволяющий изменять различные настройки. И изучая это место многие наталкиваются на такой интересный пункт, как Intel Virtualization Technology.

Естественно, сразу же у человека возникают вопросы и предположения:

То есть, пользователь сидит и размышляет, включать или нет IVT. Что же, давайте максимально подробно разберемся в этом вопросе.

История и особенности технологии

Впервые процессоры с этой технологией компания Интел выпустила в 2005-ом году. Производитель предложил сразу два варианта пользователям – 662-ю и 672-ю модели.

Изначально технология получила загадочное, многообещающее название «Vanderpool», но большинству юзеров она известна как VT-x.

Сразу хочется отметить, что не все фирменные центральные процессоры от этого производителя выпускаются с поддержкой этой технологии. Ее наличие подтверждается присутствием так называемого флага поддержки «vmx». Для проверки этого флага в операционных системах Linux и Mac присутствуют специальные команды:

В 2013-ом году компания Intel предложила решение, которое ускоряет эту технологию. Оно стало доступно с архитектуры Haswell и называется VMCS. VT-x изначально создавалась для процессоров серии Pentium 4. На более современных моделях используется более продвинутый аналог — VT-d.

Аналогичная технология существует и у конкурента Интел – компании AMD. Она называется AMD-V и также имеет второе кодовое название — «Pacifica».

Для большинства процессоров VT-x изначально, по умолчанию, находится в неактивном состоянии. То есть, ее надо включать. И делается это как раз через BIOS. Но перед тем, как осуществить данный шаг, необходимо понимать, зачем это вообще нужно.

Нужна ли VT-x обычному пользователю ПК?

Суть Intel Virtualization Technology заключается в том, что технология позволяет создавать на обычном персональном компьютере так называемые виртуальные машины. И все. То есть, ни о каком ускорении, повышении производительности речи совершенно не идет.

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

Есть множество программ, которым требуется определенная версия операционной системы. Особенно это касается достаточно старых продуктов. Например, у вас стоит Десятка или Семерка Виндовс, а очень хочется запустить какое-то ПО (например, игру), которое нормально функционирует только в XP или в более ранних версиях. Установите ВМ и проблема будет быстро решена.

Еще один интересный вариант – работа с сайтами. Да, ВМ позволяет создавать эмуляцию сети. Представьте ситуацию:

Можно пойти классическим путем:

А если не получится? Или в процессе создания перехочется? Получается, что деньги были потрачены зря?

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

Какие виртуальные машины предпочитают использовать сегодня?

Их достаточно большое количество. Но наиболее популярными вариантами считаются следующие:

VirtualBox

Поддерживает как 32-разрядную, так и 64-рязряднуцю систему.

VMware

Считается одним из лучших вариантов VM на сегодняшний день. Поддерживает все основные современные технологии. Например, спокойно работает с USB 3.0.

Единственный недостаток – она платная. Можно пользоваться и бесплатным вариантом, но в нем основной функционал будет изрядно урезан.

Microsoft Virtual PC

Полностью бесплатная оболочка. Правда, исходя из названия, сразу же можно выявить один недостаток. А именно, возможность работы только с ОС Microsoft Windows. Никаких Linux или Mac установить таким образом не получится.

Как активировать технологию VT-x

Итак, вы решили, что Intel Virtualization Technology является для задуманных целей необходимостью Естественно, возникает вопрос – как включить? Делается это следующим образом:

Остается только не забыть сделать сохранение изменений и перезапустить комп еще раз.

Источник

Сказочный портал