[Sammelthread] Intel Microcodes patchen - mod BIOS - uCodes Bootloader - OS Patch - Spectre II

AliManali

cpt sunday flyer
Thread Starter
Mitglied seit
07.03.2012
Beiträge
4.511
Ort
Ostschweiz
(c) 20.01.2018 - Ali

Hi

Es wäre aber super wenn du den Vorgang es Microcode einspielen genauer beschrieben würdest. Dann könnte man, wenn der neue Microcode da ist, damit weiterarbeiten.

Hier geht es um die Spectre 2 Sicherheitslücke auf dem Grossteil der Intel Systeme. Da ja jetzt scheinbar uCodes für die meisten Systeme verfügbar sind, nutze ich die Gelegenheit und passe den Thread entsprechend an. Ich bin auf Informationen von Euch Usern (Danke!) und aus dem Web angewiesen, welche zum Teil auch recht widersprüchlich sind. Daher ist dieser Fred mit Vorsicht zu geniessen. Vor allem auch, wenn es um das patchen vom BIOS geht. Kann gut sein, dass sich hier falsche Infos einschleichen. BIOS patchen auf eigene Gefahr!!!

Um Spectre 2 zu patchen, sind u.A. die genannten uCodes von Intel nötig. Diese liegen einerseits im BIOS, andererseits können sie auch vom OS zur Verfügung gestellt werden. Sofern die uCode Revision vom OS höher ist als die des BIOS, werden die uCodes vom OS verwendet. Umgekehrt ist es nicht möglich, d.h. das überschreiben mit einer niederwertigeren Revision geht nicht. Bei Linux Systemen scheint es zum grossen Teil aktuelle uCodes von Haus aus zu geben. Bei Windows war es bis vor kurzem so, dass gar keine uCodes per Windows Update zur Verfügung gestellt wurden. Das hat sich dieses Jahr geändert: im Januar wurden für Windows 10 monatliche Qualitätsrollup-Updates für die Surface Modelle ausgeliefert, später kam auch ein Update für Skylake. Die ersten Updates vom Januar für Windows wurden aber zurückgezogen, da der enthaltene uCode fehlerhaft war. Ob in dem besagten Windows Update nur die uCodes für die Surface Modelle, oder auch noch allgemein Nachbesserung am OS für die aktuellen Sicherheitslücken enthalten waren, entzieht sich meiner Kenntnis. Auf jeden Fall wurde geraten, mindestens das Qualitätsrollup vom Januar wieder rückgängig zu machen.

So wie ich das sehe, sind das folgende fehlerhafte Updates:

Win 7 SP1:KB 4056894
Win 8.1:KB 4056895
Win 10:KB 4056891 für 1703, bzw. KB 4056892 für 1709

Siehe auch weiter unten im OS-Patch Spoiler.

Falls sich Microsoft dazu entschliesst, alle aktuellen uCodes per Windows Update zur Verfügung zu stellen, wird dieser Thread ohnehin obsolet. Im Moment ist aber Eigeninitiative gefragt, was das Einspielen der uCodes erfordert. Neben den genannten Möglichkeiten (BIOS Update bzw. die Verfügbarkeit im OS) gibt es aber noch eine weitere Vorgehensweise. Der uCode wird nach dem POST Vorgang und vor dem Laden des OS, bzw. vor init.d und dem Kernel anderweitig geladen. Dies kann durch einen Bootloader (der z.B. auf einem USB Stick liegt) erfolgen, der vor dem Laden des init.d des OS den uCode vom BIOS überschreibt. Wenn man jetzt mit der angewendeten USB Bootloader Methode im Windows den uCode Patch noch aktiv unterdrückt, hat man auch die Möglichkeit, den Patch nach Wunsch zu de- bzw. aktivieren. Das heisst, wenn man den Stick abzieht hat man keinen Spectre 2 Schutz, dafür mehr Leistung (z.B. um Videos zu rendern oder zu spielen). Startet man den PC mit Stick ist der aktualisierte uCode aktiv, und man kann halt nur einen Teil der Leistung abrufen. Es sollte ja dem Leser schon bekannt sein, dass es mit dem aktiven Patch zu massiven Leistungseinbrüchen kommt…

Falls Ihr Euch sicher seid, dass Ihr ein ungepachtes System habt, solltet Ihr bevor Ihr beginnt zu patchen die ungepachte CPU ID, Plattform ID und die uCode Version notieren. Nach dem Patch werdet Ihr eine neue uCode Version haben. Es ist unerlässlich, dass Ihr diese Versionen unterscheiden könnt. Diese Infos können z.B. mit hwinfo64 ausgelesen werden.

Vor dem Patch:

Version_hwinfo.jpg

PS_ungepacht.PNG

Nach dem Patch:

Version_hwinfo_gepacht.png

PS_gepacht.PNG

Verwendetes uCode File:

uCodeBeispielNeu.PNG

Als Beispiel dient Sandy-E x206D7.

Weiter unten gibt es auch noch eine Anmerkung, wie man dem OS vorgaukelt, einen aktuellen uCode zu haben. Einen Schutz gibt es dadurch nicht, trotzdem kann es für Experimente hilfreich sein. Der Vollständigkeit halber lasse ich den Spoiler daher bestehen.

Bei Heise gibt es einen guten kostenpflichtigen Artikel dazu:

Von Microcodes und wie man sie patcht | c't Magazin


Bedrohungen:

  • Meltdown
    Nur Intel CPUs & reine OS-Updates reichen. ESXi, Windows, Linux und OSX auf dem neuesten Stand halten. Ältere ESXi-Versionen (< 5.5) bleiben betroffen.
  • Spectre 1
    Auch AMD & ARM sind betroffen - darüber hinaus auch Grafikkartentreiber und Applikationen, die Code nachladen (Browser). Jede Software, die Code lädt (alle OS, Browser, etc.) muss gepatcht werden.
  • Spectre 2
    wie Variante 1, aber hier müssen als "Patch" Prozessorbefehle im kompilierten Code durch solche ersetzt werden, die nicht anfällig sind - diese beherrschen die CPUs aber erst nach einem Microcode-Update. Eingespielte Updates für Spectre 2 sind ohne passenden Microcode wirkungslos!
  • Weitere
    hwluxx - Weitere Sicherheitslücken: Auf Spectre und Meltdown könnten Skyfall und Solace folgen

Quelle:
~thc@vmware-forum.de schrieb:
Noch mal zur Klarstellung:

Für die Spectre/Meltdown-Lücken braucht man unterschiedliche Patches, die nur die bisher bekannten Varianten ausbügeln. Das bleibt alles im Fluss und wir werden im Laufe dieses Jahres noch mehr Lücken und noch mehr oder optimierte Patches sehen.

Meltdown: Nur Intel CPUs & reine OS-Updates reichen. ESXi, Windows, Linux und OSX auf dem neuesten Stand halten. Ältere ESXi-Versionen (< 5.5) bleiben betroffen.

Spectre Variante 1: Auch AMD & ARM sind betroffen - darüber hinaus auch Grafikkartentreiber und Applikationen, die Code nachladen (Browser). Jede Software, die Code lädt (alle OS, Browser, etc.) muss gepatcht werden.

Spectre Variante 2: wie Variante 1, aber hier müssen als "Patch" Prozessorbefehle im kompilierten Code durch solche ersetzt werden, die nicht anfällig sind - diese beherrschen die CPUs aber erst nach einem Microcode-Update. Eingespielte Updates für Spectre 2 sind ohne passenden Microcode wirkungslos!

Ob aktuelle OS-Updates auch den "richtigen" Microcode für den jeweils verwendeten Prozessor bereitstellen, ist alles andere als einfach zu beantworten. Hat man ein BIOS-Update mit expliziter Angabe der Prozessoren, ist man auf der sicheren Seite.
vmware-forum.de - Massive-Luecke-in-Intel-CPUs-erfordert-umfassende-Patche



Massnahmen:

  • luxx - Ueberprüfung der Mitigation gegen Spectre und Meltdown

  • Gefixte CPU's bzw. Plattformen:
    Aktuelle Intel microcode revision guidance suchen...

    Leider sind die älteren Versionen der Intel microcode revision guidance wohl nur mit Anmeldung bei der Intel Seite zum Download verfügbar. Es ist nur mit geübten Auge möglich, die aktuelle Version als gepatcht zu identifizieren. Ich gehe z.Z. einfach nach dem Datum der Veröffentlichung des uCodes. Sprich Revision mit Datum vom März 2018 (als "Production" markiert) sollte bereits gepatcht sein. Daher habe ich die "alten" ungepatchten uCodes im Spoiler gelassen. Der Grossteil der Plattformen aus dem Spoiler ist also ungepatcht oder fehlerhaft. Ich habe diese Liste nur stehen gelassen, damit Ihr die ungepachte uCode Revision von Eurem System ermitteln könnt!

    Stand Januar 2018; nur wenige Modelle sind gepatcht, zudem fehlerhaft:
    Zu den neu unterstützten CPUs (Intel upstream microcode datafile 20180108)
    Code:
    intel-microcode (3.20180108.0~ubuntu16.04.2) xenial-security; urgency=medium
    
      * New upstream microcode datafile 20180108
        + New Microcodes:
          sig 0x000506c9, pf_mask 0x03, 2017-03-25, rev 0x002c, size 16384
          sig 0x000706a1, pf_mask 0x01, 2017-12-26, rev 0x0022, size 73728
          sig 0x000906ea, pf_mask 0x22, 2018-01-04, rev 0x0080, size 97280
          sig 0x000906eb, pf_mask 0x02, 2018-01-04, rev 0x0080, size 98304
        + Updated Microcodes:
          sig 0x000306c3, pf_mask 0x32, 2017-11-20, rev 0x0023, size 23552
          sig 0x000306d4, pf_mask 0xc0, 2017-11-17, rev 0x0028, size 18432
          sig 0x000306e4, pf_mask 0xed, 2017-12-01, rev 0x042a, size 15360
          sig 0x000306f2, pf_mask 0x6f, 2017-11-17, rev 0x003b, size 33792
          sig 0x000306f4, pf_mask 0x80, 2017-11-17, rev 0x0010, size 17408
          sig 0x00040651, pf_mask 0x72, 2017-11-20, rev 0x0021, size 22528
          sig 0x00040661, pf_mask 0x32, 2017-11-20, rev 0x0018, size 25600
          sig 0x00040671, pf_mask 0x22, 2017-11-17, rev 0x001b, size 13312
          sig 0x000406e3, pf_mask 0xc0, 2017-11-16, rev 0x00c2, size 99328
          sig 0x00050654, pf_mask 0xb7, 2017-12-08, rev 0x200003c, size 27648
          sig 0x00050662, pf_mask 0x10, 2017-12-16, rev 0x0014, size 31744
          sig 0x00050663, pf_mask 0x10, 2017-12-16, rev 0x7000011, size 22528
          sig 0x000506e3, pf_mask 0x36, 2017-11-16, rev 0x00c2, size 99328
          sig 0x000806e9, pf_mask 0xc0, 2018-01-04, rev 0x0080, size 98304
          sig 0x000806ea, pf_mask 0xc0, 2018-01-04, rev 0x0080, size 98304
          sig 0x000906e9, pf_mask 0x2a, 2018-01-04, rev 0x0080, size 98304
       * source: remove unneeded intel-ucode/ directory
       * source: remove superseded upstream data file: 20170707

    Bzw.:
    Code:
    -- Updates [B][color=red]upon[/color][/B] 20171117 release --
    IVT C0        (06-3e-04:ed) 428->42a
    SKL-U/Y D0    (06-4e-03:c0) ba->c2
    BDW-U/Y E/F    (06-3d-04:c0) 25->28
    HSW-ULT Cx/Dx    (06-45-01:72) 20->21
    Crystalwell Cx    (06-46-01:32) 17->18
    BDW-H E/G    (06-47-01:22) 17->1b
    HSX-EX E0    (06-3f-04:80) 0f->10
    SKL-H/S R0    (06-5e-03:36) ba->c2
    HSW Cx/Dx    (06-3c-03:32) 22->23
    HSX C0        (06-3f-02:6f) 3a->3b
    BDX-DE V0/V1    (06-56-02:10) 0f->14
    BDX-DE V2    (06-56-03:10) 700000d->7000011
    KBL-U/Y H0    (06-8e-09:c0) 62->80
    KBL Y0 / CFL D0    (06-8e-0a:c0) 70->80
    KBL-H/S B0    (06-9e-09:2a) 5e->80
    CFL U0        (06-9e-0a:22) 70->80
    CFL B0        (06-9e-0b:02) 72->80
    SKX H0        (06-55-04:b7) 2000035->200003c
    GLK B0        (06-7a-01:01) 1e->22
  • Im UEFI BIOS uCodes einspielen:
    (c) 19.03.2018 by Ali

    Hi

    Hier die Kurzversion für das Erstellen von dem mod BIOS mit den aktuellen Intel Microcodes gegen Spectre II. Dieser Guide ist für AMI Aptio IV & V UEFI BIOS gedacht. Das deckt die meisten Intel Desktop UEFI BIOS seit Sandy ab. Das nachfolgend verwendete UBU Tool ist nicht für Laptops geeignet! BIOS mod auf eigene Gefahr! Ich habe in der Workstation und im Server Dual BIOS; ohne eine entsprechende Technologie wird vom patchen mit eigens gemoddeter BIOS Software abgeraten!

    Aktuell wird empfohlen, das UBU-Tool zusammen mit der (BETA-)Version 5.2.0.24 des AMI MMTools zu verwenden.
    Bei einem BIOS vom Typ AMI Aptio 4 muss dieses allerdings zunächst gepatcht werden.
    Zum Patchen habe ich den HxD verwendet.

    Ich habe mein gemoddetes BIOS-File vor dem Flashen mit dem exakt zur AMI Aptio Version passenden MMTool überprüft:
    AMI Aptio 4 - MMTool 4.50.0.23
    AMI Aptio V - MMTool 5.0.0.7​
    Nur so habe ich herausgefunden, welches UBU-Tool das richtige Ergebnis liefert. Es war in meinem Fall die Release-Version.

    Man kann auch mit dem UBU-Tool selbst das gemoddete BIOS-File überprüfen. Es nutzt dazu im Hintergrund den "MC Extractor":
    GitHub - platomav/MCExtractor: Intel, AMD, VIA Freescale Microcode Extraction Tool

    Stand Anfangs März 2018

    Bereits früher einmal habe ich auf eine nette (und zuverlässige) Tool-Sammlung u. a. zum Thema "BIOS Modding" hingewiesen:
    Latest Overclocking Programs, System Info, Benchmarking, Stability Tools

    Ich für meinen Teil habe folgende Software verwendet:


    Das patchen ist neben der ganzen Theorie recht einfach!

    Vorbereitung:

    Als erstes ermittle ich mit HWiNFO64 meine CPU ID, Plattform ID, Stepping der CPU sowie die aktuelle uCU Version. Diese Infos merken wir uns. Der uCode den wir auf unser BIOS patchen wollen, ist von der CPU ID abhängig. In einem BIOS gibt es daher mehrere uCode Sätze für die jeweils unterstützten CPU’s der Plattform.

    Ihr solltet an der Konsole ein wenig fit sein. Um das zu machen ist es von Vorteil, wenn die nachfolgend erstellten Verzeichnisse keine Leer- und Sonderzeichen enthalten. Ausserdem sollte in den Ordneroptionen vom Explorer die Anzeige der Dateinamenerweiterungen aktiviert werden.


    Die folgenden Archive:

    • microcode-20180312.tgz
    • amd64-microcode_3.20171205.1.tar.xz
    • aktuelles UBU Toolkit
    • mmtool_v5.rar
    • microdecode.rar
    • BIOS File, entpackt

    in ein Verzeichnis kopieren. Das ist unser Datenverzeichnis.

    • In dem Datenverzeichnis erstellen wir ein Arbeitsverzeichnis.
    • Das entpackte BIOS File kopieren wir in das Arbeitsverzeichnis.
    • Wir entpacken die Archive UBU_v1_69_15.7z und den Ordner MMTOOL_v5.0.0.7 aus MMTOOL_v5.0.0.7.zip in das Arbeitsverzeichnis.
    • Im Arbeitsverzeichnis machen wir ein Unterverzeichnis Microcode.
    • In das Verzeichnis Microcode entpacken wir den Ordner amd64-microcode-3.20171205.1 aus dem Archiv amd64-microcode_3.20171205.1.tar.xz.
    • Des Weiteren entpacken wir den Ordner microdecode aus dem Archiv microdecode.rar in dasselbe Verzeichnis.
    • Dann entpacken wir das Archiv microcode-20180312.tgz ebenfalls in den Ordner Microcode.


    Das sieht dann so aus:

    Datenverzeichnis:

    Datenverzeichnis.PNG

    Arbeitsverzeichnis:

    Arbeitsverzeichnis.PNG

    Microcode Dateien:

    MicrocodeNEU.PNG

    Wir starten die Konsole mit Admin Rechten und wechseln in das Microcode Verzeichnis.

    KonsoleMicrocode.PNG

    Dann in der Konsole:

    Code:
    microdecode.exe microcode.dat

    ausführen. Die aktuellen Intel Microcodes werden in das Verzeichnis Microcode entpackt.

    In das Arbeitsverzeichnis wechseln:
    Code:
    cd ..

    Im Arbeitsverzeichnis UBU.bat ausführen:
    Code:
    UBU.bat

    UBU sollte nun Euer entpacktes BIOS erkennen. Mit Option 7 in den Microcode Mode wechseln. Dann "m" für User Select Microcode File wählen. Im Ordner Microcode das zur CPU ID passende File wählen. Laut hwinfo64 ist meine CPU ID 000206D7 und die alte uCU 710. Ich gebe also im Suchfeld *206D7 ein, und sehe dann folgendes File in den Suchergebnissen:

    MicrocodeNEU.PNG

    Das wähle ich aus und überschreibe meine v710 mit v713:

    UBUMicrocodeALT.png

    UBUMicrocodeNEU.png

    Dann aus dem Menu Microcode mit 0 verlassen, und noch Mal die 0 für Exit. Dann die Option 1 für rename to mod_E773IMS.280 (Beispiel für BIOS Filename E773IMS.280) wählen. Das BIOS File nach dem original BIOS Namen umbennenen (E773IMS.280).

    Das UBU-Tool "räumt auf", d. h. es entfernt die MCs aus dem BIOS-File, die man nicht updated.

    Am Schluss mit

    AMI Aptio IV - MMTool 4.50.0.23
    AMI Aptio V - MMTool 5.0.0.7

    prüfen, ob der entsprechende uCU im ROM File enthalten ist. Nicht abspeichern, nur überprüfen hier.

    MMTool.jpg

    Man kann auch mit dem UBU-Tool selbst das gemoddete BIOS-File überprüfen. Es nutzt dazu im Hintergrund den "MC Extractor":
    GitHub - platomav/MCExtractor: Intel, AMD, VIA Freescale Microcode Extraction Tool

    BIOS einspielen:

    Das modded ROM File speichern wir nun auf einem FAT32 formatierten USB Stick. Nun direkt aus dem UEFI das ROM File auswählen und schreiben (upgrade BIOS).

    Fehlerhaftes mod BIOS zurück flashen mit DUAL BIOS Boards:

    PC mit dem funktionierenden original BIOS starten und gleich ins BIOS gehen. Im laufendem Betrieb mit offenem BIOS den DUAL BIOS Schalter auf dem Board benutzen, um auf das fehlerhafte mod BIOS zu wechseln. Nun könnt Ihr das fehlerhafte BIOS wieder überschreiben. Lasst Euch Zeit für das, und stellt sicher, dass Ihr das richtige BIOS (mod BIOS) flasht. Überschreibt Ihr aus versehen das laufende original BIOS ist Euer Board geschrottet.

    Siehe auch biosflash.com - BIOS-Update fehlgeschlagen? - Erste Hilfe

    Weitere Quellen :

  • Nach BIOS Inizialisierung per (USB) Bootloader uCodes nachladen:
    heise online - Lösung für Microcode-Updates auf älteren Windows-PCs ohne verfügbare BIOS Updates

    KaiJ_Dev - Forum Heise.de - 11.01.2018 schrieb:
    Falls noch nach Lösungen für Microcode-Updates auf älteren Windows-PCs gesucht wird, hier ist eine Möglichkeit per USB-Stick Boot:

    1. BIOS Bits herunterladen (ist eine modifizierte GRUB-Bootdisk):
    Download

    2. Microcode-Updates herunterladen:
    Download Linux* Processor Microcode Data File

    3. USB-Stick nach BIOS Bits-Anleitung erstellen

    4. Den Inhalt des Verzeichnisses "intel-ucode" (NICHT das Verzeichnis selbst) aus dem Microcode-Updates auf dem angelegten Stick unter /boot/mcu ablegen.

    5. Neustarten und per BIOS vom USB-Stick booten.

    6. "Configure Menu" auswählen, dann "Load microcode", wenn alles geklappt hat, sollte man sehen, dass die Revision der CPU geupdated wurde.

    7. Per ESC wieder zurück ins Hauptmenü, "Boot an OS from Disk" auswählen.

    8. Die "richtige" Festplatte auswählen (die Reihenfolge ist nicht immer eindeutig, wenn das Booten nicht klappt, reset und ein andere Platte probieren, die Reihenfolge bleibt bei jedem Boot gleich).

    Da die Microcode-Updates nicht persistent sind, muss die Boot-Prozedur bei JEDEM Boot neu durchgeführt werden (d.h. man muss immer von USB booten).

    Weil es sich um GRUB handelt, kann man den Ablauf aber eventuell automatisieren, so dass man einfach nur noch von USB bootet.

    Von dem Bios-Modding sollte man die Finger lassen. Es geht auch anders, mit weniger Aufwand und ohne sein System zu killen.
    Ich hatte mir schon vor mehr als einer Woche einen bootfähigen USB-Stick erstellt, welcher die aktuelle Microcode.dat (Intel, vom 2018-01-08) und den Grub-Bootloader enthält. Das Problem ist nämlich, dass das Microcode-Update vor dem Starten des Windows-Kernels ausgeführt werden muss. Solche Tools\Treiber wie z. B. "VMware CPU Microcode Update Driver" können das logischerweise nicht, weil diese für die Ausführung ein gestartetes Windows benötigen.

    Wie auch immer, mein 4770K (ein Haswell auf einem Asrock Z87 Extreme6) wurde in der letzten\aktuellen Microcode.dat berücksichtigt - Der gesamte nachfolgende Vorgang ist vollautomatisch:
    Der Rechner startet vom Stick den Bootloader, dieser lädt das Microcode-Update und anschließend das BS (in diesem Fall Windows 10 x64).

    Ich habe für die komplette Lösung inkl. Recherche ca. einen Tag benötigt, aber ein HowTo mache ich nicht - ist mir zu viel Aufwand ;-) ausserdem sollte man dbzgl auch ein paar Kenntnisse haben, damit man nichts schrottet.

    Ein paar relevante Infos:

    Bootfähigen Stick mit FAT32 erstellen, aber aufpassen, dass man den richtigen Laufwerksbuchstaben wählt und nicht seine Partitionen formatiert. Das Tool kennt (fast) jeder: hp_usb_disk_storage_format_tool-2.2.3.exe

    BITS bzw. Grub: https://downloadcenter.intel.com/download/19763/BIOS-Implementation-Test-Suite-BITS-

    Syslinux: https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip

    Aktuelle Microcodes: https://downloadcenter.intel.com/download/27431/Linux-Processor-Microcode-Data-File?v=t

    Im BITS-Paket befindet sich eine Beschreibung (Install.txt).

    Weitere Tipps, nach dem Fertigstellen des Sticks (Grub\Bits mit Syslinux):

    Nur die microcode.dat muss aus dem microcode-Archiv in den Ordner boot\mcu des Sticks kopiert werden.

    Falls man das automatische Laden von Bits\Grub haben möchte, also sich nicht immer durch das Menü hangeln will, dann muss man die toplevel.cfg im Ordner boot\cfg entsprechend anpassen.


    Hat dein Rechner nur einen MBR bzw. wird dein Windows vom ersten MBR gebootet?
    Ja MBR kein GPT (GPT 4 TB Platte als Datengrab verbaut aber nicht in der Bootchain) Ansonten Dualboot mit Windows 7 und 10. Läuft über den Windows Bootloader im UEFI festgelten MBR der SDD.
    DVD Laufwerk und USB kommen im UEFI von der Bootreihenfolge vor der SSD.
    In dem o.g. cfg Ordner befindet sich die Standard toplevel.cfg und auch noch weitere relevante cfg Dateien. Für Anregungen sollte man sich die configure.cfg (insb. mcu_load ...) und u.U. die boot.cfg mal ansehen.
    Das Ergebnis muss dann in die toplevel.cfg ...

    - - - Updated - - -

    Das der Stick am Rechner bleibt, ist belanglos. Das Problem was ich sehe, ist, dass es für viele Boards keine Firmware-Updates geben wird. U. U. gibt es noch nicht einmal ein Microcode-Update für die Core 2 Reihe (habe hier noch einen Q9550).

    Falls (hd1) die korrekte Partition sein sollte (siehe dbzgl. auch "Boot first drive MBR" usw. in der boot.cfg), dann sollte das Folgende in der toplevel.cfg ausreichen:

    echo "Starting BITS ..."

    if [ -e /boot/cfg/init.cfg ]; then source /boot/cfg/init.cfg; fi
    if mcu_load /boot/mcu; then exit; fi

    hd1 ist korrekt aber mit Deinem Eintrag bootet das System bei mir in Schleife.

    Ich habe stattdessen nun folgendes die toplevel.cfg konfiguriert:

    if [ -e /boot/cfg/init.cfg ]; then source /boot/cfg/init.cfg; fi
    if mcu_load /boot/mcu; then configfile /boot/cfg/boot.cfg; fi

    Nun muß ich noch manuell auswählen, von welcher HD ich booten will. Aber der Microcode wird automatisch geladen.
    Da es der erste Eintrag im Menü ist, muß ich also nur einmal Enter drücken und er bootet die erste HD. Da kann ich vorerst auch mit leben.

    Eigentlich erschien es mir logisch, die /boot/cfg/boot.cfg wie folgt zu modifizieren, um das mit der Enter Taste zu vermeiden:
    set root=(hd1)
    drivemap (hd1) (hd0)
    chainloader +1

    Aber so will er nicht. Naja mal sehen, vielleicht lese ich mir die Grub Doku nochmal in Ruhe durch aber für heute ist erst einmal gut.

    Ansonsten funktioniert das mit dem Microcode Update gut udn der Powershell Check ist nun grün:

    Vielen Dank für Deine Hilfe :wink:

    Der Stick wurde immer im UEFI-Modus gestartet. Ich hatte das leider nicht mitbekommen. Wenn ich ihn im BIOS-Bootmenü als legacy SanDisk auswähle, dann funktionieren auch die mcu_load und mcu_status Skripte, auch grundsätzlich die toplevel.cfg, die hier gepostet wurde, auch die boot.cfg.

    Ich hatte heute Morgen vor der Arbeit eine Eingebung ;)

    Das fett markierte oben in die boot\cfg\boot.cfg dazu:

    set timeout=02

    menuentry "Boot first drive MBR" {
    set root=(hd1)
    drivemap (hd1) (hd0)
    chainloader +1
    }

    menuentry "Boot second drive MBR" {
    set root=(hd2)
    drivemap (hd2) (hd0)
    chainloader +1
    }


    Nun bootet das Ding vollautomatisch nach 2 Sekunden. (Geht aber nur, wenn man von der ersten HD bootet, da dies der Default Eintrag ist.)
  • Im OS Microcode per vmware Treiber nachladen: (keine Auswirkungen auf die Sicherheit)
    Der Abschnitt Im OS Microcode nachladen ist keine Lösung, m.E. führt das bei dem Leser nur zur Verwirrung. Der Microcode muss vor dem OS-Kernel geladen werden.
    Den VMWare-Treiber kann man verwenden, um festzustellen, ob die Microcode-Datei die eigene CPU bereits unterstützen würde oder eben nicht. Aber wenn man bereits einen Bootloader vorbereitet hat, den man ohne BIOS-Fix des Boardherstellers sowieso benötigt, dann ist der VMWare-Treiber dbzgl. ebenfalls überflüssig.

    Bios Update wirds auch keins geben für die Broadwell E. Ein Board, dass 2 Jahre alt ist bekommt kein neues Bios. Ich habe den Microcode von Hand zu Fuß aufgespielt, so ähnlich wie unter Linux.

    Ist userunfreundlich, aber die einzige Möglichkeit ein Microcode Update zu erhalten.

    Also, ohne Microcodeupdate bekommt Ihr nur die halbe Lücke, halb dicht, das kann man sich sparen. Ohne neuen Microcode, der bei den z.B. Z370 per Biosupdate eingespielt wird, hat das ganze gebastel an Windows keinen Sinn. Und auch erst nach dem neuen Microcode werden sich die performance Probleme einstellen.

    Hier mal für alle die ein Board aus 2016 und älter haben eine Anleitung was zu tun ist:

    How to Update Intel and AMD Processor Microcode under Windows - YouTube

    Hier gibts die aktuellen Microcodes:

    Download Linux* Processor Microcode Data File

    Nicht von dem Wort Linux verwirren lassen!

    Ohne den AMD Microcode läuft das Patchprogramm nicht:

    Index of /debian/pool/non-free/a/amd64-microcode

    Hier die VMware:

    VMware CPU Microcode Update Driver

    Grüße
  • OS Patch
    Windows 7 SP1:
    aktuell halten!
    KB4056894 (zurückgezogen), KB4078130

    Windows 8.1
    aktuell halten!
    KB4056895 (zurückgezogen), KB4078130

    Windows 10:
    aktuell halten!
    Windows 10 1703: KB4056891 (zurückgezogen), KB4078130
    Windows 10 1709: KB4056892 (zurückgezogen), KB4078130


    Linux und OS X:
    hwluxx - Meltdown- und Spectre-Patches für Windows, macOS und Linux
  • Anwendungen im OS patchen:
    ~thc schrieb:
    …darüber hinaus auch Grafikkartentreiber und Applikationen, die Code nachladen (Browser). Jede Software, die Code lädt (alle OS, Browser, etc.) muss gepatcht werden.

    Spectre Variante 2: wie Variante 1, aber hier müssen als "Patch" Prozessorbefehle im kompilierten Code durch solche ersetzt werden, die nicht anfällig sind - diese beherrschen die CPUs aber erst nach einem Microcode-Update. Eingespielte Updates für Spectre 2 sind ohne passenden Microcode wirkungslos!

    hwluxx schrieb:
    Zudem muss die Variante 1 von Spectre explizit von jeder Anwendung geschlossen werden. Ein Patch auf Betriebssystem-Ebene wirkt hier nicht.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Beim Update vom Dezember war das mit Meltdown und Spectre noch nicht bekannt, dementsprechend würde ich auf “nein“ tippen.

Gesendet von meinem ALE-L21 mit Tapatalk
 
Nein für den 3930k gibt es noch keinen aktualisierten Code, Intel geht da jetzt erstmal nach dem alter vom jüngsten aus. Das Sandy-E ein Update erhält würde ich eh für Unwahrscheinlich halten oder es kommt erst sehr sehr spät
 
Dann kannst Du ja das KB4056892 für Win 10 rauchen, das soll ja auch die uCodes zur Verfügung stellen. Ich habe den Patch drauf, aber da wird mir immer noch uCU 710, also noch das genannte von 2013.

Naja, hier steht, dass da zeitnah Updates kommen werden. So verstehe ich das zumindest.
 
Ja für aktuelle Hardware, denkst du das 5 Jahre alte Hardware auf deren Prio Liste steht? Nein! Ja er stellt die uCodes für Microsoft Geräte bereit. Du wirst zumindest erstmal in nächster Zeit keinen Fix speziell für deinen Prozessor bekommen so sieht es mit jeder Hardware vor Skylake aus. Die Frage ist ob überhaupt etwas kommt, wenn du ein Premium Board hast kann es sein das von dessen Hersteller ein Bios Update mit einem Fix kommt aber selbst das kann noch ewig dauern.
 
Nach aktuellen Stand bekommen nur die Surface Geräte das Microcode Update über Windowsupdate.
Ich vermute Microsoft will sich das auf allen anderen Geräten fürstlich von den Hardware/Boardherstellern bezahlen lassen, weil die dadurch natürlich extrem viel Arbeit sparen würden.

Es wäre aber super wenn du den Vorgang es Microcode einspielen genauer beschrieben würdest. Dann könnte man, wenn der neue Microcode da ist, damit weiterarbeiten.
Intel says 90 percent of CPUs have "received" Spectre and Meltdown patch (which is not the same as having it applied) - TechSpot
Intel this week announced they have issued firmware updates for 90 percent of their CPUs launched in the past five years.
SB-E ist aus 2011 da gibts aktuell noch nix.

Beim Update vom Dezember war das mit Meltdown und Spectre noch nicht bekannt
Intel wusste damals schon davon (seit Juni 2017) sie haben nur gewartet bis die Lücke publiziert wurde um zu reagieren.
 
Zuletzt bearbeitet:

Anhänge

  • UBUMicrocodeschreiben.jpg
    UBUMicrocodeschreiben.jpg
    150 KB · Aufrufe: 204
  • Ordner1.PNG
    Ordner1.PNG
    13,2 KB · Aufrufe: 262
  • Ordner2Arbeitsverzeichnis.PNG
    Ordner2Arbeitsverzeichnis.PNG
    46,8 KB · Aufrufe: 271
  • ArbeitsverzeichnisKonsole.PNG
    ArbeitsverzeichnisKonsole.PNG
    6,4 KB · Aufrufe: 230
  • SpecuCheck.PNG
    SpecuCheck.PNG
    13,4 KB · Aufrufe: 297
  • Dateinamenerweiterungen.PNG
    Dateinamenerweiterungen.PNG
    13,4 KB · Aufrufe: 276
Zuletzt bearbeitet:
Habe mich die die letzten Tage auch an diese Punkt gebracht (Rom File erzeugt aber noch nicht geflasht). Das mit dem fehlendem mtool und das Suchen/Finden der microcode.exe hat mich Zeit gekostet.
Schöne Doku, gut gemacht :wink:

Bei Asus/Asrock ist wohl noch folgendes nötig:

Attention:

* Users of an ASUS or ASRock mainboard may get an "Integrity Error" message, when they try to flash any modded BIOS. >Here< (Forum - [Guide] How to flash a modded ASUS/ASRock/Gigabyte AMI UEFI BIOS) is a guide about how to circumvent the built-in integrity check.


In dem Link (<Here>) schauen nach Manual removement of the ASRock capsule header by using CodeRush's "UEFITool"

Ahh wer lesen kann, ist klar im Vorteil, kannst Du also vergessen:

Users, who have modified the ASRock UEFI BIOS by using the UBU tool from v1.22 up (look >here<), can flash the modded BIOS directly (after having renamed it) and don't have to care about the removal of the capsule header. It has been done by the UBU tool and its included UEFITool automaticly. No further preparation of the modded BIOS is required.
ASRock UEFI mainboard users, who haven't used the UBU tool (v1.22 or later), have to additionally remove the capsule header from the BIOS. This should been done before starting any BIOS modification.
 
Zuletzt bearbeitet:
Habe mich die die letzten Tage auch an diese Punkt gebracht (Rom File erzeugt aber noch nicht geflasht). Das mit dem fehlendem mtool und das Suchen/Finden der microcode.exe hat mich Zeit gekostet.
Schöne Doku, gut gemacht :wink:

Ja danke!

Ja, ich war da auch einige Stunden dran seit Mittwoch Abend. Ich geh jetzt Mal schlafen.
 
Auch ein Danke von mir!

Hab hier auch noch Systeme wo ich wohl selber Hand anlegen muss. Hoffe, das klappt dann auch, wenn es soweit ist.
 
Ja danke!

Ja, ich war da auch einige Stunden dran seit Mittwoch Abend. Ich geh jetzt Mal schlafen.

Hehe dann N8. Du solltest für das HowTo ggf einen eigenen Thread aufmachen. So ist es besser über die SUFU zu finden und bei der Mühe welche Du Dir gemacht hat, ist es das alle Male wert.
 
Wie man dann der fertigen BIOS.bin die gewünschte Dateiendung verpasst (im Beispiel BIOS.bin nach BIOS.280), bin ich mir noch nicht ganz sicher. Eventuell reicht einfaches umbenennen. Das ergänze ich dann, wenn ich das BIOS getestet habe. Allenfalls hat da noch wer eine Idee dazu.
Umbenennen funktioniert wenn in den Ordneroptionen der Haken bei "Erweiterungen bei bekannten Dateitypen ausblenden" raus ist und
"Geschützte Systemdateien Ausblenden" sonst werden dir .sys oder .bin nicht angezeigt im Explorer.
Die meisten Bios/UEFI brauchen keine .bin Endung mehr, es kann also vom Hersteller frei gewählt werden.
 
... Die meisten Bios/UEFI brauchen keine .bin Endung mehr, es kann also vom Hersteller frei gewählt werden.

mod BIOS ins gewünschte Format bringen (Dateiendung):

Wie man dann der fertigen BIOS.bin die gewünschte Dateiendung verpasst (im Beispiel BIOS.bin nach BIOS.280), bin ich mir noch nicht ganz sicher. Eventuell reicht einfaches umbenennen. Das ergänze ich dann, wenn ich das BIOS getestet habe. Allenfalls hat da noch wer eine Idee dazu.

@ Phantomias88:

Bist Du Dir da sicher, dass man die Dateiendung einfach wie gewünscht umbenennen kann? Ich könnte mir vorstellen, dass dabei das BIOS File unbrauchbar wird, bzw. dass es zum Umbennen einen mir noch unbekannten Zwischenschritt gibt.

Das mit den versteckten Dateiendungen in den Ordneroptionen nehme ich dankend noch in den Guide.
 
Zuletzt bearbeitet:
@ Phantomias88:

Bist Du Dir da sicher, dass man die Dateiendung einfach wie gewünscht umbenennen kann? Ich könnte mir vorstellen, dass dabei das BIOS File unbrauchbar wird, bzw. dass es zum Umbennen einen mir noch unbekannten Zwischenschritt gibt.

Das mit den versteckten Dateiendungen in den Ordneroptionen nehme ich dankend noch in den Guide.

Sicher wäre ich da auch nicht aber es geht auch im UBU Tool: Intel kämpft mit schwerer Sicherheitslücke (Update: Intel veröffentlicht Server-Benchmarks) - Seite 52

edit: Ich bin mir sicher. Ich habe mir mal den Code des UBU Tool angeschaut. Es macht nichts anderes als Windows auch machen würde. Es nutzt den ren Befehl der Comando Zeile und fügt nichts in die Datei ein.
(Es macht dann ein goto zum Ende).

(goto set /p ec=Rename? :
if not defined ec goto ubf
if %ec%==1 if %asus%==1 goto resubf
if %ec%==1 if %asus%==0 (
ren bios.bin mod_%biosname%
echo bios.bin ===^> mod_%biosname%
goto exit1
)


####################################
:exit1
echo;
echo *******************************************************************************
echo * Many thanks to CodeRush for utilites HexFind, DrvVer, FindVer and UEFIFind. *
echo *******************************************************************************
pause>nul
goto exit1
)
 
Zuletzt bearbeitet:
Nein für den 3930k gibt es noch keinen aktualisierten Code, Intel geht da jetzt erstmal nach dem alter vom jüngsten aus. Das Sandy-E ein Update erhält würde ich eh für Unwahrscheinlich halten oder es kommt erst sehr sehr spät
Sogar fuer X58 gibt es jetzt Updates, zumindest von einigen Boardherstellern
 
@ Phantomias88:

Bist Du Dir da sicher, dass man die Dateiendung einfach wie gewünscht umbenennen kann? Ich könnte mir vorstellen, dass dabei das BIOS File unbrauchbar wird, bzw. dass es zum Umbennen einen mir noch unbekannten Zwischenschritt gibt.

Das mit den versteckten Dateiendungen in den Ordneroptionen nehme ich dankend noch in den Guide.
Naja, nicht wie von dir gewünscht, sondern was der Hersteller verlangt.
Bei MSI ist die Endung z.B. die Version Nummer: BiosName.01A
Unbrauchbar wird es nur, weil Windows das Programm zum öffnen nicht Automatisch wählt, du musst also rechts klick auf die Datei machen und "öffnen mit..."
 
@ AliManali:

Zunächst einmal kann ich bestätigen, was Phantomias88 & Marcellus5000 sagen: Die Dateiendung ist egal, somit der Schritt "BIOS extrahieren" in Deinem Guide überflüssig.
Du solltest noch die "Notes" aus Fernando's Tool Guide bei Dir erwähnen (oder zumindest verlinken), da sonst die Leute gefrustet sein werden, die ein Motherboard mit X99 oder neuer haben und Deinem Guide hier folgen.
Mit Micrococode für Sandy Bridge ist (frühestens) ab Ende Januar zu rechnen.
Allerdings warte ich erst einmal ausgiebige Tests ab. Bei allen Intel-Prozessoren vor Skylake werden größere Leistungseinbußen vorhergesagt, weil die noch keine PCIDs-Unterstützung haben.
Da ich selbst auch noch Sandy Bridge verwende, schwebt mir inzwischen eine andere Lösung vor als die, den Microcode im BIOS zu speichern: Dual-Boot Windows (ohne Microcode-Update, für die Spiele) / Linux (mit Microcode-Update, für alles andere)
Mache ich davon abhängig, wie sehr die Leistung einbricht. (Erreiche halt jetzt gerade eben noch so die Mindestanforderungen aktueller Spiele. Spielraum ist da keiner mehr.)
Hoffentlich kommt Microsoft dann nicht auch auf die Idee, den Microcode zu laden, so wie das bei Linux z. Zt. ja schon gemacht wird.

Das Microcode-Repository des UBU Toolkits wird übrigens immer rasch aktualisiert, sobald es etwas Neues gibt. Das macht es First-Time-BIOS-Moddern sehr einfach. Sie brauchen dann nichts Anderes mehr.

... ach ja: Und wenn Du das MMTool hier verlinkst, kann es Ärger mit AMI geben.
 
@ AliManali:

Mit Micrococode für Sandy Bridge ist (frühestens) ab Ende Januar zu rechnen.

Du scheinst Dich mit der Materie befasst zu haben. Hast Du zufällig eine Ahnung, wie ich bei Lenovo an das Rom File zum Modden komme und dieses nach dem Modden flashe?
(Ich warte bei meinem Lenovo T420 mit Sandy auf ein offizielles BIOS Update aber falls das nicht rauskommt).
Leider gibt es von Lenovo nur eine *.exe zum flashen unter Windows oder eine Boot CD, bei der man nicht an die Daten kommt (Die lässt sich zwar booten aber nicht auslesen. Habe auch probiert, die unter Linux zu mounten=nada).
 
Das T420 steht leider (noch) nicht auf der Liste der Modelle, die ein BIOS-Update erhalten.
Unter Linux holst Du das BIOS mit "cabextract" aus der*.exe. Unter Windows funktioniert eventuell das direkte Auslesen mit dem Universal BIOS Backup Toolkit.

Da es sich anscheinend um ein "Phoenix BIOS" handelt, könnte das hier der passende Guide für das Microcode-Update sein:
https://www.win-raid.com/t2811f47-Guide-How-to-update-CPU-microcodes-NCPUCODE-BIN-CPUCODE-BIN-on-a-non-UEFI-Award-Phoenix-BIOS.html

Wenn Du Linux auf dem ThinkPad installierst (die Unterstützung soll ja gerade bei denen sehr gut sein), kannst Du Dir natürlich das Microcode-Update im BIOS schenken. Das macht dann das OS für Dich.
 
Zuletzt bearbeitet:
@kroxx, eine Frage. Am Montag kommt wohl ein gepatchter Kernel für Ubuntu 16.04.3 heraus, der den Intel-Microcode gegen Spectre läd. Wird der jedes mal geladen, oder kann man das im Dual-Boot nutzen, und der Microcode befindet sich nach einmaligem Laden per Linux-Kernel im Flash des BIOS und fixt so die CPU-Fehler, auch für das Dual-Boot-Windows, in meinem Fall leider Windows 7?

Ich habe ein Gigabyte Q77M-D2H-Board mit Intel i5 3475S CPU. Ich befürchte, dass es dafür kein BIOS-Update geben wird.

Intel Microcode Downloads for Intel® Core™ i5-3475S Processor (6M Cache, up to 3.60 GHz)
microcode-20180108.tgz Linux* Processor Microcode Data File

BIOS F1 4,39 MB 2012.04.19 (F2 passt nicht zur CPU) GA-Q77M-D2H (rev. 1.0) | Mainboards - GIGABYTE Germany
 
Zuletzt bearbeitet:
Das T420 steht leider (noch) nicht auf der Liste der Modelle
Ja da schaue ich auch regelmäßig rein aber ich habe so die Befürchtung, dass es da nie stehen wird. Naja erstmal abwarten aber schon einmal Infos sammeln.

Da es sich anscheinend um ein "Phoenix BIOS" handelt, könnte das hier der passende Guide für das Microcode-Update sein:
https://www.win-raid.com/t2811f47-Guide-How-to-update-CPU-microcodes-NCPUCODE-BIN-CPUCODE-BIN-on-a-non-UEFI-Award-Phoenix-BIOS.html
Danke! Ja müßte ein Phoenix sein und der Guide beschreibt das Modden auf den ersten Blick ausreichend. Nur der Teil mit dem Flashen brachte bei mir erst noch ein paar Fragezeichen*.
Die nutzen dort in den Kommentaren weiter unten qflash aber ich habe noch ein spezielles Programm für Phoenix gefunden: Phoenix UEFI Winflash Phoenix BIOS Flasher (phlash, winphlash) - Download all available Phoenix BIOS flasher versions Wim's BIOS

Unter Linux holst Du das BIOS mit "cabextract" aus der*.exe.
Unter Windows funktioniert eventuell das direkte Auslesen mit dem Universal BIOS Backup Toolkit.
Ahh sowas was wie cabextract habe ich gesucht, danke. Linux ist kein Problem, ich habe immer ein paar VMs mit Debian, Fedora oder SLES Test Versionen "rumliegen".
*Mit dem Phoenix UEFI Winflash soll man übirgens auch Backups des Bios erstellen können. In Deinem Link zu cabextract (Da ist ja ein kompletter Guide und bezieht sich auch auf den T420 :) ),
ist unter "Flash ausführen" auch die Verwendung des Tools phflash16 beschrieben. Jenes ist unter meinem Link zum Phoenix UEFI Winflash ebenfalls zu finden.
(Ich schreibe das gerade mal auch für mich als Merker mit, dann kann ich mir den Link zu diesem Post in Evernote wegspeichern und habe alles auf einen Blick.)

Wenn Du Linux auf dem ThinkPad installierst (die Unterstützung soll ja gerade bei denen sehr gut sein), kannst Du Dir natürlich das Microcode-Update im BIOS schenken. Das macht dann das OS für Dich.
Ich habe/hatte ein Kubuntu auf einem uralten IBM (ja noch IBM) Thinkpad laufen, Sound etc. ging alles out of the Box mit dem Kubuntu. Das Teil ist heutzutage dann doch zu lahm und liegt jetzt im Keller.
I know aber ich nutze z.B Audio Programme zum E-Gitarre spielen, welche nicht unter Linux laufen, daher wäre höchstens ein Dual Boot (Wie Du es ja auch vorhast) eine Option.

Auf jeden Fall hast Du mir sehr weitergeholfen! :wink:
 
Zuletzt bearbeitet:
Von dem Bios-Modding sollte man die Finger lassen. Es geht auch anders, mit weniger Aufwand und ohne sein System zu killen.
Ich hatte mir schon vor mehr als einer Woche einen bootfähigen USB-Stick erstellt, welcher die aktuelle Microcode.dat (Intel, vom 2018-01-08) und den Grub-Bootloader enthält. Das Problem ist nämlich, dass das Microcode-Update vor dem Starten des Windows-Kernels ausgeführt werden muss. Solche Tools\Treiber wie z. B. "VMware CPU Microcode Update Driver" können das logischerweise nicht, weil diese für die Ausführung ein gestartetes Windows benötigen.

Wie auch immer, mein 4770K (ein Haswell auf einem Asrock Z87 Extreme6) wurde in der letzten\aktuellen Microcode.dat berücksichtigt - Der gesamte nachfolgende Vorgang ist vollautomatisch:
Der Rechner startet vom Stick den Bootloader, dieser lädt das Microcode-Update und anschließend das BS (in diesem Fall Windows 10 x64).

Und das Powershell-Script gibt Folgendes aus, also alles grün - bis zum nächsten Supergau:

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: True
Windows OS support for kernel VA shadow is enabled: True
Windows OS support for PCID performance optimization is enabled: True [not required for security]


BTIHardwarePresent : True
BTIWindowsSupportPresent : True
BTIWindowsSupportEnabled : True
BTIDisabledBySystemPolicy : False
BTIDisabledByNoHardwareSupport : False
KVAShadowRequired : True
KVAShadowWindowsSupportPresent : True
KVAShadowWindowsSupportEnabled : True
KVAShadowPcidEnabled : True
 
Von dem Bios-Modding sollte man die Finger lassen. Es geht auch anders, mit weniger Aufwand und ohne sein System zu killen.
Ich hatte mir schon vor mehr als einer Woche einen bootfähigen USB-Stick erstellt, welcher die aktuelle Microcode.dat (Intel, vom 2018-01-08) und den Grub-Bootloader enthält. Das Problem ist nämlich, dass das Microcode-Update vor dem Starten des Windows-Kernels ausgeführt werden muss. Solche Tools\Treiber wie z. B. "VMware CPU Microcode Update Driver" können das logischerweise nicht, weil diese für die Ausführung ein gestartetes Windows benötigen.
...
Wie auch immer, mein 4770K (ein Haswell auf einem Asrock Z87 Extreme6) wurde in der letzten\aktuellen Microcode.dat berücksichtigt - Der gesamte nachfolgende Vorgang ist vollautomatisch:
Der Rechner startet vom Stick den Bootloader, dieser lädt das Microcode-Update und anschließend das BS (in diesem Fall Windows 10 x64).

Mach doch bitte mal ein kurzes Howto oder nenne zumindest die Links aus Deinen Recherchen dazu, kannst mir auch alternativ gerne ne PM schicken. Danke :wink:
 
Ich habe für die komplette Lösung inkl. Recherche ca. einen Tag benötigt, aber ein HowTo mache ich nicht - ist mir zu viel Aufwand ;-) ausserdem sollte man dbzgl auch ein paar Kenntnisse haben, damit man nichts schrottet.

Ein paar relevante Infos:

Bootfähigen Stick mit FAT32 erstellen, aber aufpassen, dass man den richtigen Laufwerksbuchstaben wählt und nicht seine Partitionen formatiert. Das Tool kennt (fast) jeder: hp_usb_disk_storage_format_tool-2.2.3.exe

BITS bzw. Grub: https://downloadcenter.intel.com/download/19763/BIOS-Implementation-Test-Suite-BITS-

Syslinux: https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip

Aktuelle Microcodes: https://downloadcenter.intel.com/download/27431/Linux-Processor-Microcode-Data-File?v=t

Im BITS-Paket befindet sich eine Beschreibung (Install.txt).

Weitere Tipps, nach dem Fertigstellen des Sticks (Grub\Bits mit Syslinux):

Nur die microcode.dat muss aus dem microcode-Archiv in den Ordner boot\mcu des Sticks kopiert werden.

Falls man das automatische Laden von Bits\Grub haben möchte, also sich nicht immer durch das Menü hangeln will, dann muss man die toplevel.cfg im Ordner boot\cfg entsprechend anpassen.
 
Zuletzt bearbeitet:
Falls man das automatsche Laden von Bits\Grub haben möchte, also sich nicht immer durch das Menü hangeln will, dann muss man entsprechend die toplevel.cfg im Ordner boot\cfg anpassen.

Danke :)
Den Part für den Stick etc. habe ich (nach Deinem Trigger) schon auf Heise gefunden. L | Forum - heise online
Vielleicht kannst Du kurz Deine toplevel.cfg als Referenz posten :fresse:
 
Zuletzt bearbeitet:
Hat dein Rechner nur einen MBR bzw. wird dein Windows vom ersten MBR gebootet?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh