Visualizzazione post con etichetta mdsched. Mostra tutti i post
Visualizzazione post con etichetta mdsched. Mostra tutti i post

venerdì 24 marzo 2023

Windows Server 2022: Diagnostica e risoluzione dei problemi di avvio

Gli amministratori di sistema, con qualche anno di esperienza sulle spalle, si saranno sicuramente ritrovati dinanzi ad un server che non si avvia. In questi casi è fondamentale, oltre a risolvere il problema, capire anche la causa scatenante in modo da evitare, per quanto possibile, che il problema si possa ripresentare e/o che si presenti anche su altri server dell'infrastruttura.
Il primo passo per individuare cosa non va nel sistema è quello di accedere alla diagnostica di avvio fornita con i sistemi operativi Windows Server.

Avvio da DVD o da pendrive USB

Se il server che presenta problemi di avvio è un server fisico, è possibile utilizzare un DVD o una chiavetta USB per avviare il sistema e utilizzare gli strumenti messi a disposizione per ripristinare il funzionamento. Questo è anche l'unico metodo possibile nel caso in cui il server sia completamente bloccato e non viene caricato il sistema operativo né è possibile accedere alle opzioni di avvio avanzate. Non sempre si ha a portata di mano il supporto di installazione del sistema operativo, in questi casi basterà scaricare il file ISO di Windows Server 2022 dal sito web di Microsoft e masterizzare l'immagine su un DVD o preparare, con appositi tool, una pendrive USB avviabile. Potrebbe essere necessario modificare l'ordine di avvio in modo che venga avviata l'unità DVD o la pendrive USB prima del disco rigido. È possibile effettuare questa modifica accedendo al Basic Input-Output System (BIOS) o all'Unified Extensible Firmware Interface (UEFI). Il tasto da premere per accedere al BIOS/UEFI dipende dal produttore del firmware. Alcuni sistemi offrono semplicemente un menu di avvio (Boot menu) quando si preme F12, che consente di selezionare l'unità DVD o la pendrive USB per un avvio unico.

Avviare il sistema con il supporto di installazione preparato in precedenza.

Apparirà la schermata mostrata in FIG 1 con la scritta Press any key to boot from CD or DVD. Premere un tasto per eseguire il boot dal supporto.
Press any key to boot from CD or DVD
FIG 1 - Press any key to boot from CD or DVD
Nella prima schermata viene chiesto di specificare la lingua, il formato dell'ora e della valuta, e la tastiera o il metodo di input. Accettare le impostazioni predefinite cliccando su Avanti.
Configurazione del sistema operativo Microsoft Server
FIG 2 - Configurazione del sistema operativo Microsoft Server
Nella schermata successiva appare il grande pulsante Installa (Non cliccare sul pulsante!). Cliccare sul collegamento Ripristina il computer presente nell'angolo in basso a sinistra.
Ripristina il computer
FIG 3 - Ripristina il computer
Fare clic su Risoluzione dei problemi.
Scegli un'opzione
FIG 4 - Scegli un'opzione
Le opzioni disponibili in tale schermata sono:
  • Prompt dei comandi: Consente di eseguire la risoluzione avanzata dei problemi ed è particolarmente utile se è necessario riparare i file di avvio. È possibile utilizzare l'utilità diskpart per lavorare con l'unità e il comando bootrec per ricostruire o riparare i file di avvio.
  • Impostazioni firmware UEFI: tale opzione viene visualizzata solo se viene rilevato il firmware UEFI. Consente di riavviare il sistema e accedere alle impostazioni UEFI.
  • Ripristino immagine del sistema: Consente di ripristinare il sistema da un'immagine creata da un'utilità di backup. Verrà chiesto di scegliere un sistema operativo di destinazione da ripristinare e verranno mostrati i backup disponibili da utilizzare.
Opzioni avanzate
FIG 5 - Opzioni avanzate


Utilizzo delle opzioni di avvio avanzate

Il menu Opzioni di avvio avanzate, presente da diverso tempo nei sistemi operativi Windows, offre all'amministratore del sistema una serie di utilità per la risoluzione di vari problemi del sistema.
Ci sono due modi per accedervi:
  1. La prima opzione è quella in cui il menu appare in automatico a seguito di un problema di avvio del sistema.
  2. La seconda opzione è quella in cui un amministratore di sistema sceglie volutamente di avviare il sistema nel menu Opzioni di avvio avanzate. Questo può avvenire per diversi motivi ad esempio per risolvere problemi con i driver, per rimuovere un malware, ecc.
Per accedere al menu Opzioni di avvio avanzate, procedere nel seguente modo:
Fare clic sul menu Start e quindi sull'icona Impostazioni (o, in alternativa, premere la combinazione di tasti WIN + I).
Menu Start
FIG 6 - Menu Start
Cliccare su Aggiornamento e sicurezza.
Impostazioni di Windows
FIG 7 - Impostazioni di Windows
Sul lato sinistro della finestra, selezionare Ripristino quindi, in Avvio avanzato, cliccare sul pulsante Riavvia ora.
Ripristino
FIG 8 - Ripristino
Una finestra di dialogo ci chiedi di specificare il motivo del riavvio. Lasciare selezionata la voce Altro (pianificato) e cliccare sul pulsante Continua.
Motivo del riavvio
FIG 9 - Motivo del riavvio
Dopo il riavvio verrà la seguente schermata. Cliccare sul pulsante Risoluzione dei problemi.
Scegli un'opzione
FIG 10 - Scegli un'opzione
Nella schermata Opzioni avanzate selezionare Impostazioni di avvio.
Opzioni avanzate
FIG 11 - Opzioni avanzate
Cliccare su Riavvia.
Impostazioni di avvio
FIG 12 - Impostazioni di avvio
Dopo il riavvio ci troveremo davanti il menu Opzioni di avvio avanzate. Il menu presenta diverse opzioni che verranno di seguito presentate.
Opzioni di avvio avanzate
FIG 13 - Opzioni di avvio avanzate

La modalità provvisoria è quasi sempre la scelta migliore quando si verificano problemi di avvio del sistema.  La modalità provvisoria avvia Windows con i servizi e i driver minimi necessari per funzionare e si rivela fondamentale in diverse occasioni come, ad esempio, nella risoluzione di problemi in cui un driver difettoso causa un loop di avvio. Avviando il sistema in tale modalità sarà possibile risolvere il problema del driver disinstallandolo o sostituendolo. La modalità provvisoria è anche estremamente utile in caso di potenziali infezioni da malware, perché impedisce il caricamento di eventuali componenti necessari al suo funzionamento  permettendo agli strumenti di rimozione di eliminare completamente il codice dannoso dal sistema. Come visibile in FIG 13, ci sono diversi tipi di modalità provvisoria. La scelta del tipo di modalità provvisoria da avviare va effettuata in base all'operazione che si intende eseguire.


Modalità provvisoria
Si tratta di una normale modalità provvisoria. Vengono caricati solo i servizi e i driver di base necessari al funzionamento di Windows e all'interazione con esso. Niente di più, niente di meno.
Nella maggior parte dei casi, questa forma normale di modalità provvisoria è tutto ciò che serve per risolvere il problema. Ha un'interfaccia grafica come quella di Windows Server ma non ha accesso a Internet o ad altre risorse di rete. In sostanza, è una macchina stand-alone.

Modalità provvisoria con rete
La modalità provvisoria con rete è simile alla modalità provvisoria normale ma il sistema carica anche i driver necessari per il corretto funzionamento della scheda di interfaccia di rete (NIC). È utile se si deve scaricare software da Internet (ad esempio, driver o software di diagnostica) o da una condivisione di rete. In questo modo è possibile sostituire un driver difettoso o un software incompatibile con una versione valida e quindi avviare il sistema con successo.

Modalità provvisoria con prompt dei comandi
In modalità provvisoria con Prompt dei comandi, si esclude l'ambiente desktop di Explorer. Questo può essere particolarmente utile se il desktop non viene visualizzato correttamente per un qualsiasi motivo. La Modalità provvisoria con Prompt dei comandi è consigliata quando il problema da risolvere ha a che fare con la grafica dovuto a un driver, al rendering della grafica o alla rimozione di un'infezione da malware che si basa su componenti grafici come sfondi e screensaver.

Abilita registrazione avvio
Per visualizzare quali driver vengono caricati all'avvio del sistema è necessario selezionare Abilita registrazione avvio. In questo modo verrà creato un file chiamato ntbtlog.txt contenente l'elenco di tutti i driver installati all'avvio del sistema operativo. Il file viene memorizzato nella directory di sistema di Windows, in genere C:\WINDOWS. Per inciso, questo è lo stesso elenco che si vede scorrere sullo schermo quando si avvia la modalità provvisoria.

Abilita video a bassa risoluzione
Questa impostazione è molto utile se si verificano problemi di visualizzazione, ad esempio dopo aver impostato una risoluzione non supportata dal monitor. In tale modalità viene utilizzato il driver video installato ma viene impostata una risoluzione inferiore (in genere 640 x 480) e una frequenza di refresh più bassa.

Ultima configurazione valida nota (avanzata)
Tale modalità è utile per risolvere i problemi di avvio che si verificano per via del registro di Windows danneggiato. Nella maggior parte dei casi ciò si verifica a causa di una configurazione errata da parte dell'utente o a seguito di aggiornamenti o patch. Quando si sceglie l'Ultima configurazione valida nota, il Registro di sistema viene ripristinato in modo che corrisponda alle impostazioni dell'ultima volta che il sistema è stato avviato correttamente. Ogni volta che si utilizza qualcosa che modifica il Registro di sistema  è necessario prestare molta attenzione. Non c'è modo di annullare l'utilizzo di Ultima configurazione valida nota: se non risolve il problema o lo peggiora, è necessario eseguire un ripristino da un backup.

Modalità di ripristino dei servizi directory
Questa opzione appare solo su un server che è un controller di dominio (per tale motivo non è mostrata in FIG 13). La modalità di ripristino dei servizi di directory (DSRM) è una forma speciale di modalità provvisoria creata per i controller di dominio che consente di riparare o ripristinare un database di Active Directory.
Per utilizzare questa utility è necessario conoscere la password DSRM impostata al momento della creazione del controller di dominio. Se non si conosce la password, si può usare lo strumento ntdsutil per cambiarla. Il funzionamento di Active Directory verrà approfondito più avanti in un apposito articolo. Per il momento si può pensare ad Active Directory come a uno speciale database che memorizza informazioni su utenti, computer, siti e altri oggetti della rete. Questo database può essere fondamentale per l'organizzazione quindi sapere come ripristinarlo in caso di danni è molto utile.

Modalità di debug
La modalità di debug attiva il debug del kernel. Il kernel è uno dei primi programmi che vengono eseguiti all'avvio del server (viene caricato subito dopo il bootloader) e ha il controllo totale su tutto il sistema. Il debug del kernel consente di esaminare gli stati e i processi in esecuzione a livello di kernel. Questo può essere molto utile per risolvere problemi con i driver dei dispositivi che causano la famigerata schermata blu della morte (BSOD) e problemi con l'unità di elaborazione centrale (CPU). È possibile esaminare il dump della memoria del kernel sul sistema su cui si presenta il problema oppure da remoto tramite una connessione seriale. Le informazioni della modalità di debug sono in genere disponibili sulla porta COM1 (sempre che si disponga di una porta seriale assegnata a COM1). Sui sistemi più recenti che non dispongono di una porta seriale, è possibile accedere a queste informazioni anche tramite USB.

Per ulteriori informazioni su come configurare il sistema per il debug del kernel con connettività seriale o USB, consultare i seguenti articoli:
Le porte COM erano tipicamente presentate come porte seriali con connettori RS-232 sui sistemi più vecchi. Nei sistemi più recenti sono state sostituite da porte USB. USB è l'acronimo di Universal Serial Bus (bus seriale universale) e, come si intuisce dal nome, si tratta comunque di una connessione seriale.

Disabilita riavvio automatico in caso di errore di sistema
Di default Windows si riavvia automaticamente in caso di errore di sistema. Questo può portare a quello che viene definito un loop di avvio: il sistema si riavvia continuamente impedendo all'amministratore di sistema di visualizzare le informazioni relative all'errore. Selezionando tale modalità, Windows non verrà più riavviato in caso di errore del sistema. La disattivazione del riavvio automatico può essere molto utile per visualizzare le informazioni relative all'errore all'interno della BSOD.

Disabilita imposizione firma driver
Microsoft richiede che i driver siano firmati digitalmente per impostazione predefinita e impedisce l'esecuzione dei driver non firmati. Quando un driver è firmato digitalmente viene considerato autentico in quanto è possibile verificare dalla firma digitale che proviene dal fornitore da cui dichiara di provenire. Le firme digitali garantiscono, inoltre, che il driver non è stato modificato in alcun modo da quando è stato rilasciato dal fornitore. Le firme digitali utilizzano un certificato di firma del codice per crittografare l'hash di un file. Gli hash sono impronte digitali uniche: qualsiasi modifica al file cambierà l'hash. L'hash crittografato viene poi allegato al certificato e all'eseguibile del driver. Quando l'utente finale installa il driver, l'hash del file viene decifrato con la chiave pubblica del certificato. Il file viene nuovamente sottoposto a hash sul sistema dell'utente finale e il nuovo hash viene confrontato con quello decrittografato. Se corrispondono, il driver non è stato manomesso. Se si sceglie Disabilita imposizione firma driver, sarà possibile caricare driver non firmati digitalmente. Tale modalità va ponderata attentamente in quanto espone il sistema a grossi rischi di sicurezza. Ad esempio, si potrebbe installare un malware che si presenta come un driver non firmato.

Disabilita driver antimalware ad esecuzione anticipata
Il software antivirus installato sul sistema può bloccare l'installazione o l'esecuzione di malware dopo l'avvio di Windows. Il problema è che gli autori di virus hanno iniziato a scrivere malware chiamati rootkit che possono essere molto difficili da eliminare perché si installano ed eseguono prima dell'avvio del sistema operativo. Molti dei rootkit più sofisticati installano driver che si avviano molto presto nel processo di avvio del sistema rendendoli estremamente difficili da trovare e rimuovere. In risposta a questo tipo di minaccia, Microsoft ha ideato il driver ELAM (Early Launch Anti-Malware). I fornitori di antivirus certificati i cui prodotti supportano l'avvio anticipato possono far sì che i driver dei loro prodotti vengano avviati prima dei driver di avvio di Windows, consentendo loro di eseguire la scansione dei processi dannosi all'avvio. 
Microsoft offre la possibilità di disattivare questa funzione, scegliendo Disabilita driver antimalware ad esecuzione anticipata. La disattivazione va eseguita solo se è assolutamente necessaria, ad esempio nel caso il cui un driver di avvio legittimo per Windows venga segnalato come dannoso impedendo l'avvio del server, e solo per il tempo necessario a risolvere il problema.


Test della memoria

Blocchi del sistema, riavvii inattesi, schermate blu possono essere dovuti a software corrotto o ad un guasto hardware. In questi casi possiamo recuperare maggiori informazioni analizzando il registro eventi di sistema, i messaggi delle schermate BSOD e i file di dump. 
Anche la memoria RAM, in questi casi, è uno dei principali indiziati soprattutto se si presentano schermate blu con messaggi di errore relativi a Memory Management. Windows Server 2022 include un'utilità di diagnostica della memoria integrata chiamata Strumento di diagnostica memoria Windows. È possibile eseguire lo strumento di diagnostica della memoria premendo la combinazione di tasti WIN+R, digitando mdsched.exe e facendo clic su OK. 
mdsched
FIG 14 - mdsched
Una finestra di dialogo ci chiede se intendiamo riavviare il sistema e procedere con la verifica della memoria oppure se programmarla al prossimo avvio.
Selezionare l'opzione Riavvia ora e individua eventuali problemi per riavviare il sistema e procedere subito con la verifica.
Individuare eventuali problemi di memoria del computer
FIG 15 - Individuare eventuali problemi di memoria del computer
Dopo il riavvio ci ritroveremo dinanzi la schermata principale dello Strumento di diagnostica memoria Windows. La verifica della memoria sarà eseguita in modalità standard.
Strumento di diagnostica memoria Windows
FIG 16 - Strumento di diagnostica memoria Windows
È possibile interrompere la verifica in qualsiasi momento premendo il tasto  F1 per accedere alla schermata Opzioni e modificare le impostazioni (Combinazione di test, Cache, Conteggio esecuzioni test).

Combinazione di test
É possibile scegliere tra 3 combinazioni di test:
  • Minima - Esegue tre test sulla memoria MATS+, INVC e SCHCKR (cache attivata) ed è l'opzione più veloce.
  • Standard - Esegue sulla memoria gli stessi test delle combinazione Minima oltre a LRAND, Stride6 (cache attivata), CHCKR3, WMATS+ e WINVC.
  • Estesa - Esegue tutti i testi della combinazione Standard oltre a MATS+ (cache disattivata), Stride38, WSCHCKR, WStride-6, CHCKR3, WCHCKR3, ERAND, Stride6 (cache disattivata) e CHCKR8. Si tratta del test più dettagliato e richiede più tempo per essere completato.
Combinazione di test Estesa
FIG 17 - Combinazione di test Estesa

Cache
Permette di impostare la cache per ogni test che si intende eseguire. La cache viene utilizzata per migliorare la velocità di accesso alla memoria per gli elementi a cui la CPU accede frequentemente. La cache deve essere disabilitata se si eseguono test che richiedono l'accesso diretto alla memoria. Le opzioni disponibili sono le seguenti:
  • Predef. - Si tratta dell'impostazione predefinita. Nella maggior parte dei casi, Predef. è l'impostazione appropriata.
  • Attiva - Attiva la cache per i test.
  • Disattiva - Disattiva la cache per i test.

Conteggio esecuzioni test (0-15)
Il conteggio esecuzioni test permette di specificare quante volte eseguire i test selezionati. L'impostazione predefinita prevede due passaggi. Il valore massimo è 15.

Dopo aver effettuato le selezioni, premere F10 per applicare le impostazioni e la scansione verrà riavviata.

Al termine dei test, il sistema verrà riavviato. Non tutte le volte il sistema visualizzerà i risultati del test, soprattutto quando non risultano problemi evidenti. In ogni caso i risultati possono essere visualizzati accedendo al registro eventi di sistema.
Per accedere al registro eventi, premere la combinazione di tasto WIN+e digitare eventvwr seguito da Invio.
Avvio visualizzatore eventi
FIG 18 - Avvio visualizzatore eventi
Nel riquadro di sinistra espandere la voce Registri di Windows quindi selezionare Sistema. A questo punto non resta che cercare l'evento che ha MemoryDiagnostics-Results come Origine. Come visibile in figura non risulta rilevato alcun errore.
MemnoryDiagnostics-Results
FIG 19 - MemnoryDiagnostics-Results

Prompt dei comandi

Il Prompt dei comandi può essere utilizzato per risolvere diversi problemi e si tratta di uno strumento che è sempre disponibile. Di seguito verranno mostrati alcuni dei comandi più utili che è possibile utilizzare.

System File Checker
sfc /scannow
Questa utility controlla i file di sistema per verificare se corrispondono a quanto previsto confrontando la firma del file di sistema sul server con la firma di una copia in cache dello stesso file. I file memorizzati nella cache sono archiviati in una cartella compressa situata in C:\Windows\System32\dllcache. Se viene trovato un file di sistema corrotto, viene sostituito.

Check Disk
chkdsk /f /r
Questa utility ripara gli errori del file system e contrassegna i settori danneggiati in modo che il sistema operativo non li utilizzi più. L'opzione /f indica all'utilità di risolvere qualsiasi problema riscontrato e l'opzione /r individua le aree (settori) danneggiate sul disco. Questa operazione può richiedere molto tempo per essere portata a termine.

Driverquery
driverquery
Questa utility cerca nel sistema tutti i driver hardware installati in Windows. Può essere molto utile se si riscontrano problemi con sistemi che hanno hardware simile e si vuole sapere se hanno un driver in comune.

BCDEdit
BCDEdit
Consente di modificare la configurazione di avvio del server sul server Windows.


Utility di terze parti

Ovviamente per la diagnosi e risoluzione dei problemi del sistema è possibile affidarsi anche ad utility di terze parti. Tra quelle free più note troviamo

Ultimate Boot CD
Si tratta di uno strumento avviabile da CD\DVD, pendrive USB o da rete tramite PXE utile per riparare, ripristinare o diagnosticare gran parte dei problemi del computer. Per scaricare tale strumento e per maggiori informazioni basta visitare il sito www.ultimatebootcd.com.


Trinity Rescue Kit
Forse meno noto del precedente, si tratta comunque di un ottimo strumento ricco di funzioni molto utili per la diagnostica e ripristino del sistema. Anche in questo caso ci troviamo di fronte ad una distribuzione Linux ricca di strumenti per la diagnostica e risoluzione di problemi che può essere avviata da CD/DVD, da pendrive USB o da rete tramite PXE. Per maggiori informazioni è possibile visitare il sito https://trinityhome.org.