https://github.com/ngxson/hobby-mbr-no-bd-prochot
Windows 7/8/10 MBR partition with BD PROCHOT disabled
https://github.com/ngxson/hobby-mbr-no-bd-prochot
bd-prochot mbr
Last synced: 6 months ago
JSON representation
Windows 7/8/10 MBR partition with BD PROCHOT disabled
- Host: GitHub
- URL: https://github.com/ngxson/hobby-mbr-no-bd-prochot
- Owner: ngxson
- Created: 2020-11-16T18:52:37.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-16T19:14:26.000Z (almost 5 years ago)
- Last Synced: 2025-02-14T13:46:25.565Z (8 months ago)
- Topics: bd-prochot, mbr
- Language: Assembly
- Homepage:
- Size: 7.81 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Disable BD PROCHOT on MBR bootstrap code
## What is this?
This is the MBR version of the [Disable BD PROCHOT UEFI extension](https://github.com/arter97/DisablePROCHOT)
It is made by modifying Windows's MBR bootstrap code, which is used in Windows 7, 8/8.1 and 10 (therefore, it is compatible with all these versions of Windows).
This mod uses bootstrap code from [here](https://github.com/egormkn/mbr-boot-manager)
## Why?
> ThrottleStop is loaded after the OS has finished booting, which means your entire OS loading is still done extremely slowly.
>
> This doesn't mean ThrottleStop is no longer needed.
>
> Entering ACPI S3 state(suspend) causes the BD PROCHOT MSR bit getting re-enabled. You need to use some userspace tool for disabling BD PROCHOT for such cases.
>
> In case of Windows, use ThrottleStop.
> In case of macOS, try SimpleMSR## How to install
**Compatibility**: Windows 7 / 8 / 8.1 / 10
1. Make sure you are using MBR boot mode (or "Legacy" boot mode on modern mainboard BIOS)
2. Download [BOOTICE](https://www.majorgeeks.com/files/details/bootice_64_bit.html) and run as Administrator.
3. Select the disk, then Process MBR -> Restore MBR
4. Choose `boot-windows.bin` as restore file
5. Make sure that "Keep signature and partition table untouched" is selected
6. Choose "Restore" and reboot your computer## How does it work?
The following code is added into `windows.asm`
```
MOV ECX, 0x1FC
MOV EAX, 0x4005E
XOR EDX, EDX
WRMSR
```In order to fit the bootstrap code into 446 bytes, The following messages have been changed:
```
LOADING_ERROR_OFFSET: EQU ($ - $$) % 0x100
LOADING_ERROR: DB "Error loading OS", 0 => Original: "Error loading operating system"
MISSING_ERROR_OFFSET: EQU ($ - $$) % 0x100
MISSING_ERROR: DB "Missing OS", 0 => Original: "Missing operating system"
```Compile the assembly file using `nasm.exe -f bin windows.asm -o boot-windows.bin`