This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

Repository files navigation

AUTO BIOS Implementation Test Suite (BITS)

Modified to automatically load microcode before OS boot: "AUTO-BITS"

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.

Downloads

https://github.com/mkorthof/bits/releases

2019-07-09

  • Now also available as ready-made images with the 'AUTO' changes included

  • Latest version of bootable ISO and USB image ready to be written to disk:

Screenshots

boot

"Boot an OS from disk" loads after 2 seconds, unless a menu entry is selected

menu

Multiple OS entries can be selected, the last 2 were added automatically

os

"Configure Menu" (microcode can also be autoloaded, see Auto Boot below)

microcode

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-10https://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)

About

BIOS Implementation Test Suite (MOD)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages