Eseguire sempre gli aggiornamenti di Windows è utile e importante, perché si vanno a chiudere dei bug di sicurezza e ad aggiungere delle nuove funzioni al sistema operativo. Anche se a volte gli aggiornamenti possono fare più danni che altro, in particolare in certi ambiti aziendali devono essere fatti. Uno dei miei compiti al lavoro è proprio quello di cercare di aggiornare i computer remoti che gestisco, ripristinando gli aggiornamenti quando non funzionano per qualsiasi motivo.
Di problematiche con gli aggiornamenti di Windows che non si installano ne avevamo parlato in questi due articoli, 1 e 2, le soluzioni proposte, nella maggior parte dei casi, danno buoni risultati e portano al ripristino del funzionamento degli aggiornamenti. In questo periodo mi trovo però a gestire dei computer dove il normale reset delle componenti di Windows Update non basta più, inoltre non avendo io un accesso diretto al computer, almeno non sempre, devo fare dei controlli e usare dei comandi alternativi prima di arrivare a chiedere al collega di sede di formattare il computer e reinstallarvi il sistema operativo.
Una avvertenza importante prima di cominciare, il successo di queste operazioni non è garantito al 100%, ci sono computer che non si riesce proprio a recuperare, inoltre il tempo impiegato a fare la ricerca degli aggiornamenti, applicare i vari comandi, cercare altre possibili soluzioni ai nuovi problemi che possono saltare fuori durante queste prove, è piuttosto alto.
Valutate quindi bene se ne vale la pena o se il vostro computer, che è tanto tempo che non lo formattate, merita di essere ripulito e di ripartire da zero. Se invece il computer non si può formattare e deve essere sistemato a tutti i costi vediamo quali procedure provare a seguire.
Resettare Windows Update
La prima cosa da provare è il reset delle componenti di Windows Update e dopo aver riavviato il computer eseguire una nuova ricerca degli aggiornamenti.
Controllare lo stato dei servizi
Un altro controllo che faccio sempre è la verifica dello stato dei servizi legati agli aggiornamenti di Windows. A seconda della versione di Windows ci possono essere quattro servizi da controllare.
Microsoft Update Health Service
(non è sempre presente)Servizio trasferimento intelligente in background
Windows Update
Windows Update Medic Service
Il tipo di avvio cerco di metterlo sempre su Automatico
o Automatico (avvio ritardato)
e lo Stato del servizio
deve essere in esecuzione.
Se il servizio continua ad arrestarsi durante la ricerca degli aggiornamenti, ne va analizzata la causa e trovata una cura, sempre se sia possibile.
Installazione manuale
Si può inoltre provare a installare manualmente l'aggiornamento che è fallito, lo si cerca nella pagina di Windows Update Catalog e si prova l’installazione. Quando ho provato a farlo, in genere, è andato in errore lo stesso ma tentar non nuoce.
Windowsupdate.log
Una ulteriore prova da fare, ma qui bisogna essere piuttosto esperti ed armarsi di molta pazienza, è l’analisi del file di log degli aggiornamenti. Bisogna crearlo e poi leggerlo per trovare gli errori.
L’analisi di questo tipo di log non mi ha mai, o quasi, dato dei gran risultati, se si vanno a cercare i codici errore su Internet si viene rimandati sempre all’utilizzo di tecniche e comandi già sperimentati e falliti miseramente.
Dism e sfc
Aggiungo un capitolo sull’utilizzo dei comandi dism e sfc, su Internet molti lo raccomandano e anche un mio collega mi dice di aver ottenuto dei risultati positivi dopo il loro utilizzo. A me non ha mai dato delle grandi soddisfazioni.
Dal prompt dei comandi vanno utilizzati, uno alla volta, questi comandi:
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /checkhealth
dism /online /cleanup-image /restorehealth
Se ottenete un errore simile a quello della foto, che ho riscontrato molto spesso, si può provare a correggerlo. Per leggere i log degli errori dei comandi dism e sfc, nel prosieguo dell’articolo spiegherò quali file bisogna consultare.
Si può utilizzare anche PowerShell per dare i comandi necessari, con sfc va verificato se è riuscito o meno a ripristinare i file danneggiati:
DISM /Online /Cleanup-Image /StartComponentCleanup
SFC /SCANNOW
Ora si controlla se è necessario pulire l’archivio dei componenti:
dism /Online /Cleanup-Image /AnalyzeComponentStore
E si ripete il comando SFC /SCANNOW
per vedere se i problemi sono risolti.
Se la pulizia dell’archivio componenti, che abbiamo appena visto, era consigliata si esegue questo comando: DISM /Online /Cleanup-Image /RestoreHealth
E’ probabile che il controllo rimanga fermo al 62.3% per molto tempo, non interrompete l’esecuzione.
Al termine delle operazioni si vedrà il risultato se il ripristino è riuscito o ha fallito.
Riparare con l’ISO
Un altro metodo di riparazione di questi file di sistema danneggiati è tramite l’immagine ISO del sistema operativo presente nel computer.
L’ISO va montata, usando gli strumenti di Windows (cliccare con il tasto destro del mouse sopra il file ISO e scegliere Monta dal menu), o ne va estratto il contenuto in una cartella qualsiasi, all’interno della cartella sources
si può trovare un file install.wim
o install.esd
, a seconda di come è stata creato il file.
Bisogna trovare l’Indice, un numero, della versione del sistema operativo installato nel computer e presente nel file ISO. In genere dovrebbe essere 1 per Windows Home e 5 per Windows Professional.
Se è presente install.wim va usato il commando dism /Get-WimInfo /WimFile:X:\sources\install.wim
, se invece si trova il file install.esd si usa dism /Get-WimInfo /WimFile:X:\sources\install.esd
.
Al posto della X va messo il percorso dove è stata estratta l’ISO oppure la lettera assegnata dopo aver montato l’immagine.
Anche in questo caso è necessario dare il comando giusto a seconda sia presente il file install.wim:
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:X:\sources\install.wim:IndexNumber /LimitAccess
Oppure install.esd:
DISM /Online /Cleanup-Image /RestoreHealth /Source:ESD:X:\sources\install.esd:IndexNumber /LimitAccess
Al posto della X va messo il percorso dove è stata estratta l’ISO oppure la lettera assegnata dopo aver montato l’immagine, mentre l’IndexNumber è il numero di indice visto in precedenza.
Dism.log e cbs.log
Quando i comandi dism e sfc generano degli errori vengono scritti in due file, Dism.log
che si trova nella cartella C:\Windows\Logs\DISM
e cbs.log
che si trova in C:\Windows\Logs\CBS
.
Sono due file di testo, leggibili anche con Notepad, le informazioni sono però tante e per niente facili da capire.
Conclusioni
Dalle esperienze maturate in questi mesi, ho riscontrato che è tecnicamente possibile ripristinare una buona parte dei computer che ho assistito da remoto, il 100% non credo proprio sia possibile.
Il problema è che il tempo impiegato per avere un risultato, si spera positivo, è alto, tra ricerche degli aggiornamenti, riavvii vari del computer, applicazione dei comandi (alcuni molto lunghi da eseguire), analisi dei log, si rischia di metterci troppo e che non ne valga la pena.
Rifare una installazione da zero del sistema operativo, con tutti i programmi e le configurazioni necessarie, può essere più lungo e complicato, ma in azienda noi IT abbiamo le immagini di backup di computer già pronte, o quasi, all’uso e, mediamente in un ora, ripristino un computer.
Riavviare gli aggiornamenti, in alcuni casi, mi è “costato” sicuramente molto più tempo.
Va quindi valutata bene l’importanza della macchina da recuperare, quanto siete esperti e quanto siete pazienti, perché applicare tutti i comandi, attendere e poi vederli magari fallire, può essere molto frustrante.