Как обновиться с Windows 10 до Windows 11 на неподдерживаемом компьютере

15.01.2026

Случилось... Нужно обновлять весь парк рабочих машин с Windows 10 до Windows 11. Притом именно обновлять, чтобы пользователи не потеряли своё файло и натсройки системы. Штож — поехали.

Обходим проверку TPM 2.0 если у вас TPM 1.2

В этом случае не будет проверяться поколение CPU и чип TPM 2.0, но чип TPM 1.2 все еще требуется. Если он отсутствует, вы не сможете выполнить обновление.

Запускаем от имени администратора PowerShell и проверяем есть ли у вас вообще этот TPM. Выполняем команду:

Get-tpm

Если TPM на плате не обнаружено — TpmPresent=False, то для обновления системы до Windows 11 читайте следующий абзац.

А если TPM всё таки есть, то нужно в реестре создать параметр DWORD: AllowUpgradesWithUnsupportedTPMOrCPU, который пропустит мимо глаз требование наличия на плате чипа именно TPM 2.0. Проверку CPU тоже вроде как скипает.

reg add HKLM\SYSTEM\Setup\MoSetup /f /v AllowUpgradesWithUnsupportedTPMorCPU /d 1 /t reg_dword

Теперь обновляйтесь на свою Windows 11...

Обновление до Windows 11 с полностью отсутствующем чипом TPM

Тут в реестр заряжем целую обойму DWORD параметров:

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\CompatMarkers" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Shared" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\TargetVersionUpgradeExperienceIndicators" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\HwReqChk" /v "HwReqChkVars" /t REG_MULTI_SZ /s "," /d "SQ_SecureBootCapable=TRUE,SQ_SecureBootEnabled=TRUE,SQ_TpmVersion=2,SQ_RamMB=8192" /f
reg add "HKLM\SYSTEM\Setup\MoSetup" /v "AllowUpgradesWithUnsupportedTPMOrCPU" /t REG_DWORD /d 1 /f
Никто ответственности не несёт при обновлении до Windows 11 на несоответствующем железе. Ни вендор ни разработчики ОС. Вы сами себе капитан в этом вопросе!

И так, что делают эти команды с нашим реестром. Для начала удаляем записи наших попыток накатить обновление Windows 11. Потом добавляем HwReqChk, что является собой записью о том, что наше железо как бы прошло проверку удачно.

А вот теперь запускаем обновление с Windows 10 на Windows 11 с примонтированного образа.

Ещё есть способ через product server, но ну его куда подальше. Если интересно, поищите в яндексе.

Мне этих двух способов пока что хватало за глаза!

Тихо, идёт обновление до Windows 11

А чтобы автоматически накатить обновление Windows 11 в тихом режиме — у setup.exe есть дополнительные параметры. Для начала желательно отключить хитрый параметр защиты от обновлений:

reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v DisableWUfBSafeguards /d 1 /t reg_dword

Или тут: Computer Configuration 👉 Administrative Templates 👉 Windows Components 👉 Windows Update 👉 Manage updates offered from Windows Updates 👉 GPO Disable safeguards for Feature Updates

Запускайте CMD с такими флагами:

start /wait d:\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable /Copylogs %SystemDrive%\temp /EULA Accept /compat IgnoreWarning /NoReboot

Пойдёмте еще дальше. Запускаем от имени администратора PowerShell и подключаемся к нужному ПК командой:

Enter-PSSession computer-name

После чего вы пожете запустить setup.exe с нужными ключами

New-Item -Path "C:\iso\" -ItemType Directory # Создаём каталог, куда скачаем образ

$cred = Get-Credential  
New-PSDrive -Name "TempDrive" -PSProvider FileSystem -Root "\\Server\iso" -Credential $cred # Подключаем сетевую директорию
Copy-Item -Path "TempDrive:\ru-ru_windows_11.iso" -Destination "C:\iso\ru-ru_windows_11.iso" # Выкачиваем образ Windows 11 для обновления нашей Windows 10
Remove-PSDrive -Name "TempDrive" # Спасибо, отключаемся :-)

Mount-DiskImage -ImagePath "C:\iso\Windows_11.ISO"| Get-Volume  # А теперь монтируем скаченный образ в систему
# Get-Volume покажет нам сразу какой буквой он подмонтировал диск
# Если же вам нужно посмотреть все диски системы, то вам поможет Get-PSDrive

Start-Process -FilePath "d:\setup.exe" -ArgumentList "/auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable /Copylogs %SystemDrive%\temp /EULA Accept /compat IgnoreWarning /NoReboot" -Wait # Тихонечко обновляем систему

# Отмантиравай обратно
Dismount-DiskImage -ImagePath "C:\iso\Windows_11.ISO"

Если параноя шепчет: "а точно установка запустилась?" то проверяй вот этим:

Get-Process | Where-Object {$_.ProcessName -match "setup|install|msiexec|windowsupdate"}

Или

Write-Host "Код выхода: $($process.ExitCode)"

Если Код выхода: -2147023278, то это означет ERROR_INSTALL_ALREADY_RUNNING - установка уже запущена.

Все параметры к setup.exe Windows 11

Все параметры можно вывести через setup.exe /?.

/1394Debug:<channel>
[BaudRate:<baudrate>]
/AddBootMgrLast
/Auto {Clean | DataOnly | Upgrade}
/BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}
/BusParams:<bus.device.function>
/CompactOS {Enable / Disable}
/Compat {IgnoreWarning / ScanOnly}
/CopyLogs<locatione>
/Debug:<porte> [BaudRate:<baudratee>]
/DiagnosticPrompt {enable | disable}
/DynamicUpdate {enable | disable}
/EMSPort: {COM1 | COM2 | off} [/emsbaudrate:<baudratee>]
/InstallDrivers<locatione>
/InstallFrom<pathe>
/InstallLangPacks<locatione>
/m:<folder_namee>
/MigNEO Disable
/MigrateDrivers {all | none}
/NetDebug:hostip=<w.x.y.ze>,port=<ne>,key= <q.r.s.te>[,nodhcp][,busparams=n.o.p]
/NoReboot
/PKey<product keye>
/Priority Normal
/PostOOBE<locatione> [\setupcomplete.cmd]
/PostRollback<locatione> [\setuprollback.cmd] [/postrollbackcontext {system / user}]
/Quiet
/ReflectDrivers<locatione>
/ResizeRecoveryPartition {Enable / Disable}
/ShowOOBE {full / none}
/Telemetry {Enable / Disable}
/TempDrive <drive_lettere>
/Unattend:<answer_filee>
/Uninstall {enable / disable}
/USBDebug:<hostnamee>
/WDSDiscover
/WDSServer:<servernamee>
Автору на кофе ☕ или просто поднять мотивацию писать больше статей для вас 😉 !
Отдельное спасибо всем, кто отправляет донатики 😀! Очень приятно и неожиданно. Благодаря вам сайт может и в дальнейшем обходиться без рекламных баннеров.
49