UEFI3.0 -> no CSM on Acer Nitro 5

Hello,

first off - I do not know if I am putting this in the right section. I hope I am. Anyway.

I brought a new gaming PC for my father as a gift (Acer Nitro 5 model AN515-42-R6P2). It has Windows 10 Home preinstalled.
Since Windows 10 is cancer, we wanted to put Windows 7 64-bit Ultimate into it.

I have an Win7 64-bit Ultimate flash drive in Czech; as bootable under UEFI; with USB3.0 and NVME drivers slipstreamed into it.

The thing is, that even an UEFI bootable Win7 needs CSM, because it’s installer’s graphical driver (and fall-back driver after install) need it.

The problem is that the laptop conforms to the UEFI3.0 standard, which has CSM removed as far as I can tell from the internet.
At this point after hundreds of hours and over a 1k posts on the internet (not a single one leading here… 99% of them just being “turn on CSM and it is going to work”. How I hate searching with Google)
I came here to ask if it is possible to mod an UEFI3.0 bios to add CSM support, or install Win7 on that thing. Poor father, his laptop died and this was supposed to be a Christmas gift. :frowning:

I have a 5 year warranty so I would wish not to break it (which using a modded bios maybe does? I do not know. :frowning: ), as I have payed extra to have it extended from 2 years. Even though I do have an 1 year extra warranty for user’s fault (i.e. the laptop falling down and breaking… it might have bricking in it, maybe! :D) and being stolen.

Thank you for your patience reading this. I lost hope already though. :frowning:

Templayer

@Templayer - Can you see the two bolded options in the BIOS anywhere, I think it’s in boot section (sorry, forgot and closed file already)

One Of: Boot Mode:, VarStoreInfo (VarOffset/VarName): 0x79, VarStore: 0x1234, QuestionId: 0xA015, Size: 1, Min: 0x1, Max 0x2, Step: 0x0 {05 91 25 00 26 00 15 A0 34 12 79 00 04 10 01 02 00}
One Of Option: UEFI, Value (8 bit): 0x2 (default) {09 07 8E 01 10 00 02}
Suppress If {0A 82}
QuestionId: 0x7 equals value 0x0 {12 06 07 00 00 00}
One Of Option: Legacy, Value (8 bit): 0x1 {09 07 8F 01 00 00 01}

One Of: Secure Boot:, VarStoreInfo (VarOffset/VarName): 0x228, VarStore: 0x1234, QuestionId: 0xAE20, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 75 01 76 01 20 AE 34 12 28 02 04 10 00 01 00}
One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 07 20 00 10 00 01}
One Of Option: Disabled, Value (8 bit): 0x0 {09 07 1F 00 00 00 00}

If yes, can you set Legacy on top one, and then disabled on bottom one, then test again. If you cannot see those two options let me know, I can help you change via grub using setup_var
Looks like “Legacy” may be hidden from you. I can unlock in mod BIOS, but you’d need a flash programmer to program it in (and that means opening the bottom of the laptop up)
But, we can change this setting even if hidden from you, I’ll show you how once you reply back with more info.

Leaving below for information for us to use later so I don’t have to dig it out later (We’ll set yors to Full instead of "View Only"


One Of: User Access Level, VarStoreInfo (VarOffset/VarName): 0x80, VarStore: 0x1234, QuestionId: 0x5, Size: 1, Min: 0x2, Max 0x4, Step: 0x0 {05 91 35 00 36 00 05 00 34 12 80 00 00 10 02 04 00}
0x35828 One Of Option: View Only, Value (8 bit): 0x2 (default) {09 07 37 00 10 00 02}
0x3582F One Of Option: Limited, Value (8 bit): 0x3 {09 07 38 00 00 00 03}
0x35836 One Of Option: Full, Value (8 bit): 0x4 {09 07 39 00 00 00 04}

Secure mode is disabled of course, and there is no legacy mode. Boot only shows one bold option - UEFI.

Are you sure those are the right specs? I know that UEFI 3.0 doesn’t have CSM, but I do not know if it has Legacy Bios or not, but logic would dictate it doesn’t, right?

EDIT: Here a guy has the same problem and also the same type of a laptop (Acer Nitro 5) and had the bios photographed: https://community.acer.com/en/discussion/552208/nitro-5-an515-52-55qn-uefi-boot-problem

Underneath someone said:

Thanks! Yes, they are trying to phase out legacy, but we may still be able to enable on this one since it’s in the BIOS, but only you can find out
Secure boot mode can’t be enabled when boot mode is legacy, but since you can disable secure mode and I can either unhide legacy mode for you, or show you how to switch to it without BIOS mod, it may still work. Unsure what that means without a CSM mode though
Tonight when I get back I will write out info for you to change those settings without a BIOS mod. You have the system in your possession still correct?

Yes, it’s sitting on my desk.

I hope I will be able to do so without screwing the warranty. I.e. physically opening it. As long as I don’t have to open up the case physically, since I have an one year “special warranty” for damage caused by user, in which I believe bricking the laptop due to wrong bios flashing or such is a part of. :slight_smile:

Thanks for trying to help me.

The laptop cost me 35 000,- CZK in total (divide by about ~25 to get American dollars) so it was quite a disappointment to find out that I would essentially be forced to either use Win8 or Win10, or return it. :frowning:
I was thinking about not buying the second most pricey laptop with an AMD CPU, buying instead the third (which was a bit older and thus probably did have Legacy Bios or CSM), but I wanted him to have a top notch gaming PC. ;-(
He cannot work, so the last ~20 years he didn’t and couldn’t afford decent laptops, instead having garbage-tiers of laptops. Giving him a computer with Win10 (which we both hate to our cores), i.e. garbage; is a nightmare. :frowning:

@Templayer - I cannot promise you what will happen with mod BIOS, but if we test the changes first via this other method, and it works, you can leave them like that and will only have to redo it again if he ever updates the BIOS.
If the setting change fails, and you can’t load disk, we simply redo the edit again and put back stock value.

Win7 can boot UEFI too, but you have to install to GPT partition. And yes, I understand, I hate Win8-10 too, so I know your pain!

Here is my guide on using Grub / Setup_var, this was written for another purpose, but read it over to get general idea on how to use.
[GUIDE] Grub Fix Intel FPT Error 368 - BIOS Lock Asus/Other Mod BIOS Flash

Since it appears your BIOS does not have exit to shell or launch shell etc on the “Exit” page of the BIOS, you will have to use this Alt boot to grub method when no boot to EFI on exit page
[Help needed] Hidden Advanced menu Bios HP Z1 J52_0274.BIN (2)

If you do see something similar on your BIOS exit page, please go to/select that setting or hover it, and see if you see anything popup/mentioned in the test help area for what .efi file it’s looking for (If not, do as above in secondary link method)

Once you get to grub prompt, type the following commands one at a time, be careful and exact, double-check it’s correct before you hit enter each time
Setup_var 0x79 0x1
Setup_var 0x80 0x4

Added from below finding, in case you cannot see “Fast Boot” option to list above
Setup_Var 0x22D 0x0

Once done, reboot to BIOS and see if you see new settings anywhere (unrelated to the legacy setting, but you might find it). Then you can try to continue with Win7 setup in Legacy mode

If no luck, then here is how to set those back to default (you can leave the 0x80 one at 0x4 if you want, it should be giving your more BIOS options and more changeable options

Setup_var 0x79 0x2
Setup_var 0x80 0x2
Setup_Var 0x22D 0x1


This one probably needs disabled too, unsure if you can see “Fast Boot” option in your BIOS?
One Of: Fast Boot:, VarStoreInfo (VarOffset/VarName): 0x22D, VarStore: 0x1234, QuestionId: 0x3, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 51 01 52 01 03 00 34 12 2D 02 00 10 00 01 00}
One Of Option: Disabled, Value (8 bit): 0x0 {09 07 1F 00 00 00 00}
One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 07 20 00 10 00 01}

I checked the BIOS to see what kind of vBIOS modules was there, and I see 4 different AMD orom (legacy) vBIOS, so you should be able to boot legacy video
2 - Video OnBoard
EFI AMD GOP Driver - 2.1.0.0.0_signed << EFI >> 2.1.0.0.0_signed
OROM VBIOS Raven - 016.002.000.004.000000 << Legacy >> RAVEN-103/RAVEN PCI Express DDR3 - ATOMBIOSBK-AMD VER016.002.000.004.000000
FFS-OROM VBIOS Unknown - 015.049.000.017.032953 << Legacy >> POLARIS24 / PCI Express Acer Metapod Polaris24 XT GDDR5 - ATOMBIOSBK-AMD VER015.049.000.017.032953
FFS-OROM VBIOS Unknown - 015.050.002.001.028243 << Legacy >> LEXAM/ PCI Exprress Acer Metapod LexaM-XL GDDR5 - ATOMBIOSBK-AMD VER015.050.002.001.028243
FFS-OROM VBIOS Unknown - 015.050.002.001.033170 < Legacy >> POLARIS21 / PCI Express Acer Freed Polaris21-XT GDDR5 - ATOMBIOSBK-AMD VER015.050.002.001.033170


See also this if we make no progress, about disabling VGA.sys for Win7 UEFI Mode
http://reboot.pro/topic/21108-install-wi…l-gop-hardware/

And
https://www.sevenforums.com/tutorials/18…indows-7-a.html

Yesterday I wasn’t able to reply to that - I will try it when I have time (tonight or the weekend, probably). Thanks again.

So I tried to get to the grub and use setup_var for an hour now. I cannot seem to get a grub that knows that command.

The link given ( https://www.win-raid.com/t3908f16-GUIDE-Grub-Fix-Intel-FPT-Error-BIOS-Lock-Asus-Other-Mod-BIOS-Flash.html ) in the very first post, you are saying: “EFI Shell boot64.efi file - attached below, rename to Shell.efi for this specific Asus board, BIOS tells you in hover/hint on “Launch EFI Shell” what file name it expects.” <- Couldn’t find any link underneath it that would lead to it, and the only attachment to that post is the file “EFI-Setup-FPT-Universal-IFR-Extractor.zip” that DOES have an EFI grub inside, but it doesn’t know the Setup_var command.

:frowning:

EDIT: Setup_var didn’t work, but setup_var does. And the first variable is by default set to what you were saying. But if I try to set it to 0x01, I get an 0x0000 lots of zeroes 0008 error. :frowning: :frowning: :frowning:

EDIT 2: Found this:

"try use H2OUVE (https://www.sendspace.com/file/6r296l)

step #1
run cmd as admin
in cmd run H2OUVE.exe -gv vars.txt

step #2
search "Setup"
edit vars.txt

step #3
run cmd as admin
in cmd run H2OUVE.exe -sv vars.txt (new vars.txt)"

Might give it a try after I get inside Win10. :frowning:

File is attached to the guide you linked, please look at bottom of post for attached grub file, Yes it’s inside that package.

Those are what you want to change to, first one can’t be already that as you mentioned, otherwise legacy is already enabled.
setup_var 0x79 0x1
setup_var 0x80 0x4

Sorry if capital “S” causes command failure, I was not aware of that?

Any error mentioned, you’d have to show me image of that and command entered showing above that, or I can’t be sure or advise what to try next etc.
You may need to use another grub instead and different command, but I have to see the error first before I could advise further.

Yes, maybe also done by H2OUVE - here is all versions, since you may need to try more than one - https://github.com/mikebdp2/Insider_BIOS_Tools

I meant it differently - the vars are at default values that you have mentioned, not the one I am supposed to set them to:
0x79 0x2
0x80 0x2
0x22D 0x1

Trying to set 0x79 to 0x1 produces that error. I do not have a mobile phone or any way to screenshot it currently. Here’s the thread I got the H20UVE from - https://www.bios-mods.com/forum/archive/index.php?thread-28842-2.html

@Templayer - Yes, I knew they would be at the defaults I mentioned, I pulled that info directly from the BIOS default settings module.

H2OUVE link I gave above has all versions, unsure about the download you are linking, just grab them from my link in case you need to try more than one version before you find one that works (if any)

For the error, you can use a camera if you have one. If not, lets go ahead and try these others and see if better outcome.
First, did you try the other variables too, all give error, or you only tried that first one 0x79?

Here is two other modified grubs, rename them the same way as the one you are using now and replace it (Testing one of these at a time)
http://s000.tinyupload.com/index.php?fil…140947691974127

One uses >> setup_var2 command instead of setup_var
Other uses >> setup_var3

Want to set all three like this, using var2 or var3 instead, that only works with the above linked new modified grub files.
setup_var 0x79 0x1
setup_var 0x80 0x4
setup_var 0x22D 0x0

Try same exact variables, but using setup_var2 or setup_var3 depending on which one you are using. Both are designed to get around issues like this, but I can’t see your error so don’t know if it’s exact ones they are meant to get around.
If it’s same exact error as shown in your link above to BIOS-mods thread, then unsure if these get around that one or not, have to try and see.

If not, hopefully you can get vars.txt from H2OUVE, otherwise you will only have one option and that is for me to modify the BIOS for you, which may present it’s own issues trying to use (Often hard to flash mod BIOS, depending on board)

I was hoping to do that today, but I was too depressed to do it. :-/

I don’t have a camera, the error was a 0x … lots of zeroes with an 8 at the end. From what I could google up, it is some sort of retarded bios protection. (I have secure boot turned off, of course)
You know, just in the case someone breaks into your house, gets to your PC and wants to change some variables on your bios. While you are bleeding out from a gunshot.

“The one that is willing to sacrifice freedom for safety will have neither.” ← I wish the imbeciles that thought of UEFI3.0 and Win10 devs knew that.

I will try next time I have a free day from work (so probably in a month or so), otherwise I would seriously have to find the main person responsible and kill him.

“otherwise you will only have one option and that is for me to modify the BIOS for you, which may present it’s own issues trying to use (Often hard to flash mod BIOS, depending on board)” ← does that need me to open the PC up, or it is just flashing a firmware? Because if that is the case, it would be better money-wise for me to return the laptop and buy a cheaper older one. (almost 10k CZK will be lost if I have to open it up (divide by 20 to get dollars) just for what I have payed for to raise the warranty time).

I think that’s same as the image shown on the page ou linked, don’t worry about getting an image it’s OK

No, for you to flash mod BIOS you don’t need to open anything up, unless it goes badly and you needed to recovery. Main thing will be trying to find a working method to flash modified BIOS, or you trying a bunch of modified flash files I edit from the stock package, to get it to allow modified BIOS.
Since it’s AMD, theres a lot of things we’d have to try probably before we found working method, it’s not as easy as Intel to flash in a mod BIOS. We could get there though, I’m sure!

But, I also think we’ll be able to change these things you’ve been trying either with the var2/var3 grub, or via H2OUVE, so BIOS mod probably not needed

Tried what you sent me. At first I was like “heureka” when the setup_var2 worked on 0x79, but it was a hoax. It detected two variables, and was able to set one up and not the other, and didn’t produce an error while doing so. Doesn’t do that for the rest of them. Since that should be the boot option, I checked bios and it is still UEFI only.

The other grub that should have setup_var3 does’t. It only does setup_var2. Tried several options (like Setup_var3 and such), rechecked if I am really using the one you gave me in the setup_var3 folder in the 7z file.

No matter what I do, it’s 0x000000000000008 error for me (I wonder if I hit the number of zeroes… there are way too many for me to be able to count them without losing the count visually, I have 4 dioptries).

@Templayer - The one with setup_var3 should allow setup_var3 for sure, it’s 5.2MB correct? Here’s the source link if you want to redownload that file from source
https://github.com/datasone/grub-mod-setup_var/releases

Info
https://github.com/datasone/grub-mod-setup_var

var3 should get you around the issue you mentioned with 0x79, so hopefully you can get it to work, that’s the exact reason it was created
You said setup_var2 didn’t give you error for the rest of the settings, so that means it works for the others, just not 0x79 so far correct?

I lost my previous message due to forum giving me an 500 Internal Server error when replying. Each time. I had to wait a few days for it to go away.

From your Info link the command isn’t setup_var3 but setup_var_3 (written in several places).

The second statement is incorrect - all of them didn’t work, but only the first one said that it did work, but in reality it found two variables, managed to change one, failing to change the other and then it thought of it as a full success for some reason. To reiterate - all of them fail, only in the one case it “fails silently”.

A few days? Sometimes server is down, but usually only for a few minutes. However, I am not here often in the day/afternoon, so maybe I miss longer down times? @Fernando - this isn’t ever extended periods of downtime correct?

Thanks for the heads up on var_3, I never noticed until you mentioned! So, did the var_3 work or fail too?

For the one that shows you two, the second one it gives is the real variable’s value, so if you see your set value there then it’s changed.

It didn’t work for about an hour, which is the same for me as it not working for a day so I said to myself I will try another day, and then I forgot.

Anyway, didn’t try var 3 yet, but I don’t thing the real value has been set for 0x79. Because that is UEFI -> Legacy Bios, and I would see the result of that in Bios or during startup. Because the EFI grub wouldn’t run under Legacy Bios. I really should be trying to edit that value last. :wink:

A downtime of this Forum is very uncommon and I cannot even remember, that this Forum has not been accessable for several days.
In the afternoon of last Thursday (02/07/2019) beginning at 05:00 pm CET there was a DDOS attack onto one of the Xobor servers with the effect, that our Forum was only periodically accessable, but this problem had been solved at 08:00 pm CET of the same day (02/07/2019).

So I have used the OUVEwhatever thing, and this is the list of variables I got from it:

https://mega.nz/#!98xDiYjT!kWQbrqysUnymY…1L-7Ad27y3BnCDQ

I don’t really know what to change. But my guess is that is it not a full list of variables. With my usual luck, that is. :frowning: