Prevent Windows 10 installer from using the preinstalled serial key without disabling UEFI
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:
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?
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 withEI.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
orTXT
.
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.
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.
First of all, make sure you have a regular (single-architecture) Windows ISO. It seems you already have that covered.
Then, try this method:
- Create a Setup USB drive
-
Create a file named
PID.txt
in theSources
directory, with the following contents:[PID] Value=YOURK-EYGOE-SHERE-XXXXX-XXXXX
Boot from this USB drive
First of all if you download Windows 10 using media creation tool it contains 3 editions: Pro, Home and Education. Windows automatically chooses one according to your serial key in BIOS or already installed Windows OS. You can force it to let you choose what you want to install by creating one file on your installation disc/USB drive.
Create ei.cfg
file in sources
directory on installation disc/USB drive, open it in any text editor (for example notepad) and paste this:
[Channel]
Retail
Result:
IMHO this solution is better because you are not limited to one serial key and you can have both 32 and 64 bit systems. Media creation tool allows you to download both as one installer. So you end up with 6 editions to select. :)