4

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

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

2 ответа2

3

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

На более новых платформах Intel обновления микрокодов могут запрещать « горячие» понижения в целях безопасности (есть три поля версии микрокода: revision, "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

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

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


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .