Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

Привіт Хабре! На думку мені закралася думка, і я її думаю. І вигадав. Вся справа в страшній несправедливості виробника, якому абсолютно нічого не варто було додати модулі в UEFI Bios для підтримки завантаження з NVMe через перехідники на материнках без слота m.2 (що, до речі, без питань реалізовано китайцями на материнках HuananZhi). Невже неможливо — подумав я і почав копати. Нарив купу неробочих порад, кілька разів окропив материнку, але я домігся свого. У цієї статті я почерпнув левову частку корисної інформації. Але і тут досить багато підводного каміння. Наприклад, зовсім не ясно, в який індекс записувати модулі. Отже, почнемо модифікувати наш біос. Увага! Даний матеріал застосуємо ТІЛЬКИ до AMI Aptio Bios і до жодного іншого, так що якщо у вас не воно - сміливо проходьте повз.

Для початку Завантажити інструменти. Розпакувавши в зручну папку завантажуємо біос від найближчої моделі з підтримкою NVMe (Для P9X79 це Sabertooth X99) та оригінальний біос для нашої душі. Кладемо скачені біос у папку з інструментами, запускаємо MMTool і відкриваємо біос з підтримкою NVMe:

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

Потім йдемо на вкладку Extract, знаходимо і вилучаємо потрібні нам модулі (NvmeInt13, Nvme, NvmeSmm), імена набираємо ідентичні з розширенням .ffs і тиснемо Extract, опції залишаємо "As is":

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

Коли всі модулі вилучені, відкриваємо командний рядок від адміністратора та йдемо в папку з інструментами AFUWINx64

Там знімаємо дамп:

afuwinx64.exe Extracted.rom /O

Переходимо до MMtool та відкриваємо наш дамп.

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS
Переходимо на вкладку Insert і обов'язково клацаємо в полі на індекс 02 (для різних материнок індекси можуть відрізнятися, дивіться на індекс, в якому спочатку лежали модулі NVMe і порівнюйте вміст із цільовим Bios).

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

Далі тиснемо Browse і знаходимо наші вилучені модулі:

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

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

Включаємо підтримку NVMe на старих материнках на прикладі Asus P9X79 WS

Тиснемо 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.

Джерело: habr.com