Интеграция поддержки загрузки с 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, только вот в процессе теста ОС сообщила, что включила мне оптимизацию памяти:

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

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

  1. radical говорит:

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

    • IdeaFix говорит:

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

  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 🙂 т.н. «вьетнамский гениус»

Добавить комментарий для radical Отменить ответ

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