Skip to content
BIOS Implementation Test Suite
Branch: master
Clone or download
Pull request Compare This branch is 13 commits ahead of biosbits:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Documentation
cfg
deps
python
rc
syslinux
.gitignore
.gitmodules
COPYING
INSTALL.txt
Makefile
NEWS.txt
README.Developers.txt
README.md
README.txt
bits-cfg.txt
bits-indent
mkdisk
mkpresent

README.md

(AUTO) BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot

The reason for the existance of this fork is that manufacturers often do not support older motherboards/BIOS with updates. This leads to vulnerabilities like Meltdown/Spectre not getting patched while the microcode is available. This fork can be used to automatically load microcode before loading OS (using GRUB). By default it will try to boot from the first drive. I have successfullly tested it by booting from USB stick with Windows 10 (and Linux). It should work with other Windows versions and OS'es too.

Notes:

  • Microsoft apparently includes microcode updates now in Windows 10 for certain CPU's, this is ofcourse the preferred way to load microcode.
  • VMware CPU Microcode Update Driver will not be able to accomplish the same as BITS since it loads microcode much later in the boot process; as driver within the OS itself.
  • As you probably know, but just to be sure: Linux already does this by itself (e.g. Debian and CentOS)

Instructions:

  • Note that this repo does not include "/efi" dir (get it here or from Intel)
  • Write to USB stick according to original instructions (INSTALL.txt)
  • Copy this repo to /boot
  • You also need microcode from Intel which goes to /boot/mcu/microcode.dat (Google "latest Linux Processor Microcode Data File")
  • Optionally; if you put the data file in /boot/mcu.first that file will be loaded first (see microcode.txt)

Idea from:

https://superuser.com/questions/1092286/how-to-update-cpus-microcode-with-grub-and-chainload-windows-10 https://forums.guru3d.com/threads/windows-how-to-get-latest-cpu-microcode-without-modding-the-bios.418806/page-2

Original version and documentation:

The last 2 entries in the menu use:

Changed from original:

  • automatically load microcode (auto.cfg)
  • auto detect OS using various methods and boot it (boot_ext.cfg)

Auto Boot:

First microcode is loaded and then OS is booted:

If your OS is not on the first drive try one of the other menu entries. If you have found an entry that works you can permanently change default in boot_ext.cfg (top).

The menu entries you can choose from are:

  • Generic (BIOS/MBR):

    • "Boot first drive MBR"
    • "Boot second drive MBR"
    • "Boot first drive MBR, Extended partition"
  • Linux (EFI, BIOS/MBR):

    • "Linux (autodetect: /etc/passwd)"
    • "Linux (seperate "/boot" on Extended partition)"
    • "Load another configfile (autodetect: grub.cfg)"
    • "Chainload MBR from file "linux.bin"
  • Windows (EFI, BIOS/MBR):

    • "Microsoft Windows Vista/7/8/10 bootmgr (MBR)"
    • "Microsoft Windows NT/2000/XP ntldr (MBR)"
    • "Microsoft Windows UEFI"
    • "Windows (aioboot)"
  • Other: BSD/ISOLINUX/DOS (BIOS/MBR):

    • Last menuentry (osdetect)
You can’t perform that action at this time.