Avete dimenticato la password di accesso di Windows? Se avete configurato un account offline, non collegato ad un account Microsoft, probabilmente potete rimediare facilmente solo con un CD/USB live di una qualsiasi distro Linux e chntpw!
Sono stato sempre molto titubante a parlare di chntpw
, strumento che fa parte del Offline NT Password & Registry Editor, perché è un programma non più sviluppato dal 2014 e, diversamente dalle guide che si trovano su internet, anche recenti, che fanno sembrare tutto estremamente facile ed immediato, nella realtà , potremo trovare alcuni ostacoli, molti dei quali potranno essere agevolmente superati, se siamo ben preparati e abbiamo un po' di tempo da dedicarci. Vediamo quindi quanti e quali problemi potremo incontrare tentando di modificare la password del nostro account con chntpw
.
NB: non avendo un sistema che presentasse tutte le condizioni sotto esposte, ho preso gli screenshot da due diversi sistemi. Spero che questo non comprometta la comprensione dell'articolo che rimane comunque valido in ogni sua parte.
Problema 0: Account online
Come detto, se abbiamo configurato un account online, come Microsoft ci costringe a fare in Windows 11 (salvo seguire questa guida!), chntpw non riesce a rimuovere la password da questo tipo di account. Il lato positivo di avere configurato un account online è che almeno possiamo chiedere aiuto a Microsoft per recuperare la password e non abbiamo quindi bisogno di programmi esterni.
In ogni caso, con la nostra distro Live di Linux, potremo avere comunque la possibilità di recuperare i file salvati localmente dall'utente con account online. Se necessario (ad esempio, per utilizzare programmi installati sul computer, per tutti gli utenti), chntpw
ci potrà tornare utile per sbloccare un convenientissimo utente Amministratore, previsto da Windows ma disabilitato per impostazione preferita, con il quale potremo accedere al sistema al successivo riavvio (vedremo in seguito tutta la procedura per farlo).
Problema 1: Secure Boot
Nei computer attuali il BIOS è stato ormai soppiantato dall'UEFI, un sistema più versatile e con molte funzioni in più, tra cui Secure Boot. Questa funzione consente di avviare solo sistemi operativi riconosciuti e i cui file di avvio non sono stati manomessi. Per questo motivo, anche se inseriamo la penna USB o il CD/DVD della distro Linux e selezioniamo l'avvio da USB/CD/DVD, potrebbe comunque avviarsi subito Windows. Il motivo è semplice: l'UEFI ha controllato prima le periferiche da noi indicate ma, non avendo trovato un sistema operativo riconosciuto, è passato ad avviare il solito Windows. Quasi tutte le distro Linux sono però in grado di avviarsi con Secure Boot attivo, dobbiamo solo istruire l'UEFI a considerare attendibile il file di avvio del sistema Linux che abbiamo scelto. Per non ripetermi, vi rimando alla guida sul dual boot con UEFI e Secure boot attivo; nella prima parte del paragrafo Come fare in pratica
, potrete trovare indicazioni su come avviare il CD/DVD/USB di Ubuntu (ma la procedura è simile anche con altre distro!) su un computer Acer.
Una volta avviata la nostra distro, possiamo aprire un terminale e con il semplice comando lsblk
, individuare subito il disco contenente Windows; nell'immagine sotto è /dev/sda3
(lo riconosco per il semplice fatto che è la partizione più grande di quelle presenti!)
Se avete più dischi e più partizioni e non riuscite ad individuare immediatamente la partizione contenente Windows, potete passare delle opzioni aggiuntive a lsblk
. Ad esempio, potreste specificare di mostrare il filesystem e l'etichetta, digitando il comando
lsblk -o +FSTYPE,LABEL
Ecco subito un altro bel problema!!!
Problema 2: BitLocker
BitLocker è il sistema di crittografia di dischi e partizioni caratteristico di Windows in versione Pro o superiore. Se troviamo una partizione che non riusciamo a montare perché non riconosciuta, è molto probabile che il problema sia questo. A questo punto potremo già essere bloccati: se non abbiamo la chiave di ripristino di BitLocker infatti, potremo accedere ai dati contenuti nel disco solo crackando la crittografia, cosa tutt'altro che facile e immediata! Per crackare la chiavi crittografiche servono infatti una notevole potenza di calcolo e molto, molto tempo. Solitamente non è conveniente nemmeno pensare di tentare un'operazione simile salvo il caso di dati che sono, letteralmente, di vitale importanza; quasi sempre se non abbiamo un metodo per ripristinare un disco crittografato conviene formattarlo senza rimpianti in modo da poterlo almeno riutilizzare.
Se abbiamo una chiave di ripristino di BitLocker, stampata o salvata su chiavetta USB, possiamo rimuovere la crittografia dal disco senza necessità di effettuare l'accesso con un account. Dobbiamo avviare il sistema accedendo alle opzioni di ripristino avanzate
e per farlo, dato che non possiamo accedere con il nostro account, dobbiamo avviare il computer e riavviarlo o spegnerlo brutalmente (è possibile farlo tenendo premuto il tasto di accensione fisico presente sul case del PC o sul portatile) per almeno 2 volte: al terzo avvio si dovrebbe presentare la schermata per accedere alle opzioni di ripristino avanzate
. Dopo di che dovremo scegliere, in ordine: Risoluzione dei problemi
, Opzioni avanzate
e infine Prompt dei comandi
.
A questo punto, prima di poter accedere al prompt, dovrebbe apparire la schermata per inserire la chiave di ripristino di BitLocker. Inseriamo tutti e 48 i numeri che contraddistinguono la nostra chiave e avremo finalmente accesso al prompt. Qui potremo verificare lo stato della crittografia del disco contenente l'installazione di Windows, con il comando
manage-bde C: -status
e rimuoverla con il comando
manage-bde -off C:
L'operazione potrebbe richiedere un po' di tempo e conviene attendere che il comando per verificare lo stato, restituisca Decrittografia completata
, prima di riavviare nuovamente.
Bitlocker però non può essere attivato su Windows in versione Home, quindi è probabile che buona parte degli utenti non si troverà di fronte a questo, potenzialmente, insormontabile ostacolo; vediamo quindi come proseguire per raggiungere il nostro obbiettivo: cambiare la password dimenticata del nostro utente Windows!
Individuata la partizione di Windows, possiamo creare una "cartella" dove "montarla". Sono sufficienti 2 semplici comandi che possiamo anche legare insieme:
sudo mkdir /mnt/win && sudo mount -t ntfs-3g /dev/sda3 /mnt/win
Ovviamente potete personalizzare il percorso (che io ho chiamato win
) con un altro nome a vostro piacimento e poi dovete prestare attenzione a indicare la giusta partizione (nel mio caso /dev/sda3
) nel secondo comando!!! Se tutto va a buon fine, il comando sopra non da nessun output, ma... ecco un altro problema!
Problema 3: Hiberfil.sys
Per impostazione predefinita da Windows 8, è attiva un funzione detta Fast Startup. Questo funzione consente di velocizzare l'avvio di Windows ripristinando la sessione presente alla chiusura che viene salvata nel file hiberfil.sys
. Se abbiamo ricevuto l'errore dell'immagine sopra, la partizione di Windows sarà stata montata ma in modalità "solo lettura" (e per modificare la password dobbiamo poterci scrivere!); avremo quindi la possibilità di verificare la presenza di questo file con il comando ls -l /mnt/win
Per rimuovere questo file dobbiamo effettuare lo spegnimento completo ed possibile farlo anche senza possibilità di effettuare il login ma dobbiamo, di nuovo, accedere alle opzioni di ripristino avanzate
, proprio come abbiamo visto nel paragrafo su Bitlocker; questa volta però sceglieremo semplicementi Spegni PC
. Effettuare questa operazione, ci consente di prevenire anche il prossimo problema!!
Se non vogliamo di nuovo spegnere brutalmente il nostro PC, è possibile rimuovere questo file anche dalla nostra distro Live Linux, ma ciò potrebbe avere delle conseguenze come la possibile perdita di dati non ancora salvati al momento dell'ibernazione di Windows. Dato che non ricordiamo la password del nostro utente è probabile che non ricorderemo nemmeno quello che abbiamo fatto l'ultima volta su quel computer, per cui non dovrebbe essere una grossa perdita...
Per poter montare in lettura e scrittura la partizione interessata, dovremo prima smontarla con il comando sudo umount /mnt/win
e poi dovremo istruire mount
ad utilizzare un opzione del driver ntfs-3g
che consente appunto di rimuovere il file hiberfil.sys
Il comando diventerà quindi:
sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda3 /mnt/win
Come già detto se il comando andrà a buon fine non restituirà nessun output; purtroppo ancora una volta... un altro problema!
Problema 4: Unclean filesystem
Rimuovere il file hiberfil.sys
non ha risolto tutti i problemi. Adesso ci sono metadati nella cache di Windows e quindi il filesystem non risulta pulito. Fortunatamente possiamo superare agevolmente anche questo problema ma, anche in questo caso, potremo perdere dei dati riferiti all'ultima sessione di Windows. Da notare che questi errori sono voluti dagli sviluppatori del driver ntfs-3g
che hanno implementato queste funzioni per garantire al massimo l'integrità dei file di Windows. Fortunatamente hanno previsto anche un modo per arrivare a montare in lettura e scrittura la partizione con Windows!
Se abbiamo ricevuto l'errore dell'immagine sopra, diversamente da prima, la partizione contenente Windows non sarà stata montata nemmeno in sola lettura. Per superare questo ostacolo, sarà necessario utilizzare un programma diverso da quelli già visti fin ora: ntfsfix
. Basterà invocare questo comando, con sudo
e indicare la partizione interessata:
sudo ntfsfix /dev/sda3
L'output mostrerà ancora degli errori, ma questa volta possiamo ignorarli e ripetere il comando sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda3 /mnt/win
; questa volta nessun output, finalmente! Possiamo anche notare che il file hiberfil.sys
non è più presente
Cambiamo la password!
Adesso che possiamo accedere in lettura e scrittura alla partizione contenente Windows, possiamo andare a modificare la password del nostro utente. Per farlo ci servirà prorpio chntpw
; se non fosse già presente, possiamo installarlo facilmente secondo il metodo previsto dalla distro che abbiamo scelto. Dato che sto usando Linux Mint, il comando per installarlo sarÃ
sudo apt install chntpw
» Leggi: Come si installa un programma su Linux?
A questo punto dobbiamo trovare il file SAM dove sono contenuti i dati di accesso di tutti gli utenti del sistema. Io non ricordo mai in quale cartella è locato di preciso ma find
può facilmente trovarlo per me:
find /mnt/win/ -name SAM
Find trova 3 risultati ma dato che gli ultimi due fanno riferimento a dei log, il primo è quello che ci interessa. Dovremo passarlo come argomento a chntpw
e magari potremo utilizzare come opzione -i
per utilizzare la modalità interattiva, in modo che ci vengano proposte tutte le possibili operazioni da fare. Il comando sarà quindi:
chntpw -i /mnt/win/Windows/System32/config/SAM
La prima scelta proposta da chntpw
è editare dati o password degli utenti (opzione 1
) o mostrare i gruppi (2
); scegliamo 1
e ci verranno mostrati tutti gli utenti presenti nel sistema, evidenziando quelli disabilitati/bloccati e quelli che hanno diritti di amministratore. Per tornare un attimo al Problema 0
, possiamo adesso vedere chiaramente un utente Administrator che però risulta bloccato...
Digitiamo adesso il codice RID (presente nella prima colonna) dell'utente di cui vogliamo modificare la password e ci verranno mostrate un sacco di informazioni dell'utente (Nome, Cognome se presenti, ma anche il numero di accessi fatti, ... ). Anche le opzioni proposte sono varie: potremo cancellare la password
(l'opzione che sceglieremo!!) ma potremo anche aggiungere o rimuovere l'utente da un gruppo
o promuoverlo ad Amministratore
(se già non lo fosse) o, ancora, sbloccarlo se fosse bloccato
.
Scegliendo di cancellare la password, potremo ricevere degli errori, ma non preoccupiamoci e andiamo avanti: scegliamo q
per tornare alla prima schermata e di nuovo q
per uscire dal programma. Prima di uscire completamente, chntpw
ci chiederà se vogliamo davvero applicare le modifiche effettuate, confermiamo con y
e poi potremo riavviare il computer.
Al successivo avvio di Windows, se l'utente a cui abbiamo cambiato la password è il solo utente presente, verrà effettuato il login automatico senza che ci venga richiesta nessuna password.
» Leggi: Come resettare PIN e password di Windows quando non riusciamo più ad accedere