How to revert intel-microcode

A couple of days ago I received an update notification for intel-microcode and duly installed the update. Prior to that, I was getting clear (cold) boots. By this I mean that errant "^[k" strings (without quotes) were not intermittently auto-generated during the boot up process. By intermittent I mean these strings:

  1. would appear during one (cold) boot but not another;
  2. would prepend random lines of boot up text;
  3. would auto-generate different numbers of those strings on random text lines during the boot up.

I did not get this misbehaviour when I used the previous Kubuntu 22.04.2 but am getting this with the current Kubuntu 22.04.3. I am wondering if the recent intel-microcode update has a connection to this as I had managed to stabilise the system prior to that update.

I have preformed an "apt-cache policy intel-microcode" and found the following.

$ apt-cache policy intel-microcode
  Installed: 3.20230808.0ubuntu0.22.04.1
  Candidate: 3.20230808.0ubuntu0.22.04.1
  Version table:
 *** 3.20230808.0ubuntu0.22.04.1 500
        500 jammy-updates/main amd64 Packages
        500 jammy-security/main amd64 Packages
        100 /var/lib/dpkg/status
     3.20210608.2ubuntu1 500
        500 jammy/main amd64 Packages

How do I revert the microcode back to version "3.20210608.2ubuntu1 500" as I suspect that the microcode update may contain code that is "too new" for this Core i3 laptop?

Asked By: Stuart


To install version 3.20210608.2ubuntu1, specify it using =:

sudo apt install intel-microcode=3.20210608.2ubuntu1

The microcode package contains many different microcode updates, which are applied to your CPU depending on what model it is; so it’s unlikely that you would get an update applied that’s “too new” for your CPU. It’s also unlikely that a microcode update would result in the symptoms you describe, but reverting as above will allow you to determine that and you can always upgrade back to the latest version.

If you want to avoid future updates after reverting, you can put a hold on the package:

sudo apt-mark hold intel-microcode
Answered By: Stephen Kitt

My understanding is that the Kernel only updates the microcode if the Kernel has a later revision of the microcode than the BIOS.

If you run dmesg|grep -i microcode the output can indicate if the Kernel has updated the microcode.

E.g. the following example from Ubuntu 18.04 was when the BIOS had an earlier revision of the Xeon E5 v3 microcode than the revision 0x49 than in the intel-microcode package, and so the Kernel updated the microcode as indicated by the microcode updated early to revision 0x49 message:

$ dmesg|grep -i microcode
[    0.000000] microcode: microcode updated early to revision 0x49, date = 2021-08-11
[    1.749574] microcode: sig=0x306f2, pf=0x1, revision=0x49
[    1.750009] microcode: Microcode Update Driver: v2.2.

Whereas after applying a BIOS update which included microcode revision 0x49 the Kernel was no longer updating the microcode:

$ dmesg|grep microcode
[    1.750130] microcode: sig=0x306f2, pf=0x1, revision=0x49
[    1.750515] microcode: Microcode Update Driver: v2.2.

I.e. on the problematic machine you should be able to tell if the Kernel is actually updating the microcode for your processor.

Answered By: Chester Gillon
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.