Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save thewh1teagle/e03abfdf1ce5545cbf024053ac3285e1 to your computer and use it in GitHub Desktop.
Save thewh1teagle/e03abfdf1ce5545cbf024053ac3285e1 to your computer and use it in GitHub Desktop.
windows 10 windows 11 unrestricted setup for vm.md

https://www.mail-archive.com/qemu-discuss@nongnu.org/msg07008.html
https://archive.is/k7tBO
https://web.archive.org/web/20220616055609/https://www.mail-archive.com/qemu-discuss@nongnu.org/msg07008.html

(Shift F10)
> del appraiser.dll
> regedit.exe

new key Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup\AllowUpgradesWithUnsupportedTPMOrCPU
= 1

new key Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassCPUCheck = 1
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassRAMCheck = 1
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassCPUCheck = 1
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassStorageCheck = 1
new dword32
Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassSecureBootCheck = 1

https://www.mail-archive.com/users@lists.fedoraproject.org/msg148346.html
https://archive.is/DAEJW
https://web.archive.org/web/20220616055853/https://www.mail-archive.com/users@lists.fedoraproject.org/msg148346.html

1) install to the point where you see the "This PC can't run Windows
   11”

2) start a command prompt with Shift+F10

3) regedit.  Go to
     HKEY_LOCAL_MACHINE\SYSTEM\Setup

4) right-click on the "Setup" key (left column) and select
   "New > Key".  Name the new key “LabConfig”

5) right-click on the newly created "LabConfig" key and select

   A) "New > DWORD (32-bit)".  Name the new value
      "BypassTPMCheck".  Set it to 1.

   B) "New > DWORD (32-bit)".  Name the new value
      "BypassRAMCheck".  Set it to 1.

   C) "New > DWORD (32-bit)".  Name the new value
      "BypassSecureBootCheck".  Set it to 1.


REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
"BypassRAMCheck"=dword:00000001
"BypassTPMCheck"=dword:00000001
"BupassSecureBootCheck"=dword:00000001


6) Close regedit; close the command prompt ("exit")

7) On ""This PC can't run Windows 11”, Click the back
   button arrow (top, upper, left).

8) proceed as normal

workaround to allow even older tpm trusted platform module v1.2 (of tpm 2.0 is not available)

https://www.tomsguide.com/news/windows-11s-system-requirements-can-be-bypassed-with-this-official-microsoft-workaround
https://archive.is/JxTJK
https://web.archive.org/web/20220616060040/https://www.tomsguide.com/news/windows-11s-system-requirements-can-be-bypassed-with-this-official-microsoft-workaround


workaround to remove checks for tpm, remove checks for ram, remove checks for cpu.

https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/
https://archive.is/ixpMf
https://web.archive.org/web/20220616061111/https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/

txt
Microsoft now requires a computer to have a TPM 2.0 module to install Windows 11. However, new Registry entries have been discovered that allow you to bypass the TPM requirement and minimum memory and secure boot requirements.

With Windows 11, Microsoft added new minimum system requirements that all devices need to have a TPM 2.0 security processor to power some of the operating system's security features.

"The following Windows features require TPM 2.0: Measured Boot, Device Encryption, WD System Guard, Device Health Attestation, Windows Hello/Hello for Business, TPM Platform Crypto Provider Key Storage, SecureBIO, DRTM, vTPM in Hyper-V," Microsoft told BleepingComputer.

For most people running CPUs created in the past 5-6 years, a firmware-based TPM (fTPM) is built into the CPU and can be enabled in the BIOS.

To enable the fTPM, simply boot your computer into the BIOS and enable the Intel Platform Trust Technology (Intel PTT) or the AMD Platform Security Processor, depending on your CPU.

For those who do not have this feature, you may be able to install a discrete TPM 2.0 processor on the motherboard. However, if your processor is old enough that it does not have one built-in fTPM, your motherboard's module will likely be TPM 1.2, which is not compatible with Windows 11.

This requirement is frustrating for users running Windows 10 on older equipment, as now they are being forced to purchase new hardware to install Windows 11.

Furthermore, as Microsoft has stated in documentation that OEMs can get permission to disable the TPM requirement in Windows 11 for their devices, the question becomes: Do you really need a TPM 2.0 processor to use Windows 11?

How to bypass the TPM requirement in Windows 11
If you are attempting to install Windows 11 and receive a message stating, "This PC can't run Windows 11," it is likely that you do not have a TPM 2.0 installed or enabled.

The good news is that Microsoft includes a new 'LabConfig' registry key that allows you to configure settings to bypass the TPM 2.0, the 4GB memory, and Secure Boot requirements.

Based on the name of this registry key, it is likely used by Microsoft or OEMs to set up a "lab" environment to test the Windows 11 on older equipment or when testing new features.

To bypass the TPM 2.0 requirements when installing Windows 11, please follow these steps:

Install Windows 11 via an ISO or the Windows 11 Insider Program. While installing Windows 11, if your computer does not meet the hardware requirements, you will see a message stating, "This PC can't run Windows 11."
Windows 11 setup blocked due to missing hardware requirements
Windows 11 setup blocked due to missing hardware requirements
When you see the above message, press Shift+F10 on your keyboard at the same time to launch a command prompt.  At this command prompt, type regedit and press enter to launch the Windows Registry Editor.
Opening command prompt in Windows Setup
Opening command prompt in Windows Setup
When the Registry Editor opens, navigate to HKEY_LOCAL_MACHINE\SYSTEM\Setup, right-click on the Setup key and select New > Key.

When prompted to name the key, enter LabConfig and press enter.

Now right-click on the LabConfig key and select New > DWORD  (32-bit) value and create a value named BypassTPMCheck, and set its data to 1. Now create the BypassRAMCheck and BypassSecureBootCheck values and set their data to 1 as well, so it looks like the following image.
Configuring the Registry to bypass hardware requirements
Configuring the Registry to bypass hardware requirements
Once you configure those three values under the LabConfig key, close the Registry Editor, and then type exit in the Command Prompt followed by enter to close the window.
You will now be back at the message stating that the PC can't run Windows 11. Click on the back button in the Windows Setup dialog, as shown below.
Press the back button in Windows setup
Press the back button in Windows setup
You will now be back at the screen prompting you to select the version of Windows 11 you wish to install. You can now continue with the setup, and the hardware requirements will be bypassed, allowing you to install Windows 11.
Hardware requirements are now bypassed
Hardware requirements are now bypassed
It is important to note that disabling these features could affect the performance or stability of Windows 11, so be sure to only use them on a virtual machine or test box that are you are ok with working in an unsupported environment.

Furthermore, by disabling the TPM 2.0 requirement, you are effectively reducing the security in Windows 11.

Finally, running Windows 11 on anything less than 4GB will not be an optimal experience and is not recommended.

alternative https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/#cid20321 https://web.archive.org/web/20220616061111/https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/#cid20321 https://archive.is/ixpMf#cid20321
Pmonroe777
 
There is an extremely easy way to install Win11 anywhere you can install Win10 that I found this week on another site. You start with the ISO files for both versions. Delete the INSTALL.WIM folder from the Windows 10 ISO and replace it with the INSTALL.WIM folder from the Windows 11 ISO. The free program AnyBurn can help with that. Copy to USB drive and install as normal. Since the computer thinks its installing Windows 10 there is no check for the TPM or anything else.
I actually installed this in a Parallels VM which has none of the Windows 11 requirements and it went off fine (seemed to take a little longer than usual though, around 1/2 hour). The solution from XDA-Developers uses the same idea but seems MUCH more convoluted than this simple solution.

it got mixed around,
meant to say take the INSTALL.WIM from Windows 10 ISO,
and put it in the Windows 11 ISO (instead of what is already there).


https://www.majorgeeks.com/content/page/bypass_tpm.html https://archive.is/CVFE2


https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/#cid20722 https://web.archive.org/web/20220616061111/https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/#cid20722

replace the "appraiserres.dll" file in the sources folder with the Win10 version, then run setup.
that seem to be the only method that works with newer Win10 builds rather than using the registry hack

this edits the actual wim of the setup (initial stage based on Windows PE)

https://github.com/AveYo/MediaCreationTool.bat

https://github.com/AveYo/MediaCreationTool.bat/blob/main/MediaCreationTool.bat#L604-L621
https://archive.is/L9nuy#L604-L621

https://github.com/AveYo/MediaCreationTool.bat/blob/main/bypass11/AutoUnattend.xml https://archive.is/EZedk
https://web.archive.org/web/20220616063137/https://github.com/AveYo/MediaCreationTool.bat/blob/main/bypass11/AutoUnattend.xml

reg add HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /d 1 /t reg_dword /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /d 1 /t reg_dword /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /d 1 /t reg_dword /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassStorageCheck /d 1 /t reg_dword /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassCPUCheck /d 1 /t reg_dword /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t reg_dword /d 1 /f
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /v TargetReleaseVersion /d 1 /t reg_dword /f
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /v TargetReleaseVersionInfo /d 25H1 /f

(25H1 is not a typo)

reg add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t reg_dword /f
reg add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t reg_dword /f

https://github.com/rushiranpise/win11devbypass/blob/main/bypass.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability]
"BranchName"="Dev"
"Ring"="External"
"ContentType"="Mainline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Selection]
"UIContentType"="Mainline"
"UIBranch"="Dev"
"UIRing"="External"

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
"BypassCPUCheck"=dword:00000001
"BypassStorageCheck"=dword:00000001
"BypassRAMCheck"=dword:00000001
"BypassTPMCheck"=dword:00000001
"BypassSecureBootCheck"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup]
"AllowUpgradesWithUnsupportedTPMOrCPU"=dword:00000001
"BypassCPUCheck"=dword:00000001
"BypassStorageCheck"=dword:00000001
"BypassRAMCheck"=dword:00000001
"BypassTPMCheck"=dword:00000001
"BypassSecureBootCheck"=dword:00000001

what is appraiser.dll?

based on more easily accessed dll from

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\sources\appraiser.dll
(also available
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\arm64\sources\appraiser.dll
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\x86\sources\appraiser.dll
)
Function Name Address Relative Address Ordinal
ContainerSetupFunction0x0000000180008ee00x00008ee01 (0x1)
ContainerSetupWrapper0x0000000180008f700x00008f702 (0x2)
DoScheduledTelemetryRun0x00000001800091400x000091403 (0x3)
DoScheduledTelemetryRunTC0x00000001800090100x000090104 (0x4)
GetCtacProvider0x00000001800093800x000093805 (0x5)
GetProvider0x0000000180008e800x00008e806 (0x6)
GetTargetVersionList0x00000001800094800x000094807 (0x7)
RunTest0x00000001800092300x000092308 (0x8)
RunXml0x00000001800091e00x000091e09 (0x9)
Sgd0x00000001800093700x0000937010 (0xa)
UpdateAvStatus0x00000001800091600x0000916011 (0xb)
UpdateCacheCompatStatuses0x0000000180008ed00x00008ed012 (0xc)
UpdateExperienceIndicators0x00000001800093600x0000936013 (0xd)

based on more easily accessed mui (resources for the dll) from

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\sources\en-us\appraiser.dll.mui

STRINGTABLE
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
  500, 	"Microsoft Corporation"
  501, 	"Microsoft Corporation"
  502, 	"Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
}
1 MESSAGETABLE
{
0x50000002,  	"Error\r\n"
0x50000004,  	"Information\r\n"
0x90000001,  	"Microsoft-Windows-Compat-Appraiser\r\n"
0x90000002,  	"Microsoft-Windows-Compat-Appraiser/Analytic\r\n"
0x90000003,  	"Microsoft-Windows-Compat-Appraiser/Operational\r\n"
0xB0000001,  	"Information from:%n%2:%1%n%3%n%n%4\r\n"
0xB0000002,  	"Error %4 from:%n%2:%1%n%3%n%n%5\r\n"
0xB0000003,  	"%1\r\n"
}
1 VERSIONINFO
FILEVERSION 10,0,22000,1
PRODUCTVERSION 10,0,22000,1
FILEOS 0x40004
FILETYPE 0x2
{
BLOCK "StringFileInfo"
{
	BLOCK "040904B0"
	{
		VALUE "CompanyName", "Microsoft Corporation"
		VALUE "FileDescription", "Compatibility Appraiser"
		VALUE "FileVersion", "10.0.22000.1 (WinBuild.160101.0800)"
		VALUE "InternalName", "Appraiser.dll"
		VALUE "LegalCopyright", "\xA9 Microsoft Corporation. All rights reserved."
		VALUE "OriginalFilename", "Appraiser.dll.mui"
		VALUE "ProductName", "Microsoft\xAE Windows\xAE Operating System"
		VALUE "ProductVersion", "10.0.22000.1"
	}
}

BLOCK "VarFileInfo"
{
	VALUE "Translation", 0x0409 0x04B0  
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment