Привет Хабр! В голову мне закралась мысль, и я ее думаю. И придумал. Все дело в жуткой несправедливости производителя, которому абсолютно ничего не стоило добавить модули в UEFI Bios для поддержки загрузки с NVMe через переходники на материнках без слота m.2 (что, к стати, без вопросов реализовано китайцами на материнках HuananZhi). Неужели не возможно — подумал я и стал копать. Нарыл кучу нерабочих советов, пару раз окирпичил материнку, но я добился своего. В этой статье я почерпнул львиную долю полезной информации. Но и тут достаточно много подводных камней. Например совершенно не ясно в какой индекс записывать модули. Итак, начнем модифицировать наш биос. Внимание! Данный материал применим ТОЛЬКО к AMI Aptio Bios и ни к одному другому, так что если у вас не оно — смело проходите мимо.
Для начала скачаем инструменты. Распаковав в удобную папку скачаем биос от ближайшей модели с поддержкой NVMe (Для P9X79 это Sabertooth X99) и оригинальный биос для нашей материнки. Кладем скаченные биос в папку с инструментами, запускаем MMTool и открываем биос с поддержкой NVMe:

Затем идем на вкладку Extract, находим и извлекаем нужные нам модули (NvmeInt13, Nvme, NvmeSmm), имена набираем идентичные с расширением .ffs и жмем Extract, опции оставляем «As is»:

Когда все модули извлечены, открываетм командную строку от администратора и идем в папку с инструментами\AFUWINx64
Там снимаем дамп:
Переходим к MMtool и открываем наш дамп.

Переходим на вкладку Insert и ОБЯЗАТЕЛЬНО кликаем в поле на индекс 02 (для разных материнок индексы могут отличаться, смотрите на индекс, в котором изначально лежали модули NVMe и сравнивайте содержимое с целевым Bios).

Далее жмем Browse и находим наши извлеченные модули:

Нажимаем Insert (опция «As is») и повторяем действие для остальных модулей, соблюдая порядок, как в биос с поддержкой NVMe (У меня NvmeInt13, Nvme, NvmeSmm). Затем находим наши новые модули в списке дабы убедится что все они на месте и в правильном порядке:

Жмем Save Image As и сохраняем модифицированный биос в папку AFUWINx64. В ту же папку помещаем оригинальный биос нашей материнки и приступаем к прошивке. Сначала шьем оригинальный биос, дабы обойти защиту:
Затем шьем наш модифицированный:
Соответственно имена файлов подставляем свои. После перезагрузки наш биос будет уметь загружаться с NVMe.
После обновления биос вы обнаружите кучу устройств с восклицательным знаком в диспетчере. Лечится это просто: скачайте драйвер чипсета от материнской платы-донора модулей и установите их на целевой машине.
ВСЕ ДЕЙСТВИЯ ВЫ ПРОДЕЛЫВАЕТЕ НА СВОЙ СТРАХ И РИСК, АВТОР МАТЕРИАЛА НИКАКОЙ
ОТВЕТСТВЕННОСТИ НЕ НЕСЕТ!
ТУТ можно скачать собранный мной рабочий биос для Asus P9X79 WS версии 4901 с поддержкой NVMe.
Тут биос версии 4701 для P9X79
Тут биос версии 1704 для P9X79-E WS
Тут биос версии 4701 для P9X79 LE
Тут биос версии 4701 для P9X79 PRO
Для начала скачаем инструменты. Распаковав в удобную папку скачаем биос от ближайшей модели с поддержкой NVMe (Для P9X79 это Sabertooth X99) и оригинальный биос для нашей материнки. Кладем скаченные биос в папку с инструментами, запускаем MMTool и открываем биос с поддержкой NVMe:

Затем идем на вкладку Extract, находим и извлекаем нужные нам модули (NvmeInt13, Nvme, NvmeSmm), имена набираем идентичные с расширением .ffs и жмем Extract, опции оставляем «As is»:

Когда все модули извлечены, открываетм командную строку от администратора и идем в папку с инструментами\AFUWINx64
Там снимаем дамп:
afuwinx64.exe Extracted.rom /O
Переходим к MMtool и открываем наш дамп.

Переходим на вкладку Insert и ОБЯЗАТЕЛЬНО кликаем в поле на индекс 02 (для разных материнок индексы могут отличаться, смотрите на индекс, в котором изначально лежали модули NVMe и сравнивайте содержимое с целевым Bios).

Далее жмем Browse и находим наши извлеченные модули:

Нажимаем Insert (опция «As is») и повторяем действие для остальных модулей, соблюдая порядок, как в биос с поддержкой NVMe (У меня NvmeInt13, Nvme, NvmeSmm). Затем находим наши новые модули в списке дабы убедится что все они на месте и в правильном порядке:

Жмем Save Image As и сохраняем модифицированный биос в папку AFUWINx64. В ту же папку помещаем оригинальный биос нашей материнки и приступаем к прошивке. Сначала шьем оригинальный биос, дабы обойти защиту:
afuwinx64.exe P9X79-WS-ASUS-4901.CAP
Затем шьем наш модифицированный:
afuwinx64.exe P9X79-WS-ASUS-4901-NVME.rom /GAN
Соответственно имена файлов подставляем свои. После перезагрузки наш биос будет уметь загружаться с NVMe.
После обновления биос вы обнаружите кучу устройств с восклицательным знаком в диспетчере. Лечится это просто: скачайте драйвер чипсета от материнской платы-донора модулей и установите их на целевой машине.
ВСЕ ДЕЙСТВИЯ ВЫ ПРОДЕЛЫВАЕТЕ НА СВОЙ СТРАХ И РИСК, АВТОР МАТЕРИАЛА НИКАКОЙ
ОТВЕТСТВЕННОСТИ НЕ НЕСЕТ!
ТУТ можно скачать собранный мной рабочий биос для Asus P9X79 WS версии 4901 с поддержкой NVMe.
Тут биос версии 4701 для P9X79
Тут биос версии 1704 для P9X79-E WS
Тут биос версии 4701 для P9X79 LE
Тут биос версии 4701 для P9X79 PRO