Обновление микрокода процессора intel bios. Альтернативный способ модификации AMI BIOS для поддержки процессоров в конструктиве LGA771. Центральные процессоры производства компании Intel

Приобретённый на Алиэкспрессе в материнскую плату Intel DG965SS (с разъёмом LGA775). Можно конечно и самому переделать LGA771 в LGA775, но при цене в $6,5 долларов за процессор гораздо проще взять его и китайцев.

При использовании Intel Xeon 5320 операционная система Windows 10 заработала только при выключении в БИОСе режима "Core multiplexing" (в отличии от прекрасно работающей Ubuntu 17.10). При этом процессор работал только в однопоточном режиме, так что, согласно тесту CPU-Z, производительность в многопоточном режиме оказалась в 2 раза ниже, чем у Intel Core 2 duo E6300, на замену которому и покупался Xeon.

Оказалось, что микрокоды процессора должны быть обновлены. Можно сделать это и в программном режиме, причём в Ubuntu операция на голову проще, чем в Windows 10. Да и в последней нужно позаботиться о том, чтобы микрокоды обновлялись при каждой загрузке. Также есть возможность обновить микрокоды и в БИОСе, по крайней мере в некоторых BIOS от AWARD, AMI, Phoenix, особенно в версиях до UEFI.

Инструкций для материнских плат Intel намного меньше. И не удивительно. С Intel DG965SS пришлось очень прилично повозиться.

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

Некоторые инструкции предлагают создать загрузочную дискету, т.к. не все компьютеры позволяют загружаться в флешки. Я сделал загрузочную флешку с FreeDOS при помощи бесплатного приложения с открытым исходным кодом Rufus (для этого нужно отметить галочкой "Create a bootable disk using" и выбрать из списка пункт "FreeDOS").

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

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

Данное руководство позволяет оптимизировать работу лишь тех центральных процессоров, которые были разработаны компаниями Intel и AMD.

Примечания:

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

1. Центральные процессоры производства компании Intel

В случае использования центрального процессора производства компании Intel вы можете действовать описанным ниже образом.

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

Менеджер пакетов Synaptic Software

Менеджер пакетов Synaptic «Поиск на компьютере» ), ввести запрос «Synaptic» «Менеджер пакетов Synaptic» Менеджера пакетов Synaptic «Поиск» «microcode» и нажать кнопку «Поиск» рядом с ним.

3.201501106.1 (в данном случае версия 3 пакета была создана 6 ноября 2015 года).

« intel-microcode» и нажать кнопку «Применить»

dmesg | grep microcode

Enter

2. Центральные процессоры производства компании AMD

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

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

A. В случае использования дистрибутива Ubuntu вам придется установить Менеджер пакетов Synaptic (это можно сделать с помощью приложения Software ). В Linux Mint данный менеджер пакетов присутствует сразу же после установки.

B. В первую очередь следует запустить Менеджер пакетов Synaptic . В дистрибутиве Ubuntu для этой цели следует нажать на белый логотип Ubuntu в верхней части боковой панели («Поиск на компьютере» ), ввести запрос «Synaptic» и выбрать первый из предложенных вариантов приложений «Менеджер пакетов Synaptic» . Не нужно использовать поле быстрого поиска пакетов программного обеспечения главного окна Менеджера пакетов Synaptic , так как соответствующий механизм ненадежен; вместо этого следует нажать кнопку «Поиск» на панели инструментов, в поле поиска открывшегося диалогового окна ввести запрос «amd64-microcode» и нажать кнопку «Поиск» рядом с ним.

C. Теперь следует проверить дату создания пакета программного обеспечения с микрокодами центральных процессоров: этот пакет должен быть создан позднее, чем прошивка BIOS/UEFI материнской платы вашего компьютера! Дата создания рассматриваемого пакета отражена в его номере версии, например 2.20160316.1 (в данном случае версия 2 пакета была создана 2 марта 2016 года).

D. Пришло время установить флажок напротив названия пакета программного обеспечения «amd64-microcode» и нажать кнопку «Применить» на панели инструментов приложения.

E. После завершения установки пакета программного обеспечения нужно перезагрузить компьютер.

F. После перезагрузки стоит проверить корректность загрузки одного из установленных микрокодов путем ввода следующей команды в окне терминала (используйте функции копирования/вставки для того, чтобы избежать ошибок):

dmesg | grep microcode

После окончания ввода команды следует нажать клавишу Enter для ее исполнения. Если микрокод был успешно загружен, вы увидите несколько сообщений об этом.

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

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

Сегодня первое апреля, но это просто совпадение. Способ работает и почти ничего не кирпичит.

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

Что важно понимать:

  • Происходит подмена одного микрокда на другой, а не добавление. Т.е. в ситуации с 771 модом мы зачастую получаем потерю поддержки аналогичного Core 2 Quad, т.е. его микрокод подменяется на микрокод Xeon.
  • Если система не стабильна, пользоваться данным способом не рекомендуется, а система с Xeon зачастую не стабильна без микрокодов.
  • Обновить микрокод на старом процессоре нельзя.
  • Программа не оперирует понятием платформы вообще. Т.е. к примеру микрокод для процессора 1067А, версии FA и платформы 0 будет заменен на микрокод для процессора 1067А, версии FС (более новой) и платформы 2. Но при этом микрокод версии FC и платформы 0 не будет заменен на микрокод FC и платформы 2. Программа сообщит что всё уже обновлено.

Так же надо добавить что этот способ практически идеален для обновления модов Feng’а (aka genius239239) до микрокодов версии 2010 года.

И так, для тех кому читать не интересно и у кого есть дисковод (флоппи), предлагается простое решение — пишем (IMA/ZIP, 305kb) на дискету, перезагружаемся и… всё. На экране наверняка будет написано о том что микрокод обновлён и всё хорошо.

Для тех, у кого дисковода нет, но есть флешка, тоже есть путь, но чуть более сложный:

После загрузки ПК с такой флешки, микрокод на любой 45/65нм процессор поколения Core/Core2 обновится. Конечно, если BIOS не UEFI и если плата не злой OEM и так далее… но шанс есть.

Примеры работы программы на одной и той же плате, но с разными версиями BIOS:

  • Успешный пример. ASUS P5QVM DO, BIOS 0206:







    =========================================================================






    The microcode update was successfully loaded permanently into the BIOS.
    You do not need to run this utility again, unless a new
    processor is installed or a new version of the utility is used.

  • НЕ успешный пример. ASUS P5QVM DO, BIOS 0403:

    Database file being used is PEP.DAT
    =========================================================================
    | Processor Update Utility for Intel(R) P6 and Intel NetBurst(R) |
    | Microarchitecture Family of Microprocessors |
    | Version 7.14 , 09/ 23 / 2005 , Production |
    | Copyright 1995 -2004 , Intel Corporation. |
    =========================================================================
    The system BIOS supports the microcode update API.
    Searching database file for Processor Signature =0001067A Platform ID =1
    Attempting to permanently install the microcode update(s) in your system BIOS.

    Checking microcode update for processor signature 1067A and platform ID 01:
    BIOS microcode update revision = A07
    Database microcode update revision = A0B
    This utility can load a newer microcode update into the BIOS.
    ERROR: Update not permanently loaded into the BIOS. BIOS rejected



    Database microcode update revision = A0B

    Microcode updates can only be temporarily loaded into processors.
    You will need run this utility again after each system power-up or reset.
    Processor #2:
    Pentium(R) III processor detected.
    Processor Signature =0000067A
    Processor microcode update revision = A07
    Database microcode update revision = A0B
    This utility can load a newer microcode update.

    Update #1 Processor Signature=1067A Platform ID=11 Revision=a0b
    2 successful load(s) .
    All Updates Loaded and Verified!

    1. Старые версии HPUSBFW не работают под Win10, но версия 2.2.3 и более новые без проблем создают загрузочную USB флешку.
    2. Данный способ отлично отрабатывает из-под USB флешки с FreeDOS, созданной средствами RUFUS.
    3. Да, RUFUS’ный FreeDOS не на всех системах загружается, но решение есть, см. п. 1.

Если чипсет и материнская плата LGA 775 теоретически могут поддерживать XEON 771, но родной BIOS не поддерживает его, а модифицированного нет — то можно модифицировать BIOS самостоятельно.

ВАЖНО

1. Все изменения в прошивке BIOS (.ROM файл обычно) Вы делаете на свой страх и риск. При ошибке из материнской платы получается гарантированный «кирпич»
2. Размер файла оригинальной прошивки и измененного варианта должны совпадать до байта.

3. Прошивка измененного файла BIOS обратно в микросхему выполняется только с помощью фирменной утилиты от разработчика материнской платы (необходимо скачать с сайта производителя).
4. В топовых материнских платах в самом BIOS есть встроенный модуль обновления прошивки (например, EZ Flash 2 utility для ASUS P5Q в разделе Tools) — самый лучший вариант.

Как лучше сделать:
1. Все-таки поискать в интернете готовый вариант с поддержкой XEON?
2. Скачать с официального сайта последнюю версию прошивки и добавить микрокоды?

Как видится — второй вариант безопаснее, Вы в любом случае скачиваете оригинальную прошивку с сайта производителя материнской платы, т.е. гарантируется последняя версия и отсутствие ошибок (точнее исправление всех найденных ранее ошибок). При скачивании готового варианта со сторонних ресурсов (по вполне очевидным причинам на оригинальном сайте его не будет) — Вы можете получить кривую версию и убить BIOS.

Предварительно можно оценить наличие микрокодов XEON в прошивке BIOS.

— получаем текущий образ AMI BIOS через Universal BIOS Backup ToolKit 2.0
— смотрим содержимое полученного ROM-файла через AMIBCP V 3.37

Вариант для BIOS AMI (American Megatrends Inc).

1. Скачиваем самую последнюю версию BIOS с сайта производителя вашей материнской платы

3. Скачиваем микрокоды для процессоров XEON 771: lga771_microcodes

4. Узнаем CPUID вашего процессора с помощью AIDA64 или аналогичной программы (он выглядит как cpu0001067Ah). Если BIOS будет зашиваться до установки процессора, то пропускаем этот пункт.

5. Распаковываем архивы MMTool и lga771_microcodes и оставляем из файлов с расширением .bin только те файлы, начало которых совпадает с CPUID вашего компьютера (например, cpu0001067a_plat00000044_ver00000a0b_date20100928.bin )

Если не знаем какой код, то зашиваем все.

A. Запускаем MMTool . Жмем кнопку (1) Load ROM и загружаем в программу последний BIOS для вашей матплаты. Если у вас самый новый BIOS, то можно так же слить утилитой бекап BIOS с ПК и править его.

B. Переходим на вкладку (2) CPU Patch , затем кнопкой (3) Browse , откройте файл .bin соответствующий вашему CPUID.

C. В опциях оставьте значение по умолчанию «Insert a Patch data» и нажмите кнопку (4) Apply .

После обновления модифицированным биосом необходимо сделать сброс настроек через кнопку сброса или перемычки, если матплата поддерживает такой сброс, или же вытаскиванием на пару минут батарейки BIOS. Далее процессор уже корректно воспринимается компьютером и работает как надо.

Basic Input Output System - базовая система ввода-вывода, сокращенно BIOS. Маленькая микросхема на материнской плате, которая первой получает управление при включении ПК. Обеспечиваются: базовые настройки ПК проверка компонентов ПК при старте...

Собственно, оригинальный способ, оснастку и микрокоды можно найти (непосредственно инструкция по AMI ), и в большинстве случаев использование этого способа не несет никаких проблем и не имеет подводных камней, но я в своей практике регулярно сталкивался с такой проблемой:

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

В качестве компромисного я выбрал следующее решение — берем последние версии микрокодов для всех процессоров поколения CORE во всех конструктивах (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) и подменяем ими всё что было до того. Набор микрокодов получился следующий:

Объём этого набора — всего 76 килобайт. Данный файл получился путём объединения этих файлов:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

Сама процедура модификации тоже немного изменилась и стала если не проще, то быстрее:

Шаг 1 — открываем образ BIOS в программе MMTool:



Шаг 2 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. Здесь их к примеру 31 штука:

Шаг 3 — переходим на вкладку Replace и ищем на ней пункт «P6 Micro Code»:

Шаг 4 — выбрав пункт «P6 Micro Code» жмём кнопку Икщцыу, выбираем файл ncpucode.bin, описанный выше и заменяем его кнопкой Replace:





Шаг 5 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. После подмены микрокодов осталось 17, версия самая последняя:

Фундаментальной разницы с порядком модификации, описанным на delidded.com нет. В большинстве случаев на выходе получается конечно не то же самое, но процессор получает нужный микрокод. Из субъективных положительных моментов я хотел бы обратить внимание лишь на то, что гарантированно обновляются микрокоды на все актуальные процессоры, будь то «гражданские» или «серверные», а так же практически нет риска получить сообщение о нехватке места. Хотя, в моей практике даже на такой набор микрокодов пару раз места не хватало, это было с BIOS для плат ECS P4M900T-M и ECS P4M900T-M2, которые в общем совместимы с Xeon E5450.

По традиции публикую ссылку на архив с инструментами — (zip, 234KB). Архив содержит исполняемый файл MMTOL.exe (версия 3.22 BKMOD), файл с микрокодами на все 45/65nm процессоры поколения core/xeon ncpucode.bin , а так же два файла 45nm.bin и 65nm.bin с микрокодами только на 45nm процессоры и только на 65нм. Использование этих файлов может быть полезным в тех случаях когда необходимо освободить дополнительный объём в BIOS, например, для новой firmware какого-то контроллера, сетевого, дискового и пр.

!NB : Ни в файле ncpucode.bin, ни в файлах 45nm.bin/65nm.bin нет поддержки процессоров Pentium 4, Celeron (без буквенных индексов), Pentium D, Celeron D и Xeon W (Xeon 5080 например). Это процессоры поколения NetBrust.