Windows 10 Installer – Prevent Using Preinstalled Serial Key Without Disabling UEFI

installeruefiwindows

My laptop (a Lenovo Flex 2 15) came preinstalled with Windows 8 Standard (with the serial key preinstalled into the BIOS), and I've since installed an SSD (a Samsung Evo 840 120GB) & upgraded to Windows 10.

When the laptop still had its hard drive, I upgraded it to Professional so I could use the resources provided by the domain on my homeserver; because of this, I can only use the Professional editions of Windows (Home can't join domains).

I bought Windows 10 Professional & completed a fresh-install (complete reinstallation) of Windows, only that it installed Windows 10 Home instead of Professional. I'm guessing this is due to the Windows 8 Standard Edition serial key preinstalled in the BIOS.

I then downloaded an All-In-One ISO image of Windows 10 from MSDN (of which I have limited access to), transferred the installer onto a USB stick, & reinstalled (a clean install again). However it's still installing Windows 10 Home.

If I try to install using the AIO image from within Windows, the installer does not present me with a list of options for the edition I want to install; instead, it assumes that I want to install Home Edition:

enter image description here

I am able to get Windows 10 Professional to install if I disable UEFI & use Legacy instead, but I feel that this is stepping around the issue rather than resolving it.

Is it possible to have the Windows 10 installer ignore any serial keys preinstalled in the BIOS/UEFI? If so, how? If not, is using Legacy mode really the only way around this?

Best Answer

I can confirm the EI.cfg method is still working as of today (Dec 7, 2020) with both the Media Creation Tool (MCT) and ISO media.

Both ISO and MCT are now multi-edition and you can't download an edition-specific installer.

This creates a problem due to the installer assuming the ACPI/bios embedded license/edition is the one that should be installed (instead of giving the user a choice).

Microsoft support actually recommended in this case that I disable UEFI/GPT and go back to Legacy BIOS/MBR. That will work (prevents installer from "seeing" the OEM license in ACPI)...but it is a hack working around a broken installer.

The installer shouldn't assume. If the Edition is not configured in the image, the installer should present the user with an edition selection. For nice experience, perhaps highlight which of the available editions are covered under their detected digital license. Heck even if their detected digital license did not cover ANY of the editions, that could still be stated.

This would be nice:

We detected an OEM license for ____. This allows you to install ___ or ___ or ___. Unfortunately this install media does not include any of those editions. If you proceed to install one of the following editions, you will need to provide a new license key before you can activate windows. What would you like to install? ___, ____, ____, ____ or quit.

Current experience sucks for non-technical users trying to do a simple clean install.

Fortunately with EI.cfg it isn't that bad...once you figure out that is what you need to do. How many frustrating clean install cycles getting the wrong OS and hours of googling before you figure out what is going wrong?

Inspect the Editions in your Installer

If you have created a bootable USB using MCT (or other method) you can inspect what is included in the image like so...

C:\Windows>Dism /Get-ImageInfo /imagefile:D:\sources\install.esd

Deployment Image Servicing and Management tool
Version: 10.0.18362.1

Details for image : D:\sources\install.esd

Index : 1
Name : Windows 10 Home
Description : Windows 10 Home
Size : 15,496,272,979 bytes

Index : 2
Name : Windows 10 Home N
Description : Windows 10 Home N
Size : 14,709,899,819 bytes

Index : 3
Name : Windows 10 Home Single Language
Description : Windows 10 Home Single Language
Size : 15,463,621,876 bytes

Index : 4
Name : Windows 10 Education
Description : Windows 10 Education
Size : 15,710,651,056 bytes

Index : 5
Name : Windows 10 Education N
Description : Windows 10 Education N
Size : 14,961,039,669 bytes

Index : 6
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 15,743,641,051 bytes

Index : 7
Name : Windows 10 Pro N
Description : Windows 10 Pro N
Size : 14,964,257,001 bytes

The operation completed successfully.

Depending on your image, you may need to replace install.esd with install.wim

So you can see that the USB installer contains a bunch of different editions, including the missing/hidden "N" versions.

To inspect a specific edition, you can provide further options.

C:\Windows>Dism /Get-ImageInfo /imagefile:D:\sources\install.esd /Index:7

Deployment Image Servicing and Management tool
Version: 10.0.18362.1

Details for image : D:\sources\install.esd

Index : 7
Name : Windows 10 Pro N
Description : Windows 10 Pro N
Size : 14,964,257,001 bytes
WIM Bootable : No
Architecture : x64
Hal : acpiapic
Version : 10.0.19041
ServicePack Build : 572
ServicePack Level : 0
Edition : ProfessionalN
Installation : Client
ProductType : WinNT
ProductSuite : Terminal Server
System Root : WINDOWS
Directories : 23194
Files : 91412
Created : 10/9/2020 - 9:58:09 PM
Modified : 12/7/2020 - 8:30:55 PM
Languages :
        en-US (Default)
The operation completed successfully.

This gives us the EditionID we need for the EI.cfg file (e.g. ProfessionalN in this example).

Create EI.cfg

I wanted Win 10 Pro "N" edition, so I created an EI.cfg in notepad with the following contents.

[EditionID]
ProfessionalN
[Channel]
Retail
[VL]
0

I have an extra newline at the end (after the 0), but don't know if it matters. Of course if you want a different edition you can confirm the exact EditionID from your install media using the commands I illustrated above.

Note when you go to save this...

  • save it in the sources directory inside your installation media (ie your bootable usb stick)
  • when saving in notepad, make sure to change from "txt" to "all files" otherwise notepad will add a .txt and you will end up with EI.cfg.txt which the installer will ignore.
  • verify you saved the file as the right type by looking at the file in Explorer and seeing if the file type column is CFG or TXT.

Downloading ISO From Windows

Microsoft "helpfully" won't let you download the ISO if you are on windows and won't let you download the MCT exe if they think you aren't on windows.

If you are getting redirected from the /windows10 to /windows10ISO or vice-versa, you can just open up your browser developer tools and using the "responsive" tools (which let you alter your User-Agent string) pretend your browser is (or isn't) Windows in order to get the ISO or MCT download page.

DevTools Responsive User-Agent Hack

Make a bootable Win10 USB from ISO

Just in case you have the right edition laying around in ISO form and don't want to mess with the EI.cfg solution.

If you have a Windows 10 ISO you can also create bootable USB media using the Windows USB/DVD Download Tool. Useful if you happen to have an edition-specific ISO laying around. Also with windows 10 you can't just dd an ISO onto a USB stick because the install files are now over the limit for FAT filesystem...so you have to use a special tool to convert new Windows ISOs for bootable USB.

Related Question