Microcode Installation permanent?

chaos2oo2

Lt. Junior Grade
Registriert
Nov. 2011
Beiträge
326
Hi zusammen,

ich nutze aktuell einen noch nicht gegen Spectre/Meltdown gepatchten Desktop-PC. Ich hab erstmal sämtliche Updates deaktiviert und auch keine BIOS Updates eingespielt. Ich spiele sowieso nur mit der Kiste und surfe mit meinem Macbook. Testweise habe ich mir nun einen Kubuntu-USB Stick installiert. Hier wird mir nun im Driver Management folgendes angezeigt:

"Using processor microcode firmware for Intel CPUs from Intel-microcode (proprietary)"

Was genau ist damit gemeint. Soweit ich das sehe nutzt mein 8700K noch den alten Microcode ("0x6e"). Was genau macht diese Zeile, wenn ich das anhake?

Geht es hier nur darum, den Microcode überhaupt zu verwenden? Dieser wird doch bereits durch das BIOS geladen? Wie laufen die Microcode-Updates unter Linux generell ab? Soweit ich das sehe wird doch beim Linux "update" lediglich bei jedem Boot der Microcode vom BIOS durch was eigenes ersetzt, d.h. das Ganze ist nicht persistent. Oder hab ich da was falsch verstanden?

VG
chaos2oo2
 
Richtig, der von Linux geladene Microcode ist nicht permanent. Er muss bei jedem Start des PCs neu geladen werden.
 
Der Microcode ist in der CPU auf einem ROM (Read-only) fest einprogrammiert und kann nicht verändert werden. Zusätzlich hat die CPU einen RAM für Microcode-Patches, der existierende Teile des Microcodes überschreiben kann. In diesen werden Microcode-Updates von einer auf dem Prozessor laufenden Software hineingeschrieben. Dieser Microcode-RAM leert sich natürlich bei jeder Trennung vom Strom.
Die erste auf dem Rechner laufende Software ist das BIOS. Hat dieses ein Microcode-Update bereits hinterlegt, wird es das Update in den Microcode-RAM laden. Wenn nicht, dann nicht.
Hat das Betriebssystem noch einen neuen Microcode, kann der Kernel beim Booten den Microcode-RAM mit der noch neueren Version überschreiben.
Unter Linux erhält man diese Microcode-Updates aus den Paketen "intel-microcode" und "amd64-microcode". Unter Windows kommen diese manchmal von Windows Update, wobei Microsoft das scheinbar nicht so viel und häufig nutzt wie Linux.
Da alte Mainboards keine BIOS-Updates mehr kriegen werden sind OS-Updates der Weg der Wahl für die breitflächige Verteilung von Microcode-Updates.
 
danke für die schnellen Antworten. Das bestätigt mich. Hab hierzu auch diesen Link gefunden: https://wiki.archlinux.org/index.php/microcode. Wobei das ggf. Arch Linux spezifisch ist.

Zu dem Thema: wenn das doch allerdings auch von MS erledigt werden kann, wieso müssen dann für Spectre/Meltdown angeblich BIOS Updates installiert werden? Demnach wäre es doch ausreichend wenn Windows bzw. Linux den Microcode beim Starten im RAM der CPU aktualisiert? Niemand müsste sich sorgen machen, weil er eine zu alte CPU hat, so wie auch Marco01_809 schreibt.
 
Das ist meines Wissens nach eine Falschdarstellung. BIOS-Updates sind zwar die eleganteste Lösung, aber keinesfalls zwingend notwendig. Der Druck auf Microsoft, Microcode-Updates regelmäßig über Windows Update anzubieten hätte hier von der Presse drastisch erhöht werden müssen.

Da Intel die bisherigen Microcode-Patches größtenteils zurückgezogen hat ist die Frage auch bis dahin aus dem Raum, ob Microsoft die fertigen Microcode-Patches über Windows Update verteilen wird.
Die Empfehlungen von MS, unbedingt Firmware-Updates für die Geräte manuell einzuspielen spricht zumindest dagegen. Zuletzt gab es wohl 2015 neue Microcode-Patches. Unter Linux kriegt man die teilweise im Monatsrythmus.
 
chaos2oo2 schrieb:
Demnach wäre es doch ausreichend wenn Windows bzw. Linux den Microcode beim Starten im RAM der CPU aktualisiert?
Windows beherrscht dies schlicht nicht. Ein Microcode-Update durchs OS ist nicht ganz trivial. Es verlangt Änderungen am Bootprozess, denn nach Wechsel des CPU-Microcodes muß die CPU-Erkennung des OS erneut ablaufen und das OS ggf. dafür umkonfiguriert werden, weil die Fähigkeiten der CPU plötzlich andere sind. Das Microcode-Update muß auch in den Aufwach-Vorgang nach tiefen Schlafmodi wie SuspendToDisk integriert werden. Da steckt durchaus Arbeit drin, die MS lieber ins Ausliefern von sinnlosen Nerv-Apps investiert.

chaos2oo2 schrieb:
Niemand müsste sich sorgen machen, weil er eine zu alte CPU hat, so wie auch Marco01_809 schreibt.
Sorgen darfst du dir sowohl mit alten als auch mit neuen CPUs machen. All die Patches, sowohl im OS als auch im Microcode, sind nur ekelhafte, bremsende und im Fall Spectre nichtmal sicher funktionierende Workarounds. Die Hardware ist und bleibt Bugware.
 
mensch183 schrieb:
Windows beherrscht dies schlicht nicht.
Das ist glaube ich nicht richtig. Windows kann Microcodes bereits einspielen und hat auch eine Menge an Microcode-Updates vorliegen; diese sind für Intel-CPUs in der C:\Windows\System32\mcupdate_GenuineIntel.dll, für AMD-CPUs in mcupdate_AuthenticAMD.dll gespeichert. Allerdings wurde diese Datenbank an Microcode-Updates zuletzt vor Jahren aktualisieren. Warum Microsoft das aktuell nicht mehr machen will, darüber verlieren sie kein Wort. Zumal mit einem Microcode-Update auch nicht viel kaputt gehen kann, schließlich ist nach einem Reboot ja alles zurück auf Status Quo. Und gerade jetzt wäre es wichtiger denn je.
 
Zurück
Oben