I am a newbie on this forum, just registered here to share my experience with SVP13 BIOS modding. I'll start with a little background here: last month I got some Samsung SM961 M.2 NVMe SSD. Decided to use it as an upgrade for my Vaio Pro 13 since it is my main PC at the moment. Needless to say it was impossible for me to check if it works with my VAIO so I just took my chances and bought the drive. And when the time came to open the laptop to replace the SSD it appeared it was impossible to boot Windows from new drive.
So my goal was to somehow make it work =)
I noticed that Windows setup launched from USB drive DOES see the disk and successfully copies files to it, but after reboot nothing happens. So the situation was not that bad—at least the device is detected by hardware which means the missing part should be software. My guess was it is the EFI driver for NVMe that is missing. I pulled NVMExpressDXE-64.efi from Clover bootloader image and fired up EFI Shell to check how it works. As expected, SM961 was not visible from there. I then loaded the driver manually and then it detected my SSD with all its partitions. Yay! The only thing left was to make it permanent, i.e. put the driver module in the ROM image so that system (BIOS) could load it automatically at startup.
After quick googling I found some instructions for enabling NVM Express SSD support on AMI BIOSes. Which is exactly what I needed :)
The difficult part was to flash the modified image (preferably without botching up the entire system :). Sony does not provide an actual tool to update the BIOS—only the one that comes with BIOS update package, but I could not get that one to work. Downloaded AMI BIOS tools from here and found a version of AFUWINGUI utility that successfully reads the flash and writes the factory images provided by Sony. Now here's a problem—it cannot burn the modified image because of Secure Flash failure. So I ended up using AFUDOS v3.04 which supports /GAN switch that overrides Secure Flash checks.
First time I ended up flashing slightly wrong image that overwritten some factory data such as Model Number, Serial Number etc. Nevertheless I was actually able to boot from SM961! Yipee!! And after all, it's a good thing I made a backup before burning the image :D so I managed to build the correct image to restore the factory data.
Long story short, here is what I did: 1. Read BIOS image from flash using AFUWINGUI, save it to ROM file. 2. Modify the image with MMTool following this guide. I added the first version of NVMExpressDXE.ffs (uncompressed one) that the author recommends using. 3. Save it to ROM file and flash it with AFUDOS 3.04. (Don't be confused with that Supermicro website—the archive with Supermicro BIOS image contains the required version of AFUDOS). I used the following command:
afudos nvme.rom /P /GAN
Not sure if /P switch is needed but anyway—it worked for me. Please note this command overwrites the ENTIRE flash so be careful. I noticed AFUWINGUI can write separate regions of flash without touching other areas, but as I said before, it did not work for me. Not sure if it is a side effect of /GAN switch or just the way AFUDOS works. 4. Done! Your Vaio now supports NVMe boot.
Big thanks goes to @Fernando for the NVMe BIOS modding guide and of course to @e.v.o whose posts gave me the courage to try this mod :D Honestly I was afraid of bricking the laptop but after reading this thread I decided to give it a try.
@e.v.o I remember you mentioned using AFUWIN v4.05 but I could not find this one anywhere. It would be very helpful if you could share the link or upload it anywhere—it is much faster and simpler to use than AFUDOS. I mean you don't need to make bootable USB stick with DOS and all that stuff… :) But thanks anyway for this thread. Hope you succeed in your research of unlocking hidden BIOS features :)
P.S. This post sure does not look like a complete guide but I hope it will be useful for someone. Questions and suggestions are welcome of course! Also, I hope anyone who tries to follow the steps described here knows what he/she is doing. In other words, USE AT YOUR OWN RISK :) I am not responsible for any damage to your system caused by flashing custom BIOS etc.
@ pcfist Thanks for the guide.
Which model vaio pro 13 do you use? I can't NVMe BIOS modding. It gives the following error. "Invalid UEFI Volume"
Where am i making mistakes?
After you get my bios backup. I'm doing them, respectively.
Just skip all this stuff about extracting a driver from othe motherboard’s ROM, start from step #11. In short:
1. Open your BIOS snapshot in MMTool 2. Click any module that contains “Dxe” in its name 3. On the “Insert” tab click “Browse” and select your NVMe driver file (with ffs extension) 4. Click "Insert" 5. Click “Save image as…” to save the modified image 6. Done! Next step is to flash the image.
Please make sure that the BIOS image you are modifying is an actual snapshop of BIOS taken from your laptop with AFUWIN, not the image downloaded from Sony website. The ones from Sony are not complete images and if you flash them you can lose important info like serial number etc. and probably even brick your PC!
@pcfist : Thank you for your tutorial, but as far as I understood tezcan34 his problem was not how to get the BIOS modified (by the way: It doesn’t matter, whether it is done with CodeRush’s UEFITool or with AMI’s Aptio UEFI MMTool). tezcan34’s problem is, that he doesn’t know how to get the modified BIOS properly flashed into the BIOS chip of his Sony Vaio system.
I understand it does not make any difference which utility one uses to make modifications to the ROM, but as far as I understood tezcan34’s problem is this:
So it is clear he is unable to insert the NVMe module into BIOS ROM. I only recommended MMTool since that is what I used to create the customized ROM and it worked for me, and I have never used UEFITool so I cannot say much about it. Maybe the version tezcan34 is using is not compatible with SVP13’s BIOS—I recall that in case of MMTool there are different versions that work with different versions of AMI BIOS. But I think you have much more experience with this than me (:
Anyway, let’s wait for tezcan34’s reply and see if it solves the problem for him.
Unfortunately I could not download your ROM, Mega just asks me for file password/key. Looks like your link is missing the key.
My BIOS version is different—R1045V7, but I doubt it has something to do with your problem.
BTW which version of NVMExpressDxe are your using? Just checked the BIOS NVMe Modding Guide page I referred to and it appears there are 3 different versions of that file. this is what I found out: there are
Looks familiar, doesn’t it? (: So I think it’s a good idea to try inserting different versions of NVMe driver and check if the error persists.
P.S. I see that page was last updated in February, and at the time I modded my BIOS (it was November I guess) I actually looked different. It did not have references to UEFITool (used MMTool instead) and I recall the NvmExpressDxe files were also different. I guess the older file was smaller in size, that is why I did not encounter this problem you are having. If it does not work, I can upload the older version for you or maybe you can find the link to it somewhere in that forum thread.
Could you send me your ROM and moded ROM? Also, I tried all versions. (uncompressed NvmExpressDxE_2 / pre-compressed NvmExpressDxE_2 / “pure” NvmExpressDxE_2 module without GUID header) But, I get the same error.
Thanks for fixing the link. I downloaded the file and it looks like it is not your BIOS image, just a factory image you got from Sony website. Am I right? If yes, then this is not going to work. In the best case you will f*ck up your VAIO’s internal data like I did when I flashed the wrong image. I was lucky and got away with it, but I really DO NOT RECOMMEND trying this at home. Instead please make a full image of your BIOS flash with AFUWINGUI and then modify it with MMTool/UEFITool. I think I described it in my first post. If you have any questions, please let me know.
Apart from that, it looks like I can successfully insert the NVMe ROM in you image. In does not give me that error. BTW what MMTool version are you using? Mine is 4.50.023 and it seems to work just fine with your file. I tried inserting both compressed and uncompressed files and got no errors.
P.S. Just tried UEFITool and it also works OK for me with your image… very strange.
Hello everybody! I read some article about edit bios and i use this for add a NVMe support SSD. But if i want flash that didn´t work because security flash can´t enter me . I try command like /gan via version afudos 3.04. i try ver. 2.20 successful flash but without any change. I try newest version of afudos but still i have that problem. I don´t know if I must have some else NVMe driver or I don´t know I try unlock advanced menu via this but i dont know what does it mean “IDA”. I read post in here but it didn´t work for me,so I try delete sony security flash and i flash this rom and now afudos speak me:“46 - error problem getting flash information” with any command Here is link for o(original rom)onvme(original with nvme) and last rom without sony secure flash link
sir I badly need your help! I’m a newbie when it comes to bios modding. Can you guide me on how you have manage to successfully mode your sony vaio pro? I have a sony vaio pro 11. I hope you could guide me on doing this
Hello, i have an Vaio Pro svp132A1CM, with 128Gb ssd and decided to upgrade to 512Gb ssd so i buy an Samsung NVMe 960 evo M2 of course believing that will work, but it seems it’s not. I read the topics from this website and try to modd the Bios but to my shame i did not succeeded. So i will be very grateful if someone that did it will help me. If someone is willing to do it please let me know. Best regards.
Thank you pcfist and Fernado for your information. At last my Sony Vaio pro13 work with NVME. I stick to pcfist guide using MMTool and add "NvmExpressDxe_4" module on COREDXE. At last need to use command "afudos nvme.rom /P /GAN" in dos mode.
i have found "experimental" function in UBU_v1_70 that produces a file called BIOSLock_str.txt , in my case it shows BIOS Lock VarOffset - 0x7E … i tried to use this offset value to unlock bios Grub EFI shell but i didnt notice any changes - all locked regions stay locked anyway, can someone explain why?