Windows 11 Requirements Patcher
WinBreak è uno script interattivo per Windows 11 e PowerShell 5.1 che prepara una copia locale di un supporto di installazione Windows 11 destinata a sistemi con requisiti hardware non supportati.
Lo script individua e convalida una ISO, mostra le edizioni disponibili, configura i bypass Registry previsti da Microsoft Setup, copia il supporto in una directory di lavoro e rimuove sources\appraiserres.dll dalla sola copia. Al termine può aprire il normale installer grafico oppure creare una nuova ISO avviabile con oscdimg.exe.
WinBreak non modifica install.wim, install.esd o install.swm, non usa DISM per alterare immagini e non avvia setup.exe con parametri nascosti o non documentati.
Quando viene scelta l'opzione di aggiornamento, WinBreak delega l'apertura di setup.exe alla shell desktop di Windows. Il controllo iniziale di compatibilità non viene quindi avviato direttamente dal processo Administrator di WinBreak; Windows Setup richiederà autonomamente l'elevazione quando necessaria.
- Usare WinBreak soltanto dopo avere eseguito un backup completo dei dati importanti.
- L'installazione su hardware non supportato può causare problemi di compatibilità, affidabilità, assistenza o disponibilità degli aggiornamenti.
- La verifica del supporto controlla struttura e leggibilità dei metadati: non è una verifica crittografica dell'autenticità o dell'integrità della ISO.
- La rimozione di
appraiserres.dlle i valori Registry descritti qui non garantiscono il superamento di ogni controllo. - Microsoft può cambiare in qualsiasi momento il comportamento di Windows Setup. Non è garantito che WinBreak funzioni con ogni build futura.
- La directory di lavoro è una copia temporanea completa del supporto. Non usarla per conservare altri file.
- Windows 11 in una console standard.
- Windows PowerShell 5.1 avviato come Administrator.
- Una ISO di Windows 11 leggibile, con build 22000 o successiva.
- Spazio libero sufficiente per la copia del supporto e, se richiesta, per la nuova ISO.
robocopy.exe, incluso in Windows.- Per creare una nuova ISO: Windows ADK con il componente Deployment Tools, che fornisce
oscdimg.exe.
WinBreak non installa moduli, non scarica software e non apre automaticamente un browser. Pester e PSScriptAnalyzer sono facoltativi e vengono usati per lo sviluppo soltanto se già presenti.
WinBreak non richiede un installer e può essere eseguito da qualsiasi directory locale.
- Aprire la sezione Releases del repository.
- Scaricare
WinBreak-0.1.2.zipdalla release più recente. - Fare clic destro sul file ZIP e scegliere Estrai tutto.
- Estrarre l'archivio in una directory locale.
Lo ZIP ufficiale contiene già una directory radice denominata WinBreak. Per ottenere il percorso consigliato:
C:\WinBreak
impostare come destinazione dell'estrazione:
C:\
È possibile estrarre WinBreak anche altrove, per esempio nella cartella Download dell'utente. Non è necessario rinominare o spostare la directory per eseguire il programma.
La struttura risultante sarà:
C:\WinBreak\
|-- WinBreak.ps1
|-- Start-WinBreak.cmd
|-- Start-WinBreak-DryRun.cmd
|-- README.md
`-- CHANGELOG.md
Non eseguire WinBreak direttamente dall'interno del file ZIP: estrarre sempre tutti i file prima dell'avvio.
Il pacchetto ufficiale viene creato da una allowlist e non contiene .gitignore, .DS_Store, __MACOSX, test o altri file di sviluppo.
Il pulsante GitHub Code → Download ZIP scarica invece un archivio dello stato corrente di sviluppo.
Dopo l'estrazione la directory si chiamerà normalmente:
WinBreak-main
WinBreak può essere eseguito anche da questa directory, senza rinominarla o spostarla in C:\WinBreak.
Per un utilizzo normale è comunque consigliato scaricare una versione stabile dalla sezione Releases.
Aprire la directory estratta, fare clic destro su:
Start-WinBreak.cmd
e scegliere:
Esegui come amministratore
Il launcher avvia Windows PowerShell 5.1 con un'Execution Policy temporanea valida soltanto per quel processo.
WinBreak controlla comunque di essere stato avviato con privilegi Administrator. Se la console non è elevata, mostra:
RUNNAMI COME ADMINISTRATOR!
e termina senza tentare l'auto-elevazione.
Per simulare il flusso senza eseguire le operazioni di sistema, fare clic destro su:
Start-WinBreak-DryRun.cmd
e scegliere:
Esegui come amministratore
Anche la modalità DryRun richiede una console Administrator.
In DryRun WinBreak descrive le operazioni previste, ma non:
- scrive nel Registry;
- monta o smonta immagini;
- esegue
robocopy; - elimina file;
- avvia
setup.exe; - esegue
oscdimg.exe.
Poiché la ISO non viene montata, struttura, metadati ed edizioni vengono indicati come controlli non eseguiti e non come verifiche superate.
In alternativa ai launcher, aprire Windows PowerShell 5.1 come Administrator e spostarsi nella directory in cui è stato estratto WinBreak.
Esempio con la directory consigliata:
Set-Location "C:\WinBreak"
Set-ExecutionPolicy -Scope Process Bypass -Force
& ".\WinBreak.ps1"La modifica dell'Execution Policy vale soltanto per la sessione PowerShell corrente e non modifica permanentemente la configurazione del sistema.
Anche prima del DryRun deve essere impostata l'Execution Policy per il processo corrente:
Set-Location "C:\WinBreak"
Set-ExecutionPolicy -Scope Process Bypass -Force
& ".\WinBreak.ps1" -DryRunSe è stato usato Code → Download ZIP, specificare invece il percorso effettivo della directory estratta, per esempio:
Set-Location "$env:USERPROFILE\Downloads\WinBreak-main"
Set-ExecutionPolicy -Scope Process Bypass -Force
& ".\WinBreak.ps1" -DryRunLog e backup vengono creati all'interno della directory che contiene WinBreak.ps1, indipendentemente dalla directory corrente della console:
<directory WinBreak>\
|-- logs\
| `-- WinBreak-YYYYMMDD-HHMMSS.log
`-- backup\
|-- registry-YYYYMMDD-HHMMSS-xxxxxxxx.json
`-- YYYYMMDD-HHMMSS-xxx\
`-- appraiserres.dll
I percorsi operativi predefiniti restano:
| Percorso | Uso |
|---|---|
<directory WinBreak>\logs\ |
Log di console e diagnostica |
<directory WinBreak>\backup\ |
Backup Registry e backup verificato di appraiserres.dll |
C:\Win11ISO |
Copia di lavoro del supporto Windows |
C:\Windows11Modded.iso |
ISO prodotta con oscdimg.exe |
Il backup JSON registra lo stato precedente dei valori Registry, ma WinBreak non esegue un ripristino automatico.
| Parametro | Descrizione | Predefinito |
|---|---|---|
-DryRun |
Simula le operazioni con effetti sul sistema. | Disattivato |
-KeepMounted |
Non smonta una ISO montata da WinBreak. | Disattivato |
-WorkDirectory |
Directory della copia di lavoro. | C:\Win11ISO |
-OutputIso |
Percorso della ISO generata. | C:\Windows11Modded.iso |
Esempio manuale con percorsi personalizzati:
Set-Location "C:\WinBreak"
Set-ExecutionPolicy -Scope Process Bypass -Force
& ".\WinBreak.ps1" `
-WorkDirectory "D:\WinBreak Work\Win11ISO" `
-OutputIso "D:\ISO\Windows11Modded.iso"WinBreak cerca, senza scansione ricorsiva, file ISO compatibili in:
C:\;%USERPROFILE%\Downloads.
È anche possibile digitare o trascinare nella console un percorso assoluto. Sono supportati percorsi tra virgolette, spazi, variabili ambiente, ~ e completamento con Tab. Escape annulla l'inserimento.
Prima di procedere, WinBreak controlla che il percorso indichi un file .iso reale e non vuoto. Dopo il mount verifica almeno:
setup.exe;boot\etfsboot.com;efi\microsoft\boot;sources\boot.wim;- uno fra
sources\install.wim,sources\install.esdesources\install.swm.
I metadati del payload vengono letti con Get-WindowsImage senza alterarlo. La tabella mostra indice, nome, EditionId, architettura e versione di ciascuna immagine. Il supporto è accettato soltanto se contiene almeno un'immagine leggibile e tutte le immagini rilevate hanno build 22000 o successiva.
Se l'immagine era già montata, WinBreak riutilizza il mount e non la smonta automaticamente. Se viene montata da WinBreak, viene smontata al termine della copia o durante il cleanup, salvo uso di -KeepMounted.
WinBreak registra lo stato precedente in un backup JSON, applica in modo idempotente questi DWORD e li rilegge immediatamente per verificarli:
HKLM\SYSTEM\Setup\LabConfig\BypassTPMCheck = 1
HKLM\SYSTEM\Setup\LabConfig\BypassSecureBootCheck = 1
HKLM\SYSTEM\Setup\MoSetup\AllowUpgradesWithUnsupportedTPMOrCPU = 1
Sono valori Registry della macchina locale, non variabili d'ambiente. WinBreak non usa SetX, non riavvia Explorer e non riavvia PowerShell.
La destinazione predefinita è C:\Win11ISO. Se esiste ed è vuota può essere riutilizzata. Se contiene file, WinBreak richiede di scegliere se eliminarla e ricrearla, usare un'altra directory o annullare: non viene mai cancellata senza una scelta esplicita.
Prima della copia vengono controllati dimensione stimata, spazio libero e separazione tra sorgente e destinazione. La copia usa robocopy con almeno:
/MIR /R:2 /W:2 /XJ
/MIR rende la destinazione uno specchio della sorgente e può rimuovere dalla destinazione elementi non presenti nella sorgente. Per questo WorkDirectory deve essere una directory dedicata e priva di dati personali. Gli exit code 0-7 sono considerati non bloccanti; 8 o superiore indica un errore.
Con la directory di lavoro predefinita, WinBreak opera sul file:
C:\Win11ISO\sources\appraiserres.dll
Prima della rimozione ne registra dimensione e SHA256 e ne salva una copia verificata sotto <directory WinBreak>\backup\<timestamp>\. Se il file è già assente, viene mostrato un avviso e serve una conferma esplicita per continuare. Il file appraiser.dll non viene rimosso. Con -WorkDirectory, il percorso sorgente del file segue la directory personalizzata.
Dopo conferma e countdown annullabile, con la directory di lavoro predefinita WinBreak avvia esclusivamente:
C:\Win11ISO\setup.exe
Il programma non passa argomenti a Setup, non attende la fine dell'aggiornamento e non tenta di determinarne automaticamente l'esito. In particolare non usa /product server, /compat ignorewarning, /auto upgrade, comandi DISM o altri parametri nascosti.
WinBreak non elimina la directory di lavoro durante l'aggiornamento. Dopo avere completato e verificato manualmente l'aggiornamento, eliminare la directory di lavoro a mano quando non serve più.
Questa opzione richiede oscdimg.exe del Windows ADK Deployment Tools. WinBreak lo cerca nel PATH e nelle installazioni ADK locali plausibili; se non lo trova, spiega il requisito e torna al menu senza installare o modificare nulla.
La ISO generata include il boot BIOS tramite boot\etfsboot.com e il boot UEFI tramite efisys.bin, oppure efisys_noprompt.bin se necessario. L'output esistente non viene sovrascritto senza conferma. Al termine WinBreak richiede exit code zero, file non vuoto, calcola SHA256 e apre Explorer evidenziando il file.
Dopo una creazione riuscita, usando il valore predefinito, compare:
Rimuovere ora C:\Win11ISO? [S/N]
Soltanto una risposta esplicita S autorizza il cleanup, dopo i controlli che impediscono l'eliminazione di radice del volume, profilo utente, directory di sistema, directory di output o percorsi non validi.
Termina normalmente senza avviare Setup o creare una ISO. La directory di lavoro non viene eliminata automaticamente.
Ogni operazione importante viene riportata in console e nel log con livello INFO, SUCCESS, WARN, ERROR o DEBUG. In caso di errore WinBreak:
- mostra un messaggio sintetico;
- salva i dettagli nel log;
- smonta soltanto le immagini che aveva montato, se dovuto;
- conserva la directory di lavoro;
- indica il percorso del log e termina con exit code non zero.
Se l'esecuzione viene interrotta, controllare il log più recente nella directory logs accanto a WinBreak.ps1 e verificare manualmente lo stato del mount e della directory di lavoro prima di riprovare.
Lo sviluppo non richiede né autorizza un'esecuzione end-to-end. La sintassi può essere verificata con il parser nativo di PowerShell:
$tokens = $null
$errors = $null
[System.Management.Automation.Language.Parser]::ParseFile(
"C:\WinBreak\WinBreak.ps1",
[ref]$tokens,
[ref]$errors
) > $null
$errorsSe Pester è già installato, eseguire i test puri e isolati con:
Invoke-Pester "C:\WinBreak\tests\WinBreak.Tests.ps1"Non eseguire lo script completo come test: un'esecuzione reale può montare supporti, modificare il Registry, copiare o eliminare file e avviare programmi soltanto dopo le conferme previste.
- WinBreak non certifica provenienza, firma o hash ufficiale della ISO.
- Non converte né modifica i payload WIM, ESD o SWM.
- Il payload deve essere leggibile dalla versione locale di
Get-WindowsImage; se uninstall.swmnon è supportato o leggibile dal cmdlet, la validazione termina in sicurezza senza ricorrere a DISM CLI o conversioni. - Non crea la ISO senza un'installazione locale di Windows ADK Deployment Tools.
- Non ripristina automaticamente i valori Registry precedenti.
- Non monitora l'upgrade e non elimina automaticamente la copia usata da Setup.
- Nessun bypass può garantire supporto hardware, aggiornamenti o compatibilità con future versioni di Windows 11.
