Registro di sistema di Windows

15
Registro di sistema di Windows

Nella guida che segue verrà spiegato come funziona e a cosa serve il Registro di sistema di Windows (in inglese Windows Registry).
Nella prima parte della guida verrà spiegato cos’è utilizzare l’editor del registro mentre nella seconda parte della guida analizzeremo la sua struttura. Per concludere vedremo come cercare una chiave e come modificare un valore.
Attenzione: ricordiamo che una modifica non corretta al registro di sistema di Windows potrebbe rendere il computer inutilizzabile.

Cos’è il registro di sistema

Il registro di sistema di Windows è un database utilizzato dai sistemi operativi Microsoft per memorizzare e conservare le informazioni di configurazione del sistema relative ai dispositivi hardware, ai driver, alle app, ai programmi installati e agli utenti del PC. Questo enorme database contiene informazioni a cui Windows fa continuamente riferimento durante il suo utilizzo.
Molte delle informazioni memorizzate nel registro di sistema corrispondono a impostazioni che possono essere configurate utilizzando gli strumenti dell’interfaccia utente di Windows. Tuttavia l’utilizzo del registro può essere di aiuto in molte situazioni, soprattutto quando si ha la necessità di eseguire delle modifiche a più utenti contemporaneamente. Inoltre la modifica o l’eliminazione di chiavi e valori del registro di sistema risulta di fondamentale importanza per la risoluzione di problemi di malfunzionamento.

Editor del registro di sistema

Per modificare gli elementi del registro di sistema i progettisti della Microsoft hanno incluso un apposito editor.
L’Editor del registro di sistema di Windows (conosciuto anche come regedit o regedit.exe) utilizza un’interfaccia che consente l’accesso a tutti gli hive del registro e agli strumenti necessari a effettuare le modifiche. Vediamo come si avvia.
La guida che segue può essere utilizzata in tutti i computer con Windows 10, Windows 8.1/8, Windows 7 e Windows Vista (→ quale versione di Windows è installata nel PC).

Come avviare l’editor del registro di sistema di Windows

Per poter avviare l’editor del registro di sistema dobbiamo utilizzare un account amministratore (→ differenza fra utente standard e amministratore).
Premiamo sulla tastiera del computer i tasti Windows (è il tasto con il logo di Windows) e R contemporaneamente.
Si aprirà la finestra Esegui (→ cos’è il comando Esegui di Windows).
Nella casella Apri: digitiamo regedit
Facciamo clic su OK.
Si aprirà la finestra Controllo dell’account utente (→ cos’è il Controllo Account Utente).
Facciamo clic su Si.
Si aprirà l’Editor del registro di sistema.

Struttura del registro di sistema

Vediamo adesso com’è strutturato il registro di sistema di Windows.
Il registro di sistema è organizzato in una struttura gerarchica ad albero. Ogni cartellavisualizzata nel riquadro sinistro dell’editor è una chiave (in inglese key). Ogni chiave può contenere altre chiavi e sottochiavi oppure elementi di dati chiamati valori (in inglese values). Il valore è l’elemento di livello più basso di un ramo dell’albero e corrisponde al paramtero del file .ini
Il nodo Computer rappresenta l’inizio dell’albero che costituisce il registro di sistema. Sotto questo nodo troviamo cinque chiavi radice.
Per espandere (o comprimere) una chiave e visualizzare le sottochiavi facciamo doppio clic con il pulsante sinistro del mouse sulla chiave.
Per visualizzare il contenuto di una chiave facciamo clic sulla chiave con il pulsante sinistro del mouse.

Chiavi del registro di sistema

Il registro di sistema di Windows è diviso in cinque chiavi principali o root keys. Ognuna di questa chiavi principali inizia con il prefisso HKEY seguito dal nome dell’area del registro a cui fa riferimento.

HKEY_CLASSES_ROOT

Questa chiave (abbreviata in HKCR) viene ottenuta dall’unione delle informazioni contenute nelle chiavi HKLM\Software\Classes e HKEY_USERS\sid_Classes.
Contiene le associazioni per i tipi di file e le registrazioni delle classi e degli oggetti OLE (Object Linking and Embedding) e COM (Component Object Model).
Il primo gruppo di sottochiavi di HKCR è formato da tutte le estensioni di file presenti nel sistema operativo.

HKEY_CURRENT_USER

Questa chiave (abbreviata in HKCU) contiene le impostazioni relative all’account utente connesso al PC. È un collegamento simbolico alla chiave relativa all’utente contenuta in HKEY_USERS.

HKEY_LOCAL_MACHINE

Questa chiave (abbreviata in HKLM) e specifica per ogni computer. Contiene le impostazioni hardware e le informazioni sui programmi in esecuzione comuni a tutti gli utenti del PC.
Le sottochiavi di HKLM sono le seguenti:

  • HARDWARE
    Contiene le informazioni relative alla configurazione hardware.
  • SAM e SECURITY
    Queste chiavi contengono le informazioni relative alla gestione degli accessi.
  • SOFTWARE
    Contiene le informazioni di configurazione (opzioni, percorsi, personalizzazioni) dei software Microsoft e di terze parti installati nel computer. Normalmente per ogni azienda di software viene creata una chiave specifica con il nome del produttore.
  • SYSTEM
    Contiene le configurazione del registro di sistema.

HKEY_USERS

Questa chiave (abbreviata in HKU) contiene una sottochiave per ogni account utente (inclusi gli account di sistema) compresi i SID, gli identificatori di sicurezza degli account.
Il numero di sottochiavi dipende dal numero di utenti che hanno accesso al computer.

  • DEFAULT
    Questa chiave è sempre presente e viene utilizzata come profilo per l’account LocalSystem.
  • SID
    Le altre chiavi sono relative al profilo degli utenti correnti del sistema operativo. Ogni chiave presente utilizza un SID (Security Identifier), un identificatore univoco di un utente.

HKEY_CURRENT_CONFIG

Questa chiave (abbreviata in HKCC) visualizza il contenuto della sottochiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current.

Chiavi principali e chiavi virtuali

Come possiamo notare, le chiavi principali in realtà non sono cinque ma solo due: HKEY_LOCAL_MACHINE e HKEY_USERS. Le altre tre chiavi sono chiavi virtuali e tecnicamente non esistono. Infatti sono un collegamento a delle chiavi contenute nelle due root keys principali.
Importante: qualsiasi modifica effettuata alle chiavi virtuali ha effetto sulle chiavi originali.
Le chiavi virtuali esistono soltanto quando Windows è in esecuzione. HKEY_CURRENT_CONFIG esiste soltanto se l’utente ha effettuato il login.

Valori del registro di sistema

Ogni chiave del registro di sistema di Windows contiene almeno un Valore, cioè un parametro che definisce il funzionamento della chiave. Questo valore è obbligatorio e viene chiamato Valore Predefinito. La maggior parte delle chiavi contiene inoltre dei valori aggiuntivi.
Tutti i valori diversi dal valore predefinito contengono sempre tre componenti, visibili nel riquadro destro della chiave selezionata. Vediamo quali sono questi componenti.

Nome

In questa colonna viene indicato il nome del valore.

Tipo

In questa colonna possiamo avere diverse voci. Vediamo quali sono.

  • REG_SZ
    É una stringa di lunghezza variabile che termina sempre con 0. Può contenere caratteri Unicode e ANSI.
  • REG_BINARY
    Contiene soltanto dati binari 0 oppure 1.
  • REG_DWORD
    É un valore numerico a 32 bit.
  • REG_QWORD
    É un valore numerico a 64 bit.
  • REG_MULTI_SZ
    Contiene un gruppo di stringhe terminate da 0 assegnate a un unico valore.
  • REG_EXPAND_SZ
    É una stringa terminata da 0 che contiene un riferimento non espanso a una variabile d’ambiente.

Dati

In questa colonna possiamo trovare valori o voci diverse: un percorso, un valore esadecimale (riconoscibile dal prefisso 0x), una sequenza alfanumerica e così via.

Come cercare una chiave nel registro di sistema

Come abbiamo detto all’inizio della guida le dimensioni del registro di sistema di Windows sono enormi. Per questo motivo l’individuazione di una specifica chiave o di un valore potrebbe risultare molto impegnativa.
Per facilitare la ricerca all’interno del database possiamo utilizzare il comando Trova. Vediamo come fare.

Apriamo l’Editor del registro di sistema.
Nel menu in alto facciamo clic su Modifica e su Trova… In alternativa possiamo premere sulla tastiera del computer i tasti Ctrl (o Control) e F contemporaneamente.
Nella casella di ricerca digitiamo il nome dell’elemento che vogliamo trovare e facciamo clic su Trova successivo.
Nella sezione Cerca in possiamo selezionare Chiavi, Valori, Dati e Stringa intera per limitare la ricerca.
Per continuare la ricerca degli altri elementi con lo stesso nome premiamo il tasto F3 sulla tastiera del computer.

Il comando Trova funziona solo in avanti e non ricomincia la ricerca dall’inizio dopo aver raggiunto la fine del registro.
Se non sappiamo dove si trova l’elemento che vogliamo visualizzare, prima di utilizzare il comando Trova, selezioniamo il livello radice più elevato nel riquadro sinistro. Se invece abbiamo un’idea della posizione dell’elemento possiamo selezionare un livello vicino o precedente all’elemento che stiamo cercando.
Importante: l’editor del registro di sistema di Windows memorizza sempre l’ultima chiave visualizzata. Alla riapertura dell’editor saremo riportati automaticamente all’ultima chiave aperta.

Aggiungere un elemento ai Preferiti del registro

Dopo aver trovato una chiave possiamo aggiungerla ai Preferiti per poterla raggiungere velocemente. Vediamo come fare.
Selezioniamo o cerchiavo la chiave.
Nel menu in alto facciamo clic su Preferiti.
Facciamo clic su Aggiungi a Preferiti
Nella casella Nome: accettiamo il nome proposto oppure digitiamo un nome a nostra scelta.
Per concludere facciamo clic su OK.
Per raggiungere la chiave facciamo clic su Preferiti e nel menu visualizzato facciamo clic sulla chiave salvata.

Modificare il registro di sistema

Per completare la guida vediamo come modificare il registro di sistema di Windows.

Modificare un valore

Nella colonna Nome del riquadro destro dell’editor del registro di sistema identifichiamo il valore che vogliamo modificare.
Facciamo doppio clic con il pulsante sinistro del mouse sul nome del valore.
Si aprirà una finestra specifica nella quale potremo modificare i dati del valore.
Al termine della modifica facciamo clic su OK.

Aggiungere o eliminare una chiave

Per creare una nuova chiave dobbiamo prima di tutto selezionare una chiave genitore nella riquadro sinistro dell’editor del registro di sistema.
Posizioniamo il puntatore del mouse sulla chiave genitore e facciamo clic con il pulsante destro del mouse.
Nel menu visualizzato selezioniamo Nuovo e facciamo clic su Chiave.
Digitiamo il nome per la nuova chiave e premiamo il tasto Invio sulla tastiera del computer.
Per eliminare una chiave selezioniamola, facciamo clic con il pulsante destro del mouse, e nel menu visualizzato facciamo clic su Elimina.
Attenzione: quando si elimina una chiave del registro di sistema di Windows vengono eliminate tutte le sottochiavi in essa contenute.

File del registro di sistema

Il contenuto del registro di sistema di Windows è salvato in file diversi. Questi file sono di tipo binario e vengono chiamati hive (in italiano alveare).
La maggior parte degli hive si trovano nella cartella \Windows\System32\config. Questi file (senza estensione) sono: DEFAULT, SAM, SECURITY, SOFTWARE, SYSTEM. Gli altri hive si trovano invece nella cartella del profilo utente e sono i file NTUSERS.DAT e USRCLASS.DAT.

Quando Windows è in esecuzione i file hive vengono mantenuti aperti e sono bloccati dal sistema operativo. Se effettuiamo una modifica a uno di questi file viene creato un file .log temporaneo nella stessa cartella del file hive a cui fa riferimento. Al termine dell’operazione, la modifica viene registrata nel file hive e il file .log viene eliminato.
Nel caso in cui Windows non riesca a caricare uno o più file hive viene visualizzato il classico errore critico: Impossibile avviare Windows. Il seguente file manca o è danneggiato.

Attenzione alla modifiche!

L’editor del registro di sistema deve sempre essere utilizzato con molta attenzione. Un errore durante una modifica potrebbe rendere instabile il sistema operativo, impedirne l’avvio o il corretto funzionamento. Questo perché ogni modifica effettuata viene applicata immediatamente e non può essere annullata in caso di errore.
Per questo motivo si consiglia di creare sempre una copia di backup del registro prima di modificare un valore (→ come fare il backup del registro di sistema di Windows) oppure un punto di ripristino da poter utilizzare in caso di problemi (→ come creare un punto di ripristino di Windows).