Можно ли откатить обновления микрокода Intel?

3859
BeeOnRope

Допустим, я применил (или применил для меня автоматическое обновление) обновление микрокода, которое исправляет, например, ошибку гиперпоточности на моем чипе Skylake.

Являются ли такие обновления необратимыми или я могу позже вернуться к более раннему микрокоду?

4
Обновления микрокода не являются постоянными и исчезают при перезагрузке процессора. Обновления микрокода обычно поставляются через обновления прошивки материнской платы. Микропрограмма обновляет микропрограмму ЦП при загрузке системы, поэтому способ отката обновлений заключается в откате микропрограммы материнской платы. Mokubai 6 лет назад 3
@ Мок отлично! Достаточно хорошо для ответа ... BeeOnRope 6 лет назад 1

2 ответа на вопрос

3
anonymous

Само обновление микрокода всегда можно откатить, так как оно не является постоянным, хотя, если это обновление выполняется из встроенного программного обеспечения (например, UEFI / BIOS), вы можете перепрограммировать измененное встроенное программное обеспечение, чтобы сделать это:

На более новых платформах Intel обновления микрокодов могут запрещать « горячее» понижение по соображениям безопасности (есть три поля версии микрокода: ревизия, «SVN» и «VCN», последние два являются неофициальными именами, так как они не имеют документов. горячая версия VCN или SVN (см. [1]) из-за соображений безопасности и / или стабильности). Это означает, что вам нужно изменить микрокод в образе прошивки, чтобы иметь возможность понизить версию. Обратите внимание, что ядро ​​операционной системы само по себе уже отказывается понижать версию микрокода, поэтому вам все равно придется обходить его.

Кроме того, некоторые обновления микрокода [ которые до сих пор никогда не распространялись среди широкой публики, а только для производителей микропрограмм, например, обновления микрокода Intel Westmere 0x206c2 ], имеют постоянные побочные эффекты, например, путем изменения данных, хранящихся на платформе. ТРМ. Эти постоянные побочные эффекты существуют по соображениям безопасности, чтобы избежать «атак понижения» на Intel TXT и / или Intel SGX. В этом случае обновление микрокода можно легко откатить, но оно может оставить постоянные побочные эффекты в системе, которые не позволяют выполнять откат других компонентов прошивки (например, SINIT ACM для Intel TXT) - если вы выполняете откат этих компонентов прошивки назад процессор отключит Intel TXT при ЛЮБОМ ревизия микрокода, пока вы не обновите компонент прошивки снова.

[1] https://github.com/platomav/MCExtractor/wiki/Intel-Microcode-Extra-Undocumented-Header

2
PunctualEmoticon

Это зависит от того, как применяется обновление микрокода. Микрокод обновляется каждый раз при загрузке системы, либо встроенным ПО материнской платы, либо ОС, поэтому все зависит от того, насколько легко или сложно откатить эти обновления.

Если обновление идет от прошивки, это должно быть так же просто, как «обновление» до более старой версии, при условии, что оно не проверяет и не жалуется, что вы переходите на более старую версию. Если микрокод поступает из Linux, это должно быть так же просто, как использовать менеджер пакетов для установки более старой версии . [1] Если он идет из Windows, это может быть легко или сложно, потому что вы можете легко удалить обновления с помощью панели управления, но это не позволит вам удалить обновления, которые « влияют на важные файлы операционной системы ».


[1] На самом деле, в Linux Mint (и, возможно, других) вы можете легко отключить обновления микрокода в настройках. На самом деле он отключен по умолчанию, потому что это собственный код, и Linux Mint хочет, чтобы конфигурация по умолчанию была только с открытым исходным кодом.

Похожие вопросы