1. Run this .BAT file before Windows start:
@echo off
::MTRR 0 - 256M UC @ F0000000
msr_set.exe 201 0000000F F0000800
msr_set.exe 200 00000000 F0000000
::MTRR 2 - 256M WC @ E0000000
msr_set.exe 205 00000000 00000000
msr_set.exe 204 00000000 E0000001
msr_set.exe 205 0000000F F0000800
::MTRR 1 - 512M UC @ C0000000
msr_set.exe 203 0000000F E0000800
msr_set.exe 202 00000000 C0000000
::set Default Cache Type to 06h WB
msr_set.exe /W 2FF 00000000 00000C06
::MTRR 3 - Unused
msr_set.exe 207 00000000 00000000
msr_set.exe 206 00000000 00000000
::MTRR 4 - Unused
msr_set.exe 209 00000000 00000000
msr_set.exe 208 00000000 00000000
then run Windows and if nothing bad will happen show me the output of MTRR_VAR under Windows
2. The default driver behaviour under Windows 9x so disastrous that it overwrites all WB registers from BIOS - so no, under 64-bit OSes all will work fine, BIOS works correctly here.
3. > 00000000BFEF0000 - 00000000BFF00000 : 0000000000010000 2 (Reserved), 64K
And just for completeness - you BIOS has the bug described as Problem 2 here:
https://msfn.org/board/topic/186768-bug-fix-vmmvxd-on-handling-4gib-addresses-and-description-of-problems-with-resource-manager-on-newer-bioses/