chenall / grub4dos

外部命令和工具源码:https://github.com/chenall/grubutils 下载:
http://grub4dos.chenall.net
GNU General Public License v2.0
630 stars 132 forks source link

Request: be able to patch ACPI tables? #194

Open toddfraser88 opened 5 years ago

toddfraser88 commented 5 years ago

can you add a feature to be able to patch ACPI tables? before loading OS?

I'd like to replace DSDT table to resolve WindowsXP A5 BSOD

steve6375 commented 5 years ago

grub2 uses the acpi command to load a DSDT .aml table file. Can a simplified form of this be added to grub4dos? image

yaya2007 commented 5 years ago

Can't solve the problem by setting bios? Looking at grub2's code for acpi, Complicated, large amount of code. It seems unnecessary.

yaya2007 commented 5 years ago

What do you want to modify the DSDT? Can you give an example?

toddfraser88 commented 5 years ago

Replacing the DSDT table using grub would be safer than a BIOS mod, no risk of bricking your system.

This feature would be useful for re-implementing ACPI support for older OSes like Windows XP on newer hardware like AMD Ryzen.

steve6375 commented 5 years ago

Do you know if using the acpi command to load a DSDT table definitely works when using grub2? If grub2 does not work then there is little point in doing a lot of work!

toddfraser88 commented 5 years ago

I think it works - i'm not 100% sure though I boot Easy2Boot (grub4dos) I then boot E2B beta grub2.imgPTN drop to grub2 console acpi --load-only /ab35g4.aml back to Easy2boot (grub4dos) boot Windowsxp.iso No more A5 BSOD - but freezes on "Setup is starting windows"

steve6375 commented 5 years ago

Please post on reboot.pro, not here.

yaya2007 commented 5 years ago

What file is ab35g4.aml? Can you upload it?

toddfraser88 commented 5 years ago

Its the DSDT table of my motherboard - asrock AB350 gaming k4

you can use iasl compiler to disassemble to see the code https://www.acpica.org/downloads/binary-tools ab35g4.zip

yaya2007 commented 5 years ago

"acpi --load-only /ab35g4.aml" There are grammatical errors. Grub2 will not open ab35g4.aml, unable to load files . The correct way of writing is : acpi --load-only= /ab35g4.aml

See post: Windows XP or Server 2003 setup might fail with an error message such as: "An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c"

Try this grldr. Execute on the command line, See how much FACP is ahead of schedule. debug=3 acpi --early-facp

Then start xp, whether to resolve. grldr.rar.txt

toddfraser88 commented 5 years ago

I have managed to get ACPI tables to load using grub2

did you still want me to try that grldr?

yaya2007 commented 5 years ago

yes