hfiref0x / VBoxHardenedLoader

VirtualBox VM detection mitigation loader
BSD 2-Clause "Simplified" License
919 stars 275 forks source link

"The BIOS in this system is not fully ACPI compliant" on Windows 7 #50

Closed skidunion closed 5 years ago

skidunion commented 5 years ago

VirtualBox version: 6.0.10 Windows 8.1 x64

After creating a virtual machine and going step-by-step on the official guide, I'm not able to install Windows 7 on a VM, because of the error "The BIOS in this system is not fully ACPI compliant"

image

hfiref0x commented 5 years ago

Attach vbox log please. Additionally disable Use I/O APIC in settings for this machine.

skidunion commented 5 years ago

VBox.log Reinstalled VirtualBox to an older version, using 1.9.0 loader version

UPD: Disabling I/O APIC didn't work, still bluescrenning

hfiref0x commented 5 years ago

When exactly this BSOD happening? I'm trying to reproduce this with old VBox 6.0.0, current table and configs from github, installing Windows7 on vm with the following setting:

APIC 2x CPU PIIX3/ICH9 Paravirt Legacy VTx-AMD-V Nested Paging SATA AHCI

tsugumi driver loaded and vbox dll patched in memory.

Windows installer does load to the "Select language" dialog. Will try to do the same with latest VBox next.

skidunion commented 5 years ago

Starting Windows -> then BSoD

hfiref0x commented 5 years ago

Which Windows iso you use?

skidunion commented 5 years ago

Windows 7 Ultimate x86 Russian Tried booting up a different Win 7 ISO, still doesn't work

hfiref0x commented 5 years ago

Can you attach your vm configuration file? vm0.vbox

skidunion commented 5 years ago

vm0.zip

hfiref0x commented 5 years ago

SHA256 a8aa52800e3e81037814a85dd6b609dd3c4bf688f9fb31c21708af06e91322e8 ACPI-DSDT.bin e243a60055057dbbd9a71f8968bf663875f45b81e2e37fe751f1b72db3d63fa2 ACPI-SSDT1.bin c4ed5201e90472eb59a18082fb0cafbf537d2178a80e3ba6057c8e37f56bce34 pcbios.bin 4e01f7906ad056ee591920d086102e3e2e928f1168a2b15a56538925cdd370b3 pxerom.bin 44b3658586c406522b3f13d2ed8a44b3165d9b4a99d8620226bc66613515d8b4 *videorom.bin

Correct?

skidunion commented 5 years ago

Hashes are different. What version of loader are you using? I'm using 1.9.0 as my version of VBox is 5.2.x

hfiref0x commented 5 years ago

This is from current github version. It does work for 6.0+.

skidunion commented 5 years ago

The same error was on 6.X Switched to 5.2.x to see if it works here Going to try it on 6.x now

hfiref0x commented 5 years ago

Also can you share hash of your Windows ISO. I was trying to import your vm configuration and it is 32 bit, and I don't have any of x86-32 windows iso's.

Edit: I was able to reproduce this A5 BSOD trying to install Windows XP.

Try to disable the following lines in configuration file

%vboxman% setextradata "%1" "VBoxInternal/Devices/acpi/0/Config/DsdtFilePath" "%vmscfgdir%ACPI-DSDT.bin" %vboxman% setextradata "%1" "VBoxInternal/Devices/acpi/0/Config/SsdtFilePath" "%vmscfgdir%ACPI-SSDT1.bin"

and then run this script again for vm0.

This will tell VBox to use default data instead. In my tests here, as soon as I change type of VM from Windows 7 32 bit to Windows 7 64 bit and give this VM Win7 x64 ISO it runs well up to installation dialog. This need more investigation.

skidunion commented 5 years ago

Didn't work on 6.0.10 Tsugumi driver is loaded, also started loader.exe

Logs/VM config: Logs.zip

CRC32: 79F34173 MD5: 58BCA52BB98FBF17295E571DF2CCABBC SHA-1: 65F13D79C4C6260B83F74C764DFDCE14C2AC2634

Edit: Removing config entries worked image

hfiref0x commented 5 years ago

Without this ACPI tables patch VBox signatures will still be accessible for programs inside that VM (this detection is known as "firmware check"). So this need more investigation.

hfiref0x commented 5 years ago

The root of this problem is ACPI SSDT table (CRC byte). This will be fixed in the next update (additionally with support of VBox 6.0.10).