Registro di sistema di Windows

3860
Registro di sistema di Windows

In questa guida spiegheremo cos’è il Registro di sistema di Windows, il database dove vengono conservate tutte le impostazioni di configurazione dei sistemi operativi Microsoft.
Nella prima parte della guida vedremo come utilizzare l’Editor e descriveremo la struttura del Registro mentre nella seconda parte della guida verrà spiegato cosa sono i valori e come si modificano.

Cos’è il Registro di sistema di Windows

Conosciuto anche come regedit.exe dal nome del suo eseguibile, il Registro di sistema di Windows (in inglese Windows Registry) viene utilizzato per memorizzare le configurazioni relative a sistema, servizi, dispositivi, personalizzazione degli utenti, dispositivi hardware, driver, app e programmi installati. Questo enorme database contiene informazioni a cui Windows fa continuamente riferimento durante il suo utilizzo.
Il Registro può essere di aiuto in molte situazioni, soprattutto quando si ha la necessità di eseguire modifiche a più utenti contemporaneamente oppure per risolvere problemi di malfunzionamento.
Attenzione: per gli utenti meno esperti ricordiamo che una modifica non corretta al Registro di sistema di Windows potrebbe rendere il computer inutilizzabile.

Editor del Registro di sistema di Windows

Per accedere al contenuto di regedit.exe e agli strumenti che consentono di modificarlo dobbiamo utilizzare un’interfaccia chiamata Editor del Registro di sistema.

Come avviare l’Editor

Importante: l’Editor del Registro di sistema richiede privilegi amministrativi e quindi può essere aperto soltanto utilizzando un account utente amministratore (→ differenza fra utente standard e amministratore) oppure conoscendo la password di un amministratore.

Premiamo sulla tastiera del computer i tasti (è il tasto con il logo di Windows) e R contemporaneamente.
Si aprirà il → comando Esegui.

Come aprire l'Editor del Registro di sistema di Windows

Nella casella Apri: digitiamo regedit.
Facciamo clic sul pulsante OK del comando Esegui.
Si aprirà la finestra → Controllo Account Utente.
Facciamo clic su Si.
Si aprirà l’Editor del registro di sistema.

Cosa contiene il Registro di sistema di Windows

Struttura del Registro di sistema

Regedit.exe è organizzato in una struttura gerarchica ad albero. Ogni cartella visualizzata 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.
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.

A cosa serve il Registro di sistema di Windows

Il Registro di sistema di Windows è diviso in cinque chiavi principali chiamate chiavi predefinite o root keys. Ognuna di questa chiavi inizia con il prefisso HKEY seguito dal nome dell’area del Registro a cui fa riferimento.
Ad esempio nell’immagine precedente è aperta la chiave HKEY_LOCAL_MACHINE con le sue principali sottochiavi.
Le sottochiavi a loro volta possono contenere altre sottochiavi che possono essere espanse per visualizzare altri elementi dipendenti.
La barra di stato in alto nell’Editor mostra il percorso completo della chiave selezionata. Nell’immagine precedente: HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase

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 sono chiavi virtuali e tecnicamente non esistono. Infatti sono un collegamento alle chiavi contenute nelle due chiavi predefinite.
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 di regedit.exe 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.

Cos'è regedit.exe

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

Come aprire regedit.exe

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.

Come 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.
Importante: 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 di regedit.exe è 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).