• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Intel Microcode Boot Loader

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)

In early 2018, security researchers discovered several security vulnerabilities affecting all processors: Meltdown and Spectre. These vulnerabilities allow speculative execution side-channel attacks (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754). While Meltdown was resolved with an OS patch, Spectre required a microcode update.

Since the microcode is stored and automatically loaded by the BIOS/UEFI, motherboard manufacturers required to issue an update. However, manufacturers normally release firmware updates only for their newest products. Plenty of motherboards still remain vulnerable until this very day.

Intel Microcode Boot Loader is a workaround by ngohq.com for the microcode problem on Intel-based motherboards. It updates the microcode every time the system is booted. Based on Intel BIOS Implementation Test Suite (BITS), users no longer need to modify BIOS/UEFI ROMs to stay protected from security vulnerabilities, bugs and erratas.

This solution requires permanently plugged USB flash drive with at least 25MB (or similar device) and BIOS/UEFI supporting boot from USB devices. Alternatively, advanced users can install it to a local drive on top of the System Reserved partition (see localdrive.txt for instructions).

Instructions:
1. Format a USB flash drive with FAT32 filesystem.
2. Extract the archive to the USB flash drive and run install.exe to make it bootable.
3. Enter the BIOS/UEFI, assign the USB flash drive as the 1st boot device and enable legacy boot mode.
4. The boot loader will regularly update the microcode and load the OS.

Notes:
* This release includes the latest ucodes for 404 Intel CPUs produced from 1996 to 2019.
* The ucodes are stored in the \boot\mcudb folder if you wish to update in the future.
* If you get 'Ucode not found' warning during installation, or plan to deploy on another PC, look for the correct ucode (by CPUID) in \boot\mcudb and copy it to \boot\mcu.

Changes (v0.5.4):
* Updated microcode database.

Downloads:
Intel Microcode Boot Loader | Mirror #1 | Mirror #2
 
Last edited:

qubit

Overclocked quantum bit
Joined
Dec 6, 2007
Messages
17,865 (2.99/day)
Location
Quantum Well UK
System Name Quantumville™
Processor Intel Core i7-2700K @ 4GHz
Motherboard Asus P8Z68-V PRO/GEN3
Cooling Noctua NH-D14
Memory 16GB (2 x 8GB Corsair Vengeance Black DDR3 PC3-12800 C9 1600MHz)
Video Card(s) MSI RTX 2080 SUPER Gaming X Trio
Storage Samsung 850 Pro 256GB | WD Black 4TB | WD Blue 6TB
Display(s) ASUS ROG Strix XG27UQR (4K, 144Hz, G-SYNC compatible) | Asus MG28UQ (4K, 60Hz, FreeSync compatible)
Case Cooler Master HAF 922
Audio Device(s) Creative Sound Blaster X-Fi Fatal1ty PCIe
Power Supply Corsair AX1600i
Mouse Microsoft Intellimouse Pro - Black Shadow
Keyboard Yes
Software Windows 10 Pro 64-bit
Wicked. I've got a 2700K on a now unsupported Asus UEFI mobo so this will come in handy.
 
Joined
Aug 20, 2007
Messages
20,773 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Good idea for the few boards that require a different solution / don't have an updated bios (Intel comes to mind).

I assume this could be adapted to load itself into the windows bootloader, actually, as I see it's using a full UEFI boot stack and Windows 10 at least makes a seperate boot partition. Is there any reason you aren't taking that approach as an alternative release?
 
Joined
May 8, 2016
Messages
1,741 (0.60/day)
System Name BOX
Processor Core i7 6950X @ 4,26GHz (1,28V)
Motherboard X99 SOC Champion (BIOS F23c + bifurcation mod)
Cooling Thermalright Venomous-X + 2x Delta 38mm PWM (Push-Pull)
Memory Patriot Viper Steel 4000MHz CL16 4x8GB (@3240MHz CL12.12.12.24 CR2T @ 1,48V)
Video Card(s) Titan V (~1650MHz @ 0.77V, HBM2 1GHz, Forced P2 state [OFF])
Storage WD SN850X 2TB + Samsung EVO 2TB (SATA) + Seagate Exos X20 20TB (4Kn mode)
Display(s) LG 27GP950-B
Case Fractal Design Meshify 2 XL
Audio Device(s) Motu M4 (audio interface) + ATH-A900Z + Behringer C-1
Power Supply Seasonic X-760 (760W)
Mouse Logitech RX-250
Keyboard HP KB-9970
Software Windows 10 Pro x64
Does this tool require permament pendrive, because it loads code from it on every boot ?
Can it be exchanged for small FAT16/FAT32 partition, on IDE/MBR configured UEFI/BIOS ?
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
I assume this could be adapted to load itself into the windows bootloader, actually, as I see it's using a full UEFI boot stack and Windows 10 at least makes a seperate boot partition. Is there any reason you aren't taking that approach as an alternative release?

Does this tool require permament pendrive, because it loads code from it on every boot ?
Can it be exchanged for small FAT16/FAT32 partition, on IDE/MBR configured UEFI/BIOS ?

Yes. It requires permanent pendrive. It can be exchanged for small FAT boot partition, but that's requires too time to setup.

Altering the boot partition can a make mess in the drive numbering order and render the system unbootable. Especially with Microsoft pushing major updates every few months.

USB flash drives are extremely cheap now, boot time remains almost the same, and you don't have to worry about Windows overwriting the boot loader.
 
Last edited:

FireFox

The Power Of Intel
Joined
Feb 19, 2014
Messages
7,507 (2.02/day)
Location
Germany
Processor Intel i7 10700K
Motherboard Asus ROG Maximus XII Hero
Cooling 2x Black Ice Nemesis GTX 480 - 1x Black Ice Nemesis GTX 420 - D5 VPP655P - 13x Corsair LL120 - LL140
Memory 32GB G.SKILL Trident Z RGB 3600Hz
Video Card(s) EVGA GEFORCE RTX 3080 XC3 Ultra
Storage Samsung 970 EVO PLUS 500GB/1TB - WD Blue SN550 1TB - 2 X WD Blue 1TB - 3 X WD Black 1TB
Display(s) Asus ROG PG278QR 2560x1440 144Hz (Overclocked 165Hz )/ Samsung
Case Corsair Obsidian 1000D
Audio Device(s) I prefer Gaming-Headset
Power Supply Enermax MaxTytan 1250W 80+ Titanium
Mouse Logitech G502 spectrum
Keyboard Virtuis Advanced Gaming Keyboard ( Batboard )
Software Windows 10 Enterprise/Windows 10 Pro/Windows 11 Pro
Benchmark Scores My PC runs FiFA
Joined
May 8, 2016
Messages
1,741 (0.60/day)
System Name BOX
Processor Core i7 6950X @ 4,26GHz (1,28V)
Motherboard X99 SOC Champion (BIOS F23c + bifurcation mod)
Cooling Thermalright Venomous-X + 2x Delta 38mm PWM (Push-Pull)
Memory Patriot Viper Steel 4000MHz CL16 4x8GB (@3240MHz CL12.12.12.24 CR2T @ 1,48V)
Video Card(s) Titan V (~1650MHz @ 0.77V, HBM2 1GHz, Forced P2 state [OFF])
Storage WD SN850X 2TB + Samsung EVO 2TB (SATA) + Seagate Exos X20 20TB (4Kn mode)
Display(s) LG 27GP950-B
Case Fractal Design Meshify 2 XL
Audio Device(s) Motu M4 (audio interface) + ATH-A900Z + Behringer C-1
Power Supply Seasonic X-760 (760W)
Mouse Logitech RX-250
Keyboard HP KB-9970
Software Windows 10 Pro x64
@Regeneration I meant it in case when PC has two drives : A hard drive without OS (no bootable parttions), and an SSD with OS. Can a bootable partition on HDD, be used to serve as replacement for USB Flash drive.

@Knoxx29 "They" said Clover EFI software "required pendrive" to work as well.
Guess what can you do with BDU ;)
 
Joined
May 8, 2016
Messages
1,741 (0.60/day)
System Name BOX
Processor Core i7 6950X @ 4,26GHz (1,28V)
Motherboard X99 SOC Champion (BIOS F23c + bifurcation mod)
Cooling Thermalright Venomous-X + 2x Delta 38mm PWM (Push-Pull)
Memory Patriot Viper Steel 4000MHz CL16 4x8GB (@3240MHz CL12.12.12.24 CR2T @ 1,48V)
Video Card(s) Titan V (~1650MHz @ 0.77V, HBM2 1GHz, Forced P2 state [OFF])
Storage WD SN850X 2TB + Samsung EVO 2TB (SATA) + Seagate Exos X20 20TB (4Kn mode)
Display(s) LG 27GP950-B
Case Fractal Design Meshify 2 XL
Audio Device(s) Motu M4 (audio interface) + ATH-A900Z + Behringer C-1
Power Supply Seasonic X-760 (760W)
Mouse Logitech RX-250
Keyboard HP KB-9970
Software Windows 10 Pro x64
Yes, but it must be on FAT32 partition.
Awesome !
Since this method basicly bypasses a USB boot limitation, can Pentium Pro supports it using CompactFlash card and IDE adapter (I'm asking, because you mentioned this pack supports latest ucodes for CPUs from 1996) ?
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
Awesome !
Since this method basicly bypasses a USB boot limitation, can Pentium Pro supports it using CompactFlash card and IDE adapter ?

Yes. There's another workaround to boot USBs on unsupported BIOSes: Plop Boot Manager.

Pentium Pro from which year? CPUID 061x? there are 392 ucodes packed in this release. CPUs from 1996 to 2018.
 
Last edited:
Joined
May 8, 2016
Messages
1,741 (0.60/day)
System Name BOX
Processor Core i7 6950X @ 4,26GHz (1,28V)
Motherboard X99 SOC Champion (BIOS F23c + bifurcation mod)
Cooling Thermalright Venomous-X + 2x Delta 38mm PWM (Push-Pull)
Memory Patriot Viper Steel 4000MHz CL16 4x8GB (@3240MHz CL12.12.12.24 CR2T @ 1,48V)
Video Card(s) Titan V (~1650MHz @ 0.77V, HBM2 1GHz, Forced P2 state [OFF])
Storage WD SN850X 2TB + Samsung EVO 2TB (SATA) + Seagate Exos X20 20TB (4Kn mode)
Display(s) LG 27GP950-B
Case Fractal Design Meshify 2 XL
Audio Device(s) Motu M4 (audio interface) + ATH-A900Z + Behringer C-1
Power Supply Seasonic X-760 (760W)
Mouse Logitech RX-250
Keyboard HP KB-9970
Software Windows 10 Pro x64
Yes. I'm interested in later releases, specifically CPUID : 0617/0619.
FYI : I'm gathering info for now, I don't own a PPro... yet.
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
In the \boot\mcudb folder, you'll find all ucodes by cpuid and version. If you plan on preparing the device for another PC, make sure to manually copy the ucode to \boot\mcu.
 

johnspack

Here For Good!
Joined
Oct 6, 2007
Messages
5,980 (0.99/day)
Location
Nelson B.C. Canada
System Name System2 Blacknet , System1 Blacknet2
Processor System2 Threadripper 1920x, System1 2699 v3
Motherboard System2 Asrock Fatality x399 Professional Gaming, System1 Asus X99-A
Cooling System2 Noctua NH-U14 TR4-SP3 Dual 140mm fans, System1 AIO
Memory System2 64GBS DDR4 3000, System1 32gbs DDR4 2400
Video Card(s) System2 GTX 980Ti System1 GTX 970
Storage System2 4x SSDs + NVme= 2.250TB 2xStorage Drives=8TB System1 3x SSDs=2TB
Display(s) 2x 24" 1080 displays
Case System2 Some Nzxt case with soundproofing...
Audio Device(s) Asus Xonar U7 MKII
Power Supply System2 EVGA 750 Watt, System1 XFX XTR 750 Watt
Mouse Logitech G900 Chaos Spectrum
Keyboard Ducky
Software Manjaro, Windows 10, Kubuntu 23.10
Benchmark Scores It's linux baby!
Any chance this can work with linux? Or is it simply not needed?
 
Joined
Jul 3, 2018
Messages
847 (0.40/day)
Location
Haswell, USA
System Name Bruh
Processor 10700K 5.3Ghz 1.35v| i7 7920HQ 3.6Ghz -180Mv |
Motherboard Z490 TUF Wifi | Apple QMS180 |
Cooling EVGA 360MM | Laptop HS |
Memory DDR4 32GB 3600Mhz CL16 | LPDDR3 16GB 2133Mhz CL20 |
Video Card(s) Asus ROG Strix 3080 (2100Mhz/18Ghz)|Radeon Pro 560 (1150Mhz/1655Mhz)|
Storage Many SSDs, ~24TB HDD/8TB SSD
Display(s) S2719DGF, HP Z27i, Z24n| 1800P 15.4" + ZR30W + iPad Pro 10.5 2017
Case NR600 | MBP 2017 15" Silver | MSI GE62VR | Elite 120 Advanced
Audio Device(s) Lol imagine caring about audio
Power Supply 850GQ | Apple 87W USB-C |
Mouse Whatever I have on hand + trackpads (Lanchead TE)
Keyboard HyperX Origins Alloy idk
Software W10 20H2|W10 1903 LTSC/MacOS 11
Benchmark Scores No.
So in theory, if you had a Z170/Z270 board with a CFL CPU, with this loaded on a small thumb drive, no modded BIOS would be needed?\
Same with Q65-Q67 and Z68?
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
So in theory, if you had a Z170/Z270 board with a CFL CPU, with this loaded on a small thumb drive, no modded BIOS would be needed?\
Same with Q65-Q67 and Z68?

You must reach to the boot process to load the microcode. It means, the system must POST.

And by the way, thanks to @W1zzard for letting me share my creations with the TPU community.

Other tech sites ban me for some reason :laugh: and its not like i'm posting shareware, adware, or malware. It's complete freeware and portable.

Just useful stuff that I work on to waste time. If I spend time on something, why not share it?
 
Last edited:
Joined
Aug 20, 2007
Messages
20,773 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Other tech sites ban me for some reason

Wow. Pretty lame of them. Guess they can't be bothered to take 10 seconds to test something for malware / google who you are?
 

GalaxyMaster_P

New Member
Joined
Oct 25, 2018
Messages
5 (0.00/day)
I'm trying to make this work on a second ESP partition on my secondary drive, but I'm running into a problem. I've copied the contents of the archive to the partition, ran the install .exe successfully and marked the partition as bootable. I had to manually add an EFI boot entry because it wasn't detected automatically, but it seems to boot fine. The problem occurs when grub tries to load the microcode. For only a few frames 2 errors show on screen, after which I get a grub command line. The errors are:

Code:
error: can't find command `mcu_load`.
error: can't find command `drivemap`.

I had to record a slow-motion video in order to even read the errors. I don't think I installed wrongly, and I've tried again multiple times from scratch. Do you have any idea what the problem could be?
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
I'm trying to make this work on a second ESP partition on my secondary drive, but I'm running into a problem. I've copied the contents of the archive to the partition, ran the install .exe successfully and marked the partition as bootable. I had to manually add an EFI boot entry because it wasn't detected automatically, but it seems to boot fine. The problem occurs when grub tries to load the microcode. For only a few frames 2 errors show on screen, after which I get a grub command line. The errors are:

Code:
error: can't find command `mcu_load`.
error: can't find command `drivemap`.

I had to record a slow-motion video in order to even read the errors. I don't think I installed wrongly, and I've tried again multiple times from scratch. Do you have any idea what the problem could be?

GRUB fails to recognize the location of the modules. Are you using FAT partition?

Try to adjust grub.cfg (set the correct root drive) according to the GRUB2 manual.

That's why I suggested using $5 USB flash drive, GRUB can be difficult to configure.
 

GalaxyMaster_P

New Member
Joined
Oct 25, 2018
Messages
5 (0.00/day)
GRUB fails to recognize the location of the modules. Are you using FAT partition?

Try to adjust grub.cfg (set the correct root drive) according to the GRUB2 manual.

That's why I suggested using $5 USB flash drive, GRUB can be difficult to configure.
The partition is definitely formatted FAT32. I don't think editing the grub.cfg will help, since the mcu_load command happens before the root drive is set. Regardless I went and checked the available drives in the grub terminal, they were hd1 and hd2. I changed the grub.cfg to all possible combinations of those and none of them worked. I'm trying a USB flash drive now, will report back if it works or not.
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,077 (0.46/day)
The partition is definitely formatted FAT32. I don't think editing the grub.cfg will help, since the mcu_load command happens before the root drive is set. Regardless I went and checked the available drives in the grub terminal, they were hd1 and hd2. I changed the grub.cfg to all possible combinations of those and none of them worked. I'm trying a USB flash drive now, will report back if it works or not.

First try booting without EFI, in legacy mode.
 

GalaxyMaster_P

New Member
Joined
Oct 25, 2018
Messages
5 (0.00/day)
The USB flash drive did not work either, but that may be because of my stupid motherboard or user error. I created the drive according to the instructions in the OP, and once again my motherboard did not recognize it as a boot option. I manually created a boot entry once again and this time it simply refuses to boot from the USB at all. No error messages, nothing. Just reverts back to the second boot option. This suggests to me that it can't find the .efi file for some reason (I did double check the path I put in the boot entry).
First try booting without EFI, in legacy mode.
I don't know how I would do that to be honest. If I select either the secondary drive or the USB flash drive to boot from in the bios (instead of the manually created EFI entries) it simply tells me there's no operating system detected.
 
Top