Su Windows Server 2022 l’errore “Working directory is not valid” in MakeWinPEMedia
blocca la creazione del supporto WinPE per il backup o il ripristino. In questa guida trovi cause reali, soluzioni rapide e una procedura completa con controlli e script pronti all’uso.
Panoramica del problema
Durante la generazione dell’immagine WinPE, il comando seguente restituisce l’errore Working directory is not valid e interrompe il processo:
MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso
Il messaggio indica che la cartella indicata come working directory non è riconosciuta come ambiente WinPE valido (ossia non contiene la struttura creata da copype
oppure non è accessibile).
Cause tipiche
Possibile causa | Dettagli |
---|---|
Percorso errato o incompleto | Il primo argomento di MakeWinPEMedia deve essere il percorso assoluto alla cartella di lavoro WinPE. Percorsi relativi, solo nome cartella o assenza della lettera di unità portano all’errore. |
Struttura WinPE mancante | La cartella non è stata preparata con copype e manca \media (e spesso \mount ). Senza \media , MakeWinPEMedia non trova i file base (ad es. sources\boot.wim o winpe.wim ). |
Permessi insufficienti | Il prompt non è elevato, la cartella è protetta o in uso da un altro processo (antivirus/backup). In alcuni casi ACL restrittive impediscono la scrittura. |
Architettura sbagliata | Mancata corrispondenza tra cartelle e binari (es. si usa arm64 o x86 con strumenti amd64 ). La struttura deve combaciare con l’architettura scelta in copype . |
Caratteri speciali o percorso troppo lungo | Percorsi con caratteri non ASCII, simboli non supportati o oltre ~260 caratteri possono causare errori di validazione. |
Uso di percorsi UNC | Talvolta le directory su \\server\share non vengono accettate come working dir WinPE. Meglio usare un’unità locale o mappare una lettera di unità. |
Residui di mount | Montaggi WIM orfani in \mount o handle aperti possono impedire la corretta validazione della cartella. |
ADK/WinPE add-on non allineati | Versioni non corrispondenti tra Windows ADK e WinPE add‑on o ambiente di strumenti non avviato dal prompt corretto. |
Soluzioni operative rapide
- Verifica della sintassi
MakeWinPEMedia /ISO "C:\WinPEamd64" "C:\WinPEamd64\WinPE_amd64.iso"
- Specifica il percorso completo per entrambi gli argomenti.
- Usa virgolette se il percorso contiene spazi (es.
C:\WinPE amd64
).
- Ricreazione della cartella di lavoro con
copype
rmdir /s /q C:\WinPE_amd64 &rem (elimina la vecchia cartella se esiste) copype amd64 C:\WinPE_amd64 &rem (ricrea struttura \media, \mount …) MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso
Se l’obiettivo è un’unità USB avviabile:MakeWinPEMedia /UFD /f "C:\WinPE_amd64" X:
Nota:/f
formatta la chiavetta X: (tutti i dati andranno persi). - Controllo della sottocartella
\media
Se la cartella è stata creata a mano, assicurati che contengaC:\WinPE_amd64\media
. In mancanza, crea la sottocartella oppure ripeticopype
. - Esecuzione dal prompt corretto
- Apri Deployment and Imaging Tools Environment come Amministratore.
- Verifica di avere installato Windows ADK e il relativo WinPE add‑on della stessa versione.
Comprendere cosa si aspetta MakeWinPEMedia
MakeWinPEMedia
accetta come primo parametro una cartella di lavoro WinPE già preparata con copype
. Tale cartella deve includere almeno:
C:\WinPE_amd64\
├─ Media\
│ ├─ Boot\
│ ├─ EFI\
│ └─ Sources\
│ └─ boot.wim (oppure winpe.wim a seconda della versione ADK)
└─ mount\ (creata da copype, usata quando si montano i WIM)
Se \media
è assente o vuota, l’utility non riconosce la directory come valida e genera l’errore. Inoltre la cartella deve trovarsi in un percorso raggiungibile, con permessi di scrittura e senza handle bloccanti.
Procedura consigliata completa (passo-passo)
- Installa Windows ADK + WinPE add-on
Assicurati che WinPE add‑on corrisponda alla versione dell’ADK installato. - Apri Deployment and Imaging Tools Environment con privilegi elevati (tasto destro → Esegui come amministratore).
- Crea la cartella di lavoro:
copype amd64 C:\WinPE_amd64
- Genera l’ISO:
MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso
- (Facoltativo) Personalizza WinPE: monta l’immagine e aggiungi driver, script o tool:
dism /Mount-Image /ImageFile:C:\WinPEamd64\media\sources\boot.wim /Index:1 /MountDir:C:\WinPEamd64\mount :: aggiungi un driver dism /Image:C:\WinPE_amd64\mount /Add-Driver /Driver:C:\Drivers\Rete\ /Recurse :: copia script personalizzati copy C:\Tools\myscript.cmd C:\WinPE_amd64\mount\Windows\System32\ :: smonta e salva dism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit
In alcune versioni il file si chiamawinpe.wim
invece diboot.wim
: adatta il percorso di conseguenza. - Verifica l’avvio su macchina virtuale o hardware fisico.
Check-list rapida prima di riprovare
- Il percorso è assoluto e racchiuso tra virgolette se contiene spazi.
C:\WinPE_amd64\media
esiste e contienesources\boot.wim
(owinpe.wim
).- Prompt: Deployment and Imaging Tools Environment avviato come amministratore.
- ADK e WinPE add‑on sono installati e della stessa famiglia di versione.
- Niente percorsi UNC: se necessario, mappa una lettera di unità (es.
net use W: \\server\share
). - Nessun mount WIM orfano:
dism /Cleanup-Mountpoints
. - Percorso breve e senza caratteri speciali, ad esempio
C:\WinPE_amd64
.
Diagnostica approfondita
Controlla che ADK e strumenti siano sul PATH
where copype
where MakeWinPEMedia
Se i binari non vengono trovati, apri il prompt “Deployment and Imaging Tools Environment” o reinstalla ADK/WinPE add‑on.
Verifica la struttura della working directory
dir /ad C:\WinPE_amd64
dir /ad C:\WinPE_amd64\media
dir C:\WinPE_amd64\media\sources
Cerca boot.wim
(o winpe.wim
) sotto media\sources
. Se manca, ripeti copype
.
Controlla permessi e blocchi
icacls C:\WinPE_amd64
whoami /groups
handle.exe C:\WinPE_amd64 &rem (se disponi di Sysinternals)
Se necessario, prendi possesso e reimposta le ACL:
takeown /f C:\WinPE_amd64 /r /d y
icacls C:\WinPE_amd64 /grant Administrators:(OI)(CI)F /t
Pulisci mount orfani
dism /Cleanup-Mountpoints
Elimina eventuali residui in C:\WinPE_amd64\mount
solo quando non è più montata alcuna immagine.
Percorsi UNC e lettere di unità
Se lavori da una condivisione, mappa una lettera di unità prima di lanciare i comandi:
net use W: \\server\share
MakeWinPEMedia /ISO W:\WinPEamd64 W:\WinPEamd64\WinPE_amd64.iso
Attenzione al limite MAX_PATH
Evita directory annidate e nomi troppo lunghi. Sposta la working dir sotto C:\
o abilita percorsi lunghi via criteri aziendali (se consentito).
Esempi: corretto vs sbagliato
Comando | Esito | Motivo |
---|---|---|
MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso | ✅ | Percorsi assoluti corretti, struttura preparata con copype . |
MakeWinPEMedia /ISO WinPE_amd64 WinPE.iso | ❌ | Percorsi relativi: la working dir non viene trovata/validata. |
MakeWinPEMedia /ISO "C:\WinPE amd64" "C:\WinPE amd64\pe.iso" | ✅ | Percorsi con spazi racchiusi tra virgolette. |
MakeWinPEMedia /ISO C:\CartellaVuota C:\pe.iso | ❌ | Manca \media e il WIM di base. |
MakeWinPEMedia /ISO \\server\share\WinPE_amd64 \\server\share\pe.iso | ⚠️ | Potrebbero verificarsi errori; preferisci mappare una lettera di unità. |
ISO vs USB: quale scegliere
ISO: ideale per test rapidi in VM e per archiviazione. Comando:
MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso
USB (UFD): avvio diretto su hardware. Comando (attenzione: formatta il disco):
MakeWinPEMedia /UFD /f C:\WinPE_amd64 X:
- Per avvio UEFI puro, la chiavetta viene solitamente preparata FAT32; file >4 GB richiedono accorgimenti (split WIM).
- Per supporto a sistemi legacy/BIOS, l’utility si occupa del bootloader appropriato.
Personalizzazioni utili per il backup
Aggiungere driver di storage/rete
dism /Mount-Image /ImageFile:C:\WinPEamd64\media\sources\boot.wim /Index:1 /MountDir:C:\WinPEamd64\mount
dism /Image:C:\WinPE_amd64\mount /Add-Driver /Driver:C:\Drivers\Storage\ /Recurse
dism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit
Avvio di script personalizzati
Modifica startnet.cmd
per automatizzare il caricamento di rete e lanciare il tuo tool di backup:
notepad C:\WinPE_amd64\media\Windows\System32\startnet.cmd
Esempio di contenuto:
@echo off
wpeinit
:: imposta rete
wpeutil InitializeNetwork
:: monta share di backup
net use Z: \\backup\share /user:DOMAIN\utente P@ssw0rd
:: avvia lo script di backup
Z:\scripts\backup.cmd
FAQ – domande frequenti
Posso usare cartelle di rete come working directory?
Non è consigliato. Mappa una lettera di unità e assicurati di avere i permessi di lettura/scrittura.
Serve la stessa architettura della macchina di destinazione?
WinPE amd64
copre la quasi totalità dei server e client moderni. Evita di mescolare arm64
/x86
se non hai un requisito specifico.
L’ISO si crea ma non si avvia in UEFI.
Testa anche la chiavetta USB preparata con /UFD
. In caso di WIM >4 GB valuta lo split:
dism /Split-Image /ImageFile:C:\WinPEamd64\media\sources\boot.wim /SWMFile:C:\WinPEamd64\media\sources\boot.swm /FileSize:3800
Risoluzione sistematica dell’errore “Working directory is not valid”
- Elimina (o rinomina) la vecchia working dir.
- Ricrea la struttura con
copype
. - Controlla la presenza di
media\sources\boot.wim
(owinpe.wim
). - Riapri il prompt degli strumenti come amministratore.
- Riprova il comando
MakeWinPEMedia
con percorsi assoluti. - Se fallisce, verifica permessi, blocchi, mount orfani e percorsi troppo lunghi.
Script batch “fix & build” pronto all’uso
Copia quanto segue in un file BuildWinPE.cmd
ed eseguilo dal Deployment and Imaging Tools Environment (Admin). Lo script ricrea l’ambiente e genera l’ISO, evidenziando eventuali errori comuni.
@echo off
setlocal enabledelayedexpansion
set WORK=C:\WinPE_amd64
set ISO=%WORK%\WinPE_amd64.iso
set ARCH=amd64
echo [*] Pulizia mount orfani...
dism /Cleanup-Mountpoints >nul 2>&1
echo [*] Rimozione eventuale working dir precedente...
if exist "%WORK%" rmdir /s /q "%WORK%"
echo [*] Creazione struttura con copype...
copype %ARCH% "%WORK%"
if errorlevel 1 (
echo [!] Errore in COPYPE: verifica ADK/WinPE add-on e prompt corretto.
exit /b 1
)
echo [*] Verifica presenza WIM...
if exist "%WORK%\media\sources\boot.wim" (
echo [OK] boot.wim presente
) else if exist "%WORK%\media\sources\winpe.wim" (
echo [OK] winpe.wim presente
) else (
echo [!] Nessun WIM trovato in media\sources. Struttura non valida.
exit /b 1
)
echo [*] Generazione ISO...
if exist "%ISO%" del /f /q "%ISO%"
MakeWinPEMedia /ISO "%WORK%" "%ISO%"
if errorlevel 1 (
echo [!] Errore in MakeWinPEMedia: working directory non valida o non accessibile.
echo Controlla permessi, blocchi antivirus e riprova.
exit /b 1
)
echo [✓] ISO creata: %ISO%
exit /b 0 </code></pre>
<h2>Note per ambienti aziendali e server</h2>
<ul>
<li><strong>Controlled Folder Access / Antivirus</strong>: possono bloccare la scrittura in <code>C:\</code>. Disattiva temporaneamente la protezione o usa una cartella consentita.</li>
<li><strong>GPO e UAC</strong>: assicurati che il prompt sia elevato e che le policy non limitino la creazione di supporti avviabili.</li>
<li><strong>Storage tiered/CSV</strong>: evita working dir su volumi condivisi o clusterizzati per la fase di build.</li>
<li><strong>Backup in rete</strong>: se WinPE dovrà autenticarsi, integra i driver di rete e prepara <code>startnet.cmd</code> con <code>wpeutil InitializeNetwork</code> e <code>net use</code>.</li>
</ul>
<h2>Verifiche finali consigliate</h2>
<ul>
<li>Avvia l’ISO in una VM (Hyper‑V/VMware/VirtualBox) per validare che si carichi correttamente.</li>
<li>Se usi USB, prova su due hardware differenti per escludere problemi di firmware.</li>
<li>Conserva i driver necessari e gli script nella cartella <code>\extra</code> della working dir e ricostruisci periodicamente il supporto.</li>
</ul>
<h2>Percorso alternativo rapido</h2>
<p>Alcuni software di backup includono un creatore di disco di emergenza WinPE. Se l’urgenza è ripristinare o proteggere un sistema e l’errore non si risolve subito, usare il loro wizard può farti risparmiare tempo evitando i comandi manuali.</p>
<hr>
<h2>Riepilogo operativo immediato</h2>
<ol>
<li>Esegui come <strong>Amministratore</strong> il <em>Deployment and Imaging Tools Environment</em>.</li>
<li>Lancia:
<pre><code class="language-cmd">copype amd64 C:\WinPE_amd64
MakeWinPEMedia /ISO C:\WinPEamd64 C:\WinPEamd64\WinPE_amd64.iso
Se appare “Working directory is not valid”:
- controlla
C:\WinPE_amd64\media
e la presenza diboot.wim/winpe.wim
; - evita UNC e spazi non quotati, verifica permessi e mount orfani;
- in ultima istanza, elimina e ricrea la working dir con
copype
.
Appendice: varianti utili di comando
:: Creare WinPE x86 (solo se strettamente necessario)
copype x86 C:\WinPE_x86
MakeWinPEMedia /ISO C:\WinPEx86 C:\WinPEx86\WinPE_x86.iso
:: Forzare formattazione della USB e creare UFD
MakeWinPEMedia /UFD /f C:\WinPE_amd64 E:
:: Splittare il WIM per FAT32
dism /Split-Image /ImageFile:C:\WinPEamd64\media\sources\boot.wim /SWMFile:C:\WinPEamd64\media\sources\boot.swm /FileSize:3800
:: Pulizia totale della working dir (se inutilizzabile)
rmdir /s /q C:\WinPEamd64 && mkdir C:\WinPEamd64 </code></pre>
<h2>Conclusione</h2>
<p>Nel 99% dei casi l’errore <strong>“Working directory is not valid”</strong> è dovuto a una working dir non preparata correttamente, a un percorso non valido o a permessi mancanti. Applicando la sequenza <strong>ADK → copype → MakeWinPEMedia</strong> con percorsi assoluti e prompt elevato, la creazione di ISO/USB WinPE su Windows Server 2022 procede senza intoppi. Per esigenze di continuità operativa, valuta anche l’uso temporaneo dei creator WinPE integrati nei software di backup: potrai tornare all’approccio manuale una volta risolti i prerequisiti.</p>
<hr>
<h2>Allegato: se vuoi solo la soluzione “minima”</h2>
<ol>
<li>Apri <em>Deployment and Imaging Tools Environment</em> (Amministratore).</li>
<li>Esegui:
<pre><code class="language-cmd">rmdir /s /q C:\WinPE_amd64
copype amd64 C:\WinPE_amd64
MakeWinPEMedia /ISO "C:\WinPEamd64" "C:\WinPEamd64\WinPE_amd64.iso"
Per USB avviabile:
MakeWinPEMedia /UFD /f "C:\WinPE_amd64" X:
In breve: segui la procedura consigliata, assicurati che la working dir contenga \media
e il WIM di base, usa percorsi assoluti e prompt elevato. Così l’errore “Working directory is not valid” viene normalmente risolto.