Piratage du BIOS. Ajoutez l'ID du processeur. Intel a publié des mises à jour du microcode pour plusieurs générations de mise à jour du microcode CPU

Les processeurs modernes sont des appareils complexes qui peuvent présenter des bugs. De plus, au lieu d'exécuter directement les instructions x86, les processeurs x86 modernes contiennent du code interne qui implémente la prise en charge du jeu d'instructions x86. Le code interne est appelé microcode. Le microcode peut être mis à jour pour corriger ou atténuer les bogues du processeur.

Certains bugs du processeur peuvent faire planter Firefox. Par exemple, Firefox 57 et versions ultérieures sont connus pour planter occasionnellement sur les processeurs Broadwell-U avec un ancien microcode, d'une manière qui n'est pas observée avec les nouvelles versions du microcode Broadwell-U.

Les mises à jour du microcode peuvent être chargées sur le processeur par le micrologiciel (généralement appelé BIOS, même sur les ordinateurs dotés techniquement d'un micrologiciel UEFI au lieu du BIOS à l'ancienne) ou par le système d'exploitation. Les mises à jour du microcode ne persistent pas lors du redémarrage, donc dans le cas d'un système à double démarrage, si la mise à jour du microcode n'est pas fournie via le BIOS, les deux systèmes d'exploitation doivent fournir la mise à jour.

Sur Mac, pour disposer d'un système à jour, appliquez toutes les mises à jour du système OS X et les mises à jour du micrologiciel Apple proposées dans le volet Mises à jour de l'application App Store.

Pour permettre à Windows de charger le microcode mis à jour sur le processeur, assurez-vous que Windows Update est activé et configuré pour installer les mises à jour.

Pour voir la microarchitecture du processeur et quelle révision du microcode est utilisée, exécutez la commande reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 dans l'invite de commande Windows. (Vous pouvez ouvrir l'invite de commande en appuyant sur Windows + R , en tapant cmd et en appuyant sur Return .) La ligne intitulée "VendorIdentifier" indique le fournisseur du processeur (GenuineIntel pour Intel ou AuthenticAMD pour AMD). La ligne intitulée « Identifier » donne la microarchitecture sous forme de trois nombres : « Famille », « Modèle » et « Stepping ». Ceux-ci sont pertinents pour identifier si un bogue particulier du processeur peut être pertinent pour le processeur de votre ordinateur. La ligne intitulée « Update Revision » affiche la révision actuelle du microcode (pour la microarchitecture particulière) avec des zéros des deux côtés. Par exemple, Update Revision REG_BINARY 000000001E000000 signifie que la révision est 1E (hexadécimale). La ligne intitulée « Révision de mise à jour précédente » affiche la révision du microcode chargée à partir du BIOS.

Si le fournisseur est GenuineIntel, la famille est 6, le modèle est 61 et le pas est 4, pour éviter les plantages avec Firefox 57 ou version ultérieure, la révision du microcode doit être 1A ou supérieure.

L'utilisation ou non des mises à jour du microcode par défaut dépend de la distribution Linux et peut différer pour les processeurs Intel et AMD.

  • Sur les distributions basées sur Debian, y compris Ubuntu, les mises à jour du microcode pour les processeurs Intel sont fournies par le package intel-microcode et les mises à jour du microcode pour les processeurs AMD sont fournies par le package amd64-microcode.
  • Sur Arch, les mises à jour du microcode AMD sont installées par défaut, mais les mises à jour du microcode Intel nécessitent des étapes spéciales.
  • Sur Fedora, les mises à jour du microcode sont installées par défaut.

Pour voir la microarchitecture du processeur et quelle révision du microcode est utilisée, exécutez la commande less /proc/cpuinfo dans le terminal. La ligne intitulée « vendor_id » indique le fournisseur du processeur (GenuineIntel pour Intel ou AuthenticAMD pour AMD). La microarchitecture est indiquée sous forme de trois nombres sur les lignes intitulées « famille de processeurs », « modèle » et « pas à pas ». Ceux-ci sont pertinents pour identifier si un bogue particulier du processeur peut être pertinent pour le processeur de votre ordinateur. La ligne intitulée « microcode » affiche le numéro de révision du microcode (pour la microarchitecture particulière) en hexadécimal.

Dans les premières lignes de ce post, je tiens à remercier sincèrement et sans sarcasme un participant du forum sur les clockers, sous le pseudo WebBlast, pour avoir popularisé cette méthode.

Aujourd'hui, nous sommes le premier avril, mais ce n'est qu'une coïncidence. La méthode fonctionne et presque rien n’est maçonné.

Le BIOS pré-UEFI dispose d'un mécanisme permettant de mettre à jour les microcodes sans mettre à jour le BIOS lui-même. Pour une raison ou une autre, ce mécanisme ne fonctionne pas toujours, mais s'il fonctionne, la procédure de mise à jour se résume généralement au démarrage du système à partir d'un support externe spécial, puis au redémarrage.

Ce qu'il est important de comprendre :

  • Un microcd est remplacé par un autre, non ajouté. Ceux. dans la situation avec le mod 771, nous obtenons souvent une perte de support pour un Core 2 Quad similaire, c'est-à-dire son microcode est remplacé par le microcode Xeon.
  • Si le système n'est pas stable, il n'est pas recommandé d'utiliser cette méthode, et un système Xeon n'est souvent pas stable sans microcodes.
  • Vous ne pouvez pas mettre à jour le microcode sur un ancien processeur.
  • Le programme ne fonctionne pas du tout avec le concept de plate-forme. Ceux. par exemple, le microcode du processeur 1067A, version FA et plateforme 0 sera remplacé par le microcode du processeur 1067A, version FC (plus récente) et plateforme 2. Mais le microcode de la version FC et plateforme 0 ne sera pas remplacé par le microcode FC et la plateforme 2. Programme Il vous dira que tout a déjà été mis à jour.

Il faut également ajouter que cette méthode est presque idéale pour mettre à jour les mods de Feng (alias Genius239239) vers les microcodes de la version 2010.

Alors, pour ceux qui ne sont pas intéressés par la lecture et qui possèdent un lecteur de disquette, une solution simple est proposée : écrire (IMA/ZIP, 305ko) sur une disquette, redémarrer et... c'est tout. L'écran indiquera probablement que le microcode a été mis à jour et que tout va bien.

Pour ceux qui n'ont pas de lecteur de disque, mais qui ont une clé USB, il existe aussi un moyen, mais un peu plus compliqué :

Après avoir démarré le PC à partir d'un tel lecteur flash, le microcode de tout processeur de génération Core/Core2 45/65 nm sera mis à jour. Bien sûr, si le BIOS n'est pas UEFI et si la carte n'est pas un mauvais OEM et ainsi de suite... mais il y a une chance.

Exemples de programmes exécutés sur la même carte, mais avec des versions de BIOS différentes :

  • Un exemple réussi. ASUS P5QVM DO, BIOS 0206 :







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






    La mise à jour du microcode a été chargée avec succès de manière permanente dans le BIOS.
    Vous n'avez pas besoin d'exécuter à nouveau cet utilitaire, à moins qu'un nouveau
    Le processeur est installé ou une nouvelle version de l'utilitaire est utilisée.

  • PAS exemple réussi. ASUS P5QVM DO, BIOS 0403 :

    Le fichier de base de données utilisé est PEP.DAT
    =========================================================================
    |
    Utilitaire de mise à jour du processeur pour Intel(R) P6 et Intel NetBurst(R) |
    |
    Famille de microarchitecture de microprocesseurs |
    =========================================================================
    |
    Version 7.14, 23/09/2005, Production |
    |

    Copyright 1995-2004, Intel Corporation. |
    Le BIOS du système prend en charge l'API de mise à jour du microcode.
    Recherche dans le fichier de base de données de la signature du processeur = 0001067A ID de plate-forme = 1
    Tentative d'installation permanente de la ou des mises à jour du microcode dans le BIOS de votre système.
    Vérification de la mise à jour du microcode pour la signature du processeur 1067A et l'ID de plate-forme 01 :



    Recherche dans le fichier de base de données de la signature du processeur = 0001067A ID de plate-forme = 1

    Révision de mise à jour du microcode du BIOS = A07
    Révision de la mise à jour du microcode de la base de données = A0B
    Cet utilitaire peut charger une mise à jour du microcode plus récente dans le BIOS.
    ERREUR : la mise à jour n'est pas chargée de manière permanente dans le BIOS. BIOS rejeté
    Les mises à jour du microcode ne peuvent être chargées que temporairement dans les processeurs.
    Vous devrez réexécuter cet utilitaire après chaque mise sous tension ou réinitialisation du système.
    Recherche dans le fichier de base de données de la signature du processeur = 0001067A ID de plate-forme = 1
    Processeur n°2 :

    Processeur Pentium(R) III détecté. Signature du processeur = 0000067A
    Révision de mise à jour du microcode du processeur = A07
    Cet utilitaire peut charger une mise à jour du microcode plus récente.

    1. Mise à jour
    2. Signature du processeur n°1 = 1067A ID de plate-forme = 11 Révision = a0b
    3. 2 chargements réussis.

En fait, la méthode, le matériel et les microcodes d'origine peuvent être retrouvés (directement les instructions AMI), et dans la plupart des cas, l'utilisation de cette méthode ne pose aucun problème et ne comporte aucun embûche, mais dans ma pratique j'ai régulièrement rencontré le problème suivant :

Ceux. il y avait un manque banal d'espace libre à l'intérieur de l'image. Lorsque vous modifiez vous-même le BIOS d'un processeur spécifique, vous pouvez l'ignorer, car Vous pouvez toujours charger un seul microcode spécifiquement pour votre processeur, ou supprimer un ancien microcode pour libérer de l'espace, mais lorsque vous modifiez avec un flux, vous devez rechercher une autre solution, un compromis.

En guise de compromis, j'ai choisi la solution suivante - nous prenons les dernières versions de microcodes pour tous les processeurs de la génération CORE dans toutes les conceptions (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) et remplacez par eux tout ce qui était avant. L'ensemble des microcodes s'est avéré être le suivant :

Le volume de cet ensemble n'est que de 76 kilo-octets. Ce fichier a été obtenu en combinant ces fichiers :

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

La procédure de modification elle-même a également un peu changé et est devenue, sinon plus simple, du moins plus rapide :

Étape 1— ouvrez l'image du BIOS dans le programme MMTool :



Étape 2— pour vérifier, allez dans le dernier onglet (CPU PATCH) et regardez le nombre de microcodes. Ici par exemple, il y en a 31 :

Étape 3— allez dans l'onglet Remplacer et recherchez l'élément « P6 Micro Code » dessus :

Étape 4— après avoir sélectionné l'élément « P6 Micro Code », appuyez sur le bouton Ikshtsyu, sélectionnez le fichier ncpucode.bin décrit ci-dessus et remplacez-le par le bouton Remplacer :





Étape 5— pour vérifier, allez dans le dernier onglet (CPU PATCH) et regardez le nombre de microcodes. Après remplacement des microcodes, il en restait 17, la dernière version :

Il n'y a pas de différence fondamentale avec la procédure de modification décrite sur delidded.com. Dans la plupart des cas, le résultat n'est certes pas le même, mais le processeur reçoit le microcode nécessaire. Parmi les aspects positifs subjectifs, je voudrais seulement attirer l'attention sur le fait que les microcodes de tous les processeurs actuels sont garantis d'être mis à jour, qu'ils soient « civils » ou « serveur », et qu'il n'y a pratiquement aucun risque de recevoir un message sur manque d'espace. Bien que, dans ma pratique, même pour un tel ensemble de microcodes, il n'y avait pas assez d'espace à plusieurs reprises, c'était avec le BIOS des cartes ECS P4M900T-M et ECS P4M900T-M2, qui sont généralement compatibles avec le Xeon E5450.

Par tradition, je publie un lien vers l'archive avec des outils - (zip, 234 Ko). L'archive contient un fichier exécutable MMTOL.exe(version 3.22 BKMOD), fichier avec microcodes pour tous les processeurs 45/65 nm de la génération core/xeon ncpucode.bin, ainsi que deux fichiers 45nm.bin Et 65nm.bin avec des microcodes uniquement pour les processeurs 45 nm et uniquement pour 65 nm. L'utilisation de ces fichiers peut être utile dans les cas où il est nécessaire de libérer de l'espace supplémentaire dans le BIOS, par exemple pour le nouveau firmware d'un contrôleur, d'un réseau, d'un disque, etc.

!NB: Ni le fichier ncpucode.bin ni les fichiers 45nm.bin/65nm.bin ne supportent les processeurs Pentium 4, Celeron (sans suffixes de lettres), Pentium D, Celeron D et Xeon W (Xeon 5080 par exemple). Ce sont des processeurs de génération NetBrust.

Si le chipset LGA 775 et la carte mère peuvent théoriquement prendre en charge le XEON 771, mais que le BIOS natif ne le prend pas en charge et qu'il n'y en a pas de modifié, vous pouvez alors modifier le BIOS vous-même.

IMPORTANT

1. Vous apportez toutes les modifications au micrologiciel du BIOS (fichier .ROM généralement) à vos risques et périls. En cas d'erreur, une « brique » garantie est obtenue de la carte mère
2. La taille du fichier du firmware d'origine et de la version modifiée doit correspondre à l'octet près.

3. Le flashage du fichier BIOS modifié dans la puce ne peut être effectué qu'à l'aide d'un utilitaire propriétaire du développeur de la carte mère (doit être téléchargé depuis le site Web du fabricant).
4. Dans les cartes mères haut de gamme, le BIOS lui-même dispose d'un module de mise à jour du micrologiciel intégré (par exemple, l'utilitaire EZ Flash 2 pour ASUS P5Q dans la section Outils) - la meilleure option.

Quelle est la meilleure façon de procéder :
1. Dois-je quand même rechercher sur Internet une option prête à l'emploi prenant en charge XEON ?
2. Téléchargez la dernière version du firmware sur le site officiel et ajoutez des microcodes ?

Comme vous pouvez le constater, la deuxième option est plus sûre. Dans tous les cas, vous téléchargez le firmware d'origine depuis le site Web du fabricant de la carte mère, c'est-à-dire La dernière version et l'absence d'erreurs sont garanties (plus précisément, la correction de toutes les erreurs précédemment trouvées). Lorsque vous téléchargez une version prête à l'emploi à partir de ressources tierces (pour des raisons évidentes, elle ne figurera pas sur le site d'origine) - vous pouvez obtenir une version tordue et tuer le BIOS.

Vous pouvez d'abord évaluer la présence de microcodes XEON dans le firmware du BIOS.

- obtenez l'image actuelle du BIOS AMI via Universal BIOS Backup ToolKit 2.0
— regardez le contenu du fichier ROM reçu via AMIBCP V 3.37

Option pour le BIOS AMI (American Megatrends Inc).

1. Téléchargez la dernière version BIOS sur le site Web du fabricant de votre carte mère

3. Téléchargez les microcodes pour les processeurs XEON 771 : lga771_microcodes

4. Découvrez le CPUID de votre processeur en utilisant AIDA64 ou un programme similaire (il ressemble à cpu0001067Ah). Si BIOS sera cousu avant d'installer le processeur, puis sautez cette étape.

5. Décompressez les archives MMTool Et lga771_microcodes et partez des fichiers avec l'extension .bin uniquement les fichiers dont le début correspond au CPUID de votre ordinateur (par exemple, cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

Si nous ne savons pas quel code, alors nous recoudons tout.

UN. Lançons MMTool. Appuyer sur le bouton (1) Charger la ROM et chargez le dernier BIOS de votre carte mère dans le programme. Si vous disposez du dernier BIOS, vous pouvez également utiliser l'utilitaire pour fusionner la sauvegarde du BIOS de votre PC et la modifier.

B. Aller à l'onglet (2) Correctif CPU, puis le bouton (3) Parcourir, ouvrez le fichier .bin correspondant à votre CPUID.

C. Laissez les options à leur valeur par défaut "Insérer des données de patch" et appuyez sur le bouton (4) Appliquer.

Après une mise à jour avec un BIOS modifié vous devez réinitialiser les paramètres via le bouton ou le cavalier de réinitialisation, si la carte mère prend en charge une telle réinitialisation, ou en retirant la batterie du BIOS pendant quelques minutes. Le processeur est alors correctement perçu par l'ordinateur et fonctionne comme il se doit.

Système d'entrée-sortie de base - système d'entrée/sortie de base, en abrégé BIOS. Une petite puce sur la carte mère qui est la première à recevoir le contrôle lorsque le PC est allumé. Fournit : les paramètres de base du PC, la vérification des composants du PC au démarrage...