Интеграция поддержки загрузки с NVME в legacy систему: идеальный случай

Дано:

  • ASUS P5E-VM DO
  • Intel Optane 16GB

Задача:

  • Реализовать загрузку с NVME диска без промежуточных устройств (USB Drive с UEFI/GRUB/etc.)


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

В любом случае, нам для решения задачи понадобятся инструменты и информация. Инструменты — это собственно BIOS платы, OptionROM загрузчика, оснастка для модификации BIOS и OptionROM, а так же, возможно для прошивки BIOS. Информация — идентификаторы VENDOR_ID и DEVICE_ID нашего NVME устройства.

Начнем с информации!
Добыть информацию можно например, открыв свойства контроллера (не накопителя) в диспетчере устройств Windows:


А можно, и открыв свойства накопителя, но тогда надо будет смотреть ID родителя:


Так же, всегда есть альтернатива в виде консоли:

(gwmi Win32_Bus -Filter 'DeviceID like "PCI%"').GetRelated('Win32_PnPEntity').GetDeviceProperties('DEVPKEY_Device_DeviceDesc').deviceProperties | ft Data,DeviceID



И конечно же есть GNU/Linux с lspci и огромное количество диагностического софта, который покажет DEVICE_ID и VENDOR_ID устройства NVME (контроллера, не диска!).

Продолжим с инструментами!
Т.к. у нас старый ASUS на Intel, то с долей вероятности 100% мы найдём там AMI BIOS, а значит, нам понадобится MMTOOL. Помимо оного нам понадобится OptionROM и встроенный в материнскую плату EZFLASH. Все инструменты, использованные при написании данного текста, а так же исходные и полученные файлы, доступны по ссылке. Архив содержит оригинальный BIOS версии 0902 (orig), его же, с обновленными микрокодами (771) и его же с обновленными микрокодами и NVME ROM (771NVME). Помимо этого архив содержит NvmeOpRom.bin и MMTOOL.EXE.

Имея информацию и инструменты, давайте же решим задачу и достигнем цели!
Считаю, что читатель немного умеет в MMTOOL. Если нет — стоит остановиться. Если да, то… открываем в MMTOOL образ BIOS:

Импортируем в него OPTIONROM с верным Module_ID, DEV_ID и VEND_ID. Здесь важно отметить что Module_ID всегда будет иметь значение 20 (PCI OPTION ROM), а VID (Vendor ID) и DID (Device ID) будут отличаться от накопителя к накопителю:

Сохраняемся, зашиваемся, профит:

Вместо выводов:

  1. Это не универсальная инструкция по модификации Legacy AMI прошивок, но на многих платах всё будет аналогично.
  2. Intel Optane был установлен в пассивный переходник и пробовался как в PCI-E 16x слоте, так и в PCI-E 1x слоте. Работает и там и там, ID не меняются, но я читал про ситуации, когда ID контроллера может зависеть от слота PCI-E (процессорный и чипсетный?).
  3. Поддержка всего этого хозяйства на Windows XP, эффективность расположения SWAP на OPTANE и пр. остаются за скобками данного повествования.
  4. В данном конкретном моде данной конкретной платы, доступном по ссылке выше, добавлена поддержка загрузки ТОЛЬКО С ОДНОЙ МОДЕЛИ НАКОПИТЕЛЯ. Т.к. VID и DID задаются жестко, создать универсальный мод таким способом не возможно.

Win10 уместился, и даже осталось место для тестового файла CDM, только вот в процессе теста ОС сообщила, что включила мне оптимизацию памяти:

Запись опубликована в рубрике Железки с метками , , , , , , . Добавьте в закладки постоянную ссылку.

47 комментариев на «Интеграция поддержки загрузки с NVME в legacy систему: идеальный случай»

  1. radical говорит:

    C AWARD бы разобраться, а то на A8N-E как раз и слот PCIe x4 лишний имеется, как нарочно…

    • IdeaFix говорит:

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

      • Кирилл говорит:

        Получилось прошить, а ту у меня как раз award, а все гайды для AMI?

        • IdeaFix говорит:

          Оно работает. Хекс эдитором поправить дев ид и венд ид, потом использовать утилиту уважаемого VLO для коррекции чексумм и далее cbrom. Недавно добавлял поддержку NVME в GA-X58A-OC. Там болье проблем с правильной версией CBROM было чем с собственно подготовкой oprom.

  2. Dravida говорит:

    Спасибо большое!
    А у вас еще есть материалы по MMTOOL?
    Очень интересно было бы почитать.

  3. radical говорит:

    Завел оптан на MSI 945GCM478.
    Попытка установить семерку-восьмерку на него напрямую не удалась.
    Получилось установить обычную 7 x86 SP1 на SATA диск, а потом уже, после установки обновлений для поддержки nvme, склонировать его акронисом на nvme диск.

    • IdeaFix говорит:

      Семерка в принципе без подсовывания драйвера не должна на NVME вставать. А подсунув драйвер, можно было и сразу на оптан всунуть.

      • radical говорит:

        Да проблема в том, как его подсунуть, там, как таковых, отдельных драйверов нет (или я их не нашел), просто два пакета обновлений, которые ставятся уже на рабочую систему. Пробовал поставить готовые сборки с интегрированными драйверами nvme, но не дошло даже до экрана с выбором дисков. Ну и я схитрил немного, после установки на SATA и перед клонированием отключил файлы подкачки и сна, чтобы сэкономить место, иначе винда могла просто не встать на 15ГБ, а так занимает после установки около 6ГБ.

        • IdeaFix говорит:

          Если гуглить «RSTe NVME F6 Win7» то в общем находится плюс-минус то, что нужно… первая ссылка на сайт леново, внутри похоже на истину:

          C:\Drivers\G1SSD10WS17_TSG_f6>dir /b
          iarnvme.cat
          iaRNVMe.inf
          iaRNVMe.sys
          iaRNVMeF.sys
          iarnvmevirt.cat
          iaRNVMeVirt.inf
          txtsetup.oem

          Но надо пробовать.

  4. radical говорит:

    Извиняюсь, конечно, подвижек с Asus A8N-E и M2N-E нет?

    • IdeaFix говорит:

      Нет. Более того, в принципе с авардами (даже под интел, даже на интел) нет. Попробовать не на чем чтобы исключить ромы и оснастку.

  5. Міша говорит:

    BIOS Chip: EVGA nFORCE 680I SLI 122-CK-NF68-AR Доброго дня є така материнка чи можливо її запрограмувати під QX9650 775 \на офіційному є якійся біос після обнови плата його не бачить пише EM64T C1E BIOS SUPPORTED ЧИМОСЬ МОЖЕТЕ допомогти

    • IdeaFix говорит:

      Данная плата у нас не очень часта, но в новом свете очень популярна. На англоязычных форумах ответа нет? Всё что я могу — попробовать обновить микрокоды.

      https://ideafix.name/?p=3554 — тут есть образ с нвоыми микрокодами. Возможно, в комментариях есть какое-то обсуждение.

  6. Grayhaund говорит:

    Насколько этот способ применим к биоосам HP ? Конкретно — HP Elite 8100 CMT

    • IdeaFix говорит:

      Если там не AMI Legacy — не применим от слова совсем. Если AMI Legacy — можно попробовать.

      • Grayhaund говорит:

        Это как-то можно определить? Не могу найти, что там у него в базе. Или не знаю, где искать.

        • IdeaFix говорит:

          Зайдите в биос, посмотрите что там и как. Учитывая что эта железка новее 775, там наверняка UEFI. Если оно не шифрованное, или не сильно кастомизированное ХПшникам, то вот у Фернандо первые 3 темы — https://www.win-raid.com/f50-NVMe-Support-for-old-Systems.html

          • Grayhaund говорит:

            UEFI там нет, обычный биос. Флэшка на 8Мб. Интерфейс обычный для ХП, то есть, полностью переделанный под себя. Все проги — AIDA, HWiNFO разработчиком БИОС называют HP или Compaq. Похоже, интел номер два, и поможет только Рефинд…

  7. demiurg_spb говорит:

    Сайт Гениуса теперь находится тут
    https://genius239239.neocities.org/771/771.htm
    рекомендую во всех ваших статьях и факах про 771 bios mod исправить старую уже не актуальную ссылку.
    Спасибо!

    • IdeaFix говорит:

      Оно в FAQ на клокерах уже черти сколько есть… как минимум два года, судя по последней правке FAQ 🙂 т.н. «вьетнамский гениус»

  8. Paul говорит:

    Доброго дня.
    OPTIONROM — что это и откуда взято изначально?

    • IdeaFix говорит:

      Как было сказано в тексте статьи:

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

  9. Юрий говорит:

    Имеется мат. плата ASROCK G41M-VS3 Rev.2.0 Bios mod 771 1.9
    Хотел установить PCI-e x4 SATA III контроллер в слот PCI-e x16 и подключить к нему SSD SATA 3, но при старте SSD нет в BOOT меню. Помогите пожалуйста.

  10. John_Hexane говорит:

    Спасибо большое за данный пост. Пробовал на дуалсокет 1366 завести NVME через загрузчики на флешке, но это увы не сработало в моём случае, где-то вообще не видит диски, где-то не грузится с них. А данный метод максимально прост в дальнейшем использовании. Достаточно много читал статей на данном сайте, спасибо за них, удачи в деятельности)

  11. Владимир говорит:

    ИнфоПриватОтветитьПожаловатьсяБлокировать12 часов назад / 15 июля 2023 08:12
    Владимир Марченко
    https://ideafix.name/?p=4782 но имейте в виду что у mmtool есть проблемы с новыми win10/11, для модификации лучше запускать ммтул в хп/7.
    Владимир Марченко
    Junior Member
    2/2 ответов
    Недавно на iXBT, с июля 2023
    Web-страница
    ИнфоПравкаОтветитьПожаловаться2 часа назад / 15 июля 2023 18:04
    я уже Это делал ,видит ставит систему на него ,но потом пропадает,почему не пойму или такая материнка.
    Добавление от 15.07.2023 17:46:

    прошиваю биус сброс батарейки,появляется выбор диска ,потом после 1 перезагрузки нет его и диск м,2 не видит..
    Добавление от 15.07.2023 18:01:

    пропадает дополнительное меню выбор диска.
    Добавление от 15.07.2023 18:04:

    ASUS_P5QL-EPU-0408-BIOS_MOD.ROMПока мучаю Эту плату. Сравнил БИОСы с поддержкой до м,2 и после м.2, на другую мать .всё сделано как у меня. Но ..проблема Толька у моей платы..

    • IdeaFix говорит:

      Тут вопрос только в том, не сломано ли чего в «моде». Попробуйте проделать операцию для оригинального биос с ромами как от самсунга, так и от ESXi

  12. Alec1324 говорит:

    Доброго времени..по первой ссылке не могу открыть даже VPN не помогает..(

  13. Alec1324 говорит:

    Подскажите: можно ли использовать OptionROM из вашего архива и со своими
    VENDOR_ID и DEVICE_ID внести в свою прошивку..мат плата asus ASUS P5G41-M-LX и стоит bios P5G41-M-LX-0603 (771) хочу купить m.2 nvme SSD Samsung 970 Evo Plus 500GB MZ-V7S500BW и через переходник в PCI-E16 ?

    • IdeaFix говорит:

      У меня оно плюс-мнус так и работает. https://valid.x86.fr/ajdjin вот MSI на G41 с оптаном в единственном длинном слоте в переходнике. Встроенное видео при этом работает нормально, при использовании SMI драйвера даже можно поставить на NVME операционную систему WinXP. Для ASUS+AMI как разх вмварьный ROM работает лучше чем самсунговский, так что ром из архива как раз должен подойти.

  14. Евгений говорит:

    То есть, мы просто добавляем в BIOS ещё одно устройство (в данном случае переходник PCIe-SSD)?
    Будет ли BIOS видеть другие SSD в этом устройстве без перепрошивки?
    Будет ли работать 64-х разрядная ОС, если её клонировать на этот SSD?
    Спасибо.

    • IdeaFix говорит:

      Будут работать только устройства с такой же парой device id и vendor id, например SSD одной модели, но разного объёма. Для другого SSD придётся опять модифицировать BIOS.

  15. Евгений говорит:

    Модифицировал BIOS по Вашему рецепту. Всё работает. Мать: P7P55D. После прошивки диск появился в BIOSe (без названия, просто NVMe). Клонировал на него систему и поставил в загрузку. Винда x64 запустилась как родная. Спасибо.

  16. AvessA говорит:

    Ваш NvmeOpRom.bin, перед тем как добавлять в AMI BIOS при помощи MMTOOL, как-то надо модернизировать? Не нужно в нём прописывать VID и DID контроллера или достаточно указать соответствующие VID DID в MMTOOL?

  17. AvessA говорит:

    Сам спросил, сам отвечу. Да, надо. Скачиваем архив с NvmeOpRom.bin и OpRomCfg.exe. Последний файл запускаем из командной строки под именем администратора и добавляем в первый файл свои VID и DID. Ссылка для скачивания: https://winraid.level1techs.com/uploads/short-url/uICI5keQPXsc4QqkBQNwo7qTWth.zip
    И это всё для AMI BIOS.

    • IdeaFix говорит:

      Нет не надо. Для использования с MMTOOL ничего не надо делать с опромом. Все DID, VID и тип образа задаются в интерфейсе MMTOOL, а вот для AWARD надо править образ, фиксить чексумму и указывать тип посредством ключа /pci в cbrom.

      В принципе, подготовить образ можно и до его импорта посредством MMTOOL, но тип 20 то всё равно в интерфейсе прописывать? Зачем использовать три инструмента, когда можно использовать один? Почему три? Да потому что исправлялка чексумм с винрейда (которая внезапно от PLOP) нормально работает с вмварьным биосом, а вот с биосом от самсунга (особенно с вариантом от уважаемого vlo) она не работает, у Вадима свой фиксер чексумм.

  18. Дмитрий говорит:

    Можете разжевать мне немного. У меня пенсионерка M4A88T-V EVO/USB3
    открывается только MMTool 3.22. Как в нее впихнуть способность к чтению Nvme?
    Я взял ориг прошивку, нашел VENDOR_ID и DEVICE_ID. А дальше не очень ясно, что делать

    • IdeaFix говорит:

      Вы берете ммтул, открываете в нём свой биос, переходите на вкладку вставки модуля, вставляете модуль, вводите признак пци рома (20), дивайс и вендор ид и нажимаете сохранить. Потом зашиваете получившийся образ. На АМД у меня частенько лучше работал самсунговский rom от уважаемого vlo, а вмварный либо работал не так как ожидается, либо система не выходила из горячего ребута. Т.е. система нормально загружается с SSD, но не перезагружается. А если выключить и включить — опять нормально. Т.е. надо пробовать и подбирать верное решение.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *