Archives For Unattended

In tutta onestà pensavo a qualcosa di legato a uno specifico problema del driver video, e invece scopro che i nuovi ultrabook Lenovo della serie ThinkPad T nascono già con un bug più che fastidioso: una errata risoluzione video nel caso in cui si utilizzi un’immagine WinPE al boot, cosa più che normale considerando l’utilizzo di prodotti come Acronis o Macrium in ambito aziendale (o anche amatoriale, magari in un ambiente di laboratorio personale).

Problemi di risoluzione video per Macrium e Lenovo T470s

Dopo diversi tentativi portati a termine in autonomia (e andati a vuoto, nda) ho provato a dare un’occhiata sul web, trovando parecchi riferimenti a questo problema. Basta infatti una ricerca in Google per farli saltare fuori pressoché tutti, senza considerare l’esistenza di una nota ufficiale da parte di Lenovo che riporta i dettagli del problema e il fatto che si tratti di un’anomalia dell’ADK 1607: support.lenovo.com/it/it/solutions/ht503599.

Sia chiaro, l’ADK 1607 ha sempre (da quando esiste, chiaro) funzionato egregiamente su portatili Lenovo antecedenti l’ultimo arrivato, uso infatti le chiavi di boot USB generate da Macrium per clonare T440s, T450s e T460s che abbiamo in circolazione da queste parti, senza avere la necessità di indovinare a quanti tab di distanza si trova il pulsante Next che mi permetterà di proseguire con l’azione richiesta a video, cosa che viene resa ancora più difficile dalla totale mancanza di shortcut da tastiera o barre per movimenti orizzontali e verticali nella finestra attiva (e queste sono entrambe pecche di Macrium, giusto per dare a Cesare quel che è di Cesare).

Io la soluzione proposta da Lenovo l’ho già provata, senza successo però. Ho cercato anche di adottare alcune delle proposte riportate nei vari thread del forum di Macrium (qui faccio un solo esempio: forum.macrium.com/Topic13526-1.aspx), ma anche in questo caso ho avuto scarsi risultati degni di nota. Ho persino caricato i driver video specifici del modello T470s (che monta una scheda video integrata Intel HD Graphics 620, per dovere di cronaca) all’interno della relativa cartella presente su chiave USB, così da permetterne il caricamento in avvio dell’interfaccia principale, il vuoto più totale e la triste realtà della sola risoluzione disponibile da menu a tendina (640×480).

Problemi di risoluzione video per Macrium e Lenovo T470s 1

Cosa rimane da fare?

Due le possibili alternative. La prima richiede un semplice “remember“, la seconda è forse più comoda ma si tratta di un work-around che passa da tutt’altro binario. La finestra che Macrium apre –per esempio– in fase di ripristino immagine, ha il pulsante Next a quattro colpi di tabulatore dal tuo clic su “Restore Image“, la voce che dovrai selezionare una volta specificata l’immagine sorgente. I quattro colpi di tabulatore ovviamente vanno calcolati (e dati) nel momento in cui avrai specificato su quale disco effettuare il restore:

Problemi di risoluzione video per Macrium e Lenovo T470s 2

Il comando viene accettato alla pressione del tasto barra spaziatrice, contrariamente a quello che si potrebbe pensare (io avevo dato per scontato l’Invio, tanto per dire). Se al posto della schermata successiva si dovesse aprire l’help (in alcune versioni di Macrium può capitare), i colpi di tabulatore da dare saranno 5 anziché 4.

Capito l’antifona? Vale per qualsiasi mossa “fuori risoluzione” della WinPE di Macrium.

L’alternativa, che ho percorso, è stata quella di preparare una chiave di boot USB con un’immagine di Windows 10 contenente altri strumenti di lavoro, utili per un recupero dati, una base di partenza già pronta e disponibile gratuitamente visitando Ten Forums: tenforums.com/software-apps/27180-windows-10-recovery-tools-bootable-rescue-disk.html

La ISO contiene già diversi programmi utili all’amministratore di sistema, tra cui Macrium e Acronis, tanto per citarne un paio di un certo livello. A te non resta che cercare una chiave USB capiente “il giusto” (ti bastano 4 GB, per la cronaca) e quel WinSetupFromUSB che servirà a renderla avviabile (chiaramente dovrai selezionare il caricamento di una immagine basata su Windows Vista / 7 / 8 / 10 / ecc.), dai un’occhiata a questo articolo se non sai di cosa sto parlando.

L’immagine è già perfetta e con driver video che permetteranno di sfruttare la nativa risoluzione del PC, così da sopperire a quella mancanza che altrimenti ti renderebbe più difficile la clonazione della macchina.

Mi sembra di non aver dimenticato nulla, o almeno spero.

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Più che un articolo complesso, una pillola che potrebbe tornare utile nelle ricerche di Google (e per imperitura memoria del sottoscritto). Si parla ancora di Sysprep, nonostante io abbia già pubblicato qualcosa in merito da poco, con però un riferimento specifico a Windows 10 (in attuale versione Creators Update 1703). Una macchina nuova appena preparata e pronta per essere “chiusa e resa clonabile“, un errore a video che lascia molto spazio a imprecazioni variopinte:

Sysprep was not able to validate your Windows Installation (Bitlocker)

Io quel log l’ho aperto, e ci ho trovato una serie di informazioni anomale, perché relative al Bitlocker mai configurato sul PC:

2017-07-25 10:59:42, Info [0x0f0080] SYSPRP ActionPlatform::LaunchModule: Found 'ValidateBitLockerState' in C:\Windows\System32\BdeSysprep.dll; executing it
2017-07-25 10:59:42, Error SYSPRP BitLocker-Sysprep: BitLocker is on for the OS volume. Turn BitLocker off to run Sysprep. (0x80310039)
[gle=0x00000001]
2017-07-25 10:59:42, Error [0x0f0082] SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'ValidateBitLockerState' from C:\Windows\System32\BdeSysprep.dll; dwRet = 0x80310039[gle=0x00000001]
2017-07-25 10:59:42, Error SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x80310039
2017-07-25 10:59:42, Error SYSPRP RunPlatformActions:Failed while validating SysprepSession actions; dwRet = 0x80310039
2017-07-25 10:59:42, Error [0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x80310039
2017-07-25 10:59:42, Error [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80310039
2017-07-25 10:59:55, Info [0x0f0052] SYSPRP Shutting down SysPrep log

In realtà, incuriosito da quel lucchetto aperto e il segnale di Warning sul disco del sistema operativo, ho scoperto che la protezione dei dati c’è, anche se non si vede. In pratica, quello che Windows 10 Creators Update fa, è una pre-attivazione di Bitlocker, il sistema che permette di criptare i dati ospitati su disco e che consiglio caldamente di utilizzare nel caso in il tuo PC portatile ti segua in tutti i tuoi spostamenti. Aprendo il Pannello di Controllo e portandoti sulla voce relativa alla sicurezza dei dati, noterai una schermata simile (io l’ho recuperata in inglese, ho dimenticato di fare uno screenshot al SO che stavo preparando!):

Sysprep was not able to validate your Windows Installation (Bitlocker) 1

A questo punto hai una sola possibilità: dato che non puoi lanciare un Sysprep di una macchina con Bitlocker attivo, dovrai prima disattivarlo e quindi -una volta terminata la decrittografia- rilanciare il processo di chiusura (Sysprep, appunto). Per farlo ti consiglio di utilizzare la Powershell, nettamente più rapida di una criptazione completa dei dati e successiva decrittografia.

Apri una finestra di PowerShell e lancia il comando Disable-BitLocker -MountPoint "C:", dove C: è la lettera corrispondente al disco che ospita il sistema e che ti sta dando questo problema. A questo punto dovrai semplicemente attendere che la decrittografia venga completata, a quel punto non dovresti più avere errori a video:

 esc.


fonti utilizzate:
Condividi l'articolo con i tuoi contatti:

Ti è mai capitato di preparare una macchina “template” da catturare e clonare su diverse altre macchine dello stesso modello? Qui continuamente, ed è tutto ciò su cui si cerca di basare il rilascio di nuove postazioni. Avere un solo modello Desktop e uno laptop (o comunque un numero quanto più limitato) aiuta a gestire meglio il parco macchine aziendale, è risaputo ed è una pratica di quelle buone, da cercare di mantenere il più possibile nel tempo.

Tralasciando però quella che è la pippa mentale relativa alla teoria delle buone pratiche, passiamo al succo dell’articolo e al problema specifico da risolvere: un SysPrep fallito, con tanto di messaggio di accompagnamento simile (in realtà potrebbe essere identico) a quello riportato nel titolo dell’articolo.

Microsoft Windows

Di motivi per far fallire un SysPrep ne esistono diversi, ma un paio sono quelli più comuni e sono quelli a cui possiamo fare riferimento insieme (con relativa soluzione), e onestamente non ho idea del perché io abbia lasciato nel dimenticatoio questo articolo (la bozza era del 2014, fa un po’ te). Provo a dargli una svecchiata, magari è la volta buona che va in pubblicazione :-)

Hai finito le cartucce

Con Windows 7, contrariamente a Windows 10, avevi a disposizione un massimo di 3 Rearm di sistema (il Rearm serviva a terminare un intervallo di utilizzo di sistema privo di attivazione, cominciandone uno nuovo e permettendoti di estendere il tuo periodo “di prova” di Windows, ciò è alla base dei periodi trial di Microsoft tutt’oggi, sia per Windows che per Office). Questo era ciò che nel libro di teoria potevi trovare pressoché ovunque, ma che come ogni medaglia, dava il meglio di sé voltando la prima faccia. Un SysPrep comprendente un parametro di Rearm, andava a dare un’occhiata a quello che era il contatore di sistema, che puoi facilmente richiamare ancora oggi eseguendo il comando slmgr.vbs -dlv (come suggerito anche nel forum di Microsoft):

A fatal error occurred while trying to sysprep the machine

Lo screenshot qui sopra fa riferimento a quel vecchio sistema 7 che dovevo mandare in SysPrep nel 2014, e che riportava uno zero in corrispondenza della voce “Numero di ripristini di Windows rimanenti“, era proprio lui a impedirmi di portare a termine il mio compito. Come si aggirava e si aggira tutt’oggi (se hai ancora a che fare con Windows 7, nda) l’ostacolo? Semplice. Si va a modificare la chiave di registro che ne controlla il contatore.

Per farlo però, ti occorre mandare in recovery il sistema, premendo F8 durante l’avvio dell’OS e selezionando la voce relativa alla partenza avanzata di Windows (Advanced Boot Options), quella che ti permette di avere un prompt dei comandi. Dal prompt dovrai semplicemente fare tre operazioni relative al registro di Windows:

reg load HKLM\MY_SYSTEM "%~dp0Windows\System32\config\system"
reg delete HKLM\MY_SYSTEM\WPA /f
reg unload HKLM\MY_SYSTEM

Se la modifica va a buon fine, potrai riavviare la macchina e rilanciare il comando slmgr.vbs -dlv per verificare che il contatore sia tornato a mostrare un numero di possibili Rearm positivo. Se Windows dovesse richiederti il Product Key, ignora il passaggio e recuperalo in seguito, anche via prompt dei comandi, sempre passando per il slmgr.vbs. Il comando completo per passare un Product Key al sistema è slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX dove, chiaramente, dovrai andare a sostituire la serie di “X” con il codice in tuo possesso. Se non lo hai, utilizzane uno a tempo (scadono entro un mese):

  • Windows 7 Ultimate: D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV
  • Windows 7 Professional: HYF8J-CVRMY-CM74G-RPHKF-PW487
  • Windows 7 Home Premium: RHPQ2-RMFJH-74XYM-BH4JX-XM76F
  • Windows 7 Home Basic: YGFVB-QTFXQ-3H233-PTWTJ-YRYRV
  • Windows 7 Starter: 7Q28W-FT9PC-CMMYT-WHMY2-89M6G

A tutto questo c’è un’alternativa che ti permette di bypassare il contatore dei Rearm e fare SysPrep perdendo un po’ meno tempo. È riportata in un articolo che mi è tornato molto utile in passato (questo: mickitblog.blogspot.it/2011/08/fatal-error-occurred-while-trying-to.html), questo il riassunto:

  • Nel file Unattend.xml cerca e cancella il parametro skiprearm=1
  • Nel regedit, naviga in HKLM\SYSTEM\Setup\Status\SysprepStatus, quindi cerca e imposta GeneralizationState a 7
  • Da un prompt dei comandi, lancia prima un msdtc -uninstall, fai seguire poi un msdtc -install
  • Torna nel regedit, naviga in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform, quindi cerca e imposta il valore SkipRearm a 1
  • Togli il cavo di rete dalla macchina (e disconnettila dal WiFi, se connessa)
  • Rilancia il SysPrep.

E se invece è un problema di profilo?

Può capitare anche questo, ed è il secondo caso più comune. Hai preparato il sistema, sei partito da un’immagine già esistente, da fondamenta già gettate e apparentemente ben solide ma, all’ultimo minuto, il SysPrep va in errore per cause apparentemente sconosciute, strane da interpretare. Potresti scoprire che in realtà si tratta di un vecchio profilo locale rimosso, ma rimasto “appeso” nel registro di sistema. Se ne parlava in un vecchio thread nel forum, tra le possibili soluzioni: social.technet.microsoft.com/Forums/windows/en-US/2aa9466d-a203-4f3e-80d9-f1ae6d11f6c5/sysprep-failed-at-microsoftwindowsshellsetup?forum=w7itproinstall

È ancora una delle vie d’uscita poco considerate, ma che possono toglierti le castagne dal fuoco. Avvia il regedit, naviga in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Noti nulla di strano? Se qui compare un profilo non più presente sulla macchina, la CopyProfile prevista dal tuo file XML unattend non potrà mai andare a buon fine, generandoti l’errore a video.

Cancella la chiave di registro (intera) relativa al profilo non più esistente. Riprova ora il SysPrep, molto probabilmente andrà a buon fine e tu potrai concludere il lavoro.

Cosa dice Microsoft

Raccoglie qualche riferimento all’interno di un documento ufficiale di Support, che tu stesso puoi leggere puntando il browser a support.microsoft.com/en-us/help/929828/an-error-message-occurs-when-you-run-sysprep-generalize-in-windows-vis, probabilmente però questo non riuscirà a dare risposta alla tua domanda e difficoltà, ma questa è un’altra storia.

Ciò che mi auguro è che l’articolo, rispolverato e rimesso più o meno in ordine, possa darti realmente una mano in caso di difficoltà con questo ottimo strumento che è SysPrep.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Giusto ad inizio settimana un collega mi ha richiesto una “automatizzazione di un processo” di installazione Sophos Antivirus su delle macchine virtuali (Thin client per la precisione), in un certo senso si parla di un fritto misto tra processi unattended e VDI (Virtual Desktop Infrastructure). C’è una scheda tecnica abbastanza dettagliata a tal proposito, nella KB del sito Sophos.com:

sophos.com/support/knowledgebase/article/28591.html

Riporta passo dopo passo le operazioni da compiere, fortunatamente semplici da replicare tramite batch senza l’intervento umano. Chiaramente il batch che si andrà a realizzare avrà la necessità di essere avviato come amministratori della macchina (locali o di dominio, non ha importanza), questo perché si richiamano delle stringhe di installazioni che verrebbero inibite ad un utente normale.

# la procedura da seguire

qui di seguito i passaggi suggeriti dalla documentazione ufficiale:

  1. Install Sophos Anti-Virus to a client machine as if it was a fresh install.
  2. After update has finished, stop the Sophos AutoUpdate service. (This prevents an update starting during the procedure, which would attempt to install the other components, breaking the image. The service will restart automatically at the end of the procedure.)
  3. Go to the folder C:\Program Files\Sophos\Remote Management System, and make copies of the following files :
    • cac.pem
    • mrinit.conf
  4. Go to ‘Add/Remove Programs’, and remove the following components :
    • Sophos Anti-Virus
    • Sophos Remote Management System
  5. Delete the contents of the : C:\Program Files\Sophos\AutoUpdate\Cache folder
  6. Delete the : C:\Program Files\Sophos\AutoUpdate\data\status\status.xml file
  7. Re-create the : C:\Program Files\Sophos\Remote Management System folder, and add (to it) the copies of cac.pem, and mrinit.conf you made (above)
  8. Now take the image

# il batch spiegato passo-passo

Tutto parte quindi da un’installazione pulita di Sophos Antivirus, da eseguire con procedura standard su una macchina che si vorrà utilizzare poi come master (clone) per le altre a venire.

Fermando il servizio AutoUpdate si eviteranno interventi da parte del server, condizione fondamentale durante il processo di preparazione:

echo *** Fermo il servizio Update ... ***
echo.
net stop "Sophos AutoUpdate Service"

si copiano quindi i file di configurazione del RMS (Remote Management System) fuori dalla cartella iniziale, basta la root della cartella dell’antivirus:

echo *** Copio file RMS ... ***
echo.
cd "%programfiles%\Sophos\Remote Management System"
copy cac.pem ..\cac.pem
copy mrinit.conf ..\mrinit.conf

e si procede con la disinstallazione di RMS e parte AntiVirus (lasciando solo -quindi- la parte AutoUpdate):

echo *** Disinstallo Sophos Antivirus ... ***
MsiExec.exe /X{034759DA-E21A-4795-BFB3-C66D17FAD183} REBOOT=SUPPRESS /qn 2>NUL
echo.
echo Eseguito.
echo.
echo *** Disinstallo Sophos Remote Management System ... ***
MsiExec.exe /X{FF11005D-CBC8-45D5-A288-25C7BB304121} REBOOT=SUPPRESS /qn 2>NUL
echo.
echo Eseguito.

una veloce pulizia della cartella Cache seguita a ruota dalla rimozione del file di status dell’ultimo update ricevuto:

echo *** Cancello cartella Cache ... ***
cd ..\AutoUpdate
rd Cache /S /Q
echo.
echo *** Cancello Status Update ... ***
cd data\status
del status.xml

per arrivare infine al ripopolamento della cartella RMS precedentemente disinstallato:

echo *** Popolo cartella Remote Management System ***
cd %programfiles%\Sophos
if not exist "Remote Management System" mkdir "Remote Management System"
move cac.pem "Remote Management System"
move mrinit.conf "Remote Management System"

il gioco è praticamente fatto, la macchina da clonare è pronta (provando ad immaginare che Sophos sia stato l’ultimo software da preparare per il master).

Sulla macchina clonata basterà attendere (o lanciare forzatamente) un aggiornamento del client per far partire immediatamente il download dei pacchetti mancanti con conseguente installazione, nome macchina differente (sicuramente) ma configurazioni praticamente identiche alla macchina che ha generato il clone.

Facile, comodo, veloce :-)

Buon lavoro!

Condividi l'articolo con i tuoi contatti: