Prima di iniziare con la spiegazione del Registro di Sistema di Windows Vista è giusto fare una premessa: l'intero sistema operativo dipende dal Registro, ogni modifica deve essere fatta con cautela al fine di evitare danni seri al nostro pc.
Per aprire il registro di sistema dobbiamo posizionarci su Start --> digitiamo regedit --> clicchiamo Invio

La schermata che compare mostra la struttura del nostro Registro.
Come possiamo vedere dall'immagine sopra il Registro di Sistema di Windows è simile a quello di Windows Xp, infatti molte delle chiavi sono familiari.
E' possibile inoltre visualizzare la struttura espansa del Registro di Sistema. Per fare ciò è sufficiente cliccare sul segno a forma di triangolino "girato" posizionato accanto ad ogni chiave e sottochiave.
Tornando al Registro nella struttura non espansa, possiamo notare una serie di cartelle che iniziano tutte con il prefisso HKEY (chiavi). Il Registro di Windows Vista ne ha cinque, vediamole nel dettaglio:
Un'altro termine che dobbiamo tener presente è il termine Hive, detti anche file registro. Esso descrive un insieme di chiavi, sottochiavi e valori che trova origine nel livello superiore della gerarchia del Registro di Sistema.
Un hive viene slavato in un solo file e in un file .log; entrambi sono situati nelle cartelle systemdirectory\System32\Config oppure systemdrive\Documents and Settings\nomeutente. Le stringe systemdirectory e systemdrive sono segnamposti e indicano rispettivamente la directory e la partizione contententi i file di sistema di Windows Vista. Infatti se ad esempio il file di sistema di Windows Vista, per l'utente mondodvd si trovano nella directory Winnt della partizione C; i file hive saranno memorizzati nelle cartelle C:\Winnt\System32\Config e C:\Documents and Settings\Pippo.
Ogni chiave o sottochiave del Registro di sistema può contenere dati chiamati voci di valore. Le informazioni contenute nelle voci di valore riguardano i singoli utenti, mentre altri riguardano tutti gli utenti di un computer.
Una voce di valore è composta da 3 parti: il nome del valore, il tipo di dati del valore e il valore stesso.
Il tipo indica il formato dei dati. I dati compresi tra 0 e 0x7FFFFFFF sono riservati per le definizioni di sistema. Quindi è consigliabile che i programmi utilizzino questi tipi di dati, anche se a volte sono riservati anche i tipi compresi tra 0x800000000 e 0xFFFFFFFF.
Vediamo nel dettaglio i tipi di dati definiti e utilizzati dal sistema.
Nome | Tipo di dati | Descrizione |
| Valore binario | REG_BINARY | Dati binari non formattati. Quasi tutte le informazioni sui componenti hardware sono memorizzate come dati binari e vengono visualizzate nell'Editor del Registro di sistema in formato esadecimale |
| Valore DWORD | REG_WORD | Sono dati rappresentati da un numero della lunghezza di 4 byte. Molti paramentri relativi a driver di periferica e servizi appartengono a questo tipo e vengono visualizzati nell'Editor del registro di sistema in formato binario, esadecimale oppure decimale. |
| Valore stringa espandibile | REG_EXPAND_SZ | Stringa di dati che può rappresentarsi di lunghezza variabile. Questo tipo di dati include le variabili risolte quando un programma o un servizio utlizzano i dati. |
| Valore multistringa | REG_MULTI_SZ | Stringa multipla. A questo punto di stringa appartengono i valori che contengono elenchi o valori multipli in un formato leggibile. Le voci sono solitamente separate da spazi, virgole o altri segni di punteggiatura |
| Valore stringa | REG_SZ | Stringa di testo di lunghezza fissa |
| Valore binario | Reg_Resource_List | Una serie di matrici nodificate progettata per memorizzare un elenco di risorse utilizzate da un driver di dispositivo hardware o da uno dei dispositivi fisici controllati. Questi dati vengono rilevati e scritti nella struttura \ResourceMap dal sistema. Essi sono visualizzati nell'editor del Registo di sistema in formato esadecimale come valori binari. |
| Valore binario | REG_RESOURCE_ | Una serie di matrici nidificate progettata per memorizare un elenco di possibili risorse hardware o uno dei dispositivi fisici che il driver di dispositivo può utilizzare, da cui il sistema scrive un sottoinsieme nella struttura \ResourceMap. Questi dati sono rilevati dal sistema e sono visualizzati nell'editor del Registro di sistema in formato esadecimale come valori binari. |
| Valore binario | REG_FULL_ RESOURCE_ DESCRIPTOR | Una serie di matrici nidificate progettate per memorizzare un elenco di risorse utilizzate per memorizzare un elenco di risorse utilizzate da un dispositivo hardware fisico. Questi dati vengono rilevati e scritti nella struttura \HardwareDescription dal sistema e sono visualizzati nell'editor del Registro di sistema in formato esadecimale come valori binari |
| Nessuno | Reg_none | Si tratta di dati privi di un tipo particolare. Questi sono scritti nel Registro di sistema dal sistema o dalle applicazioni e sono visualizzati nell'editor del Registro di sistema in formato esadecimale come valori binari. |
| Collegamento | REG_LINK | Una stringa Unicode che assegna un nome a un collegamento simbolico |
| Valore QWORD | REG_QWORD | Dati rappresentati da un numero intero a 64 bit. Questi dati sono visualizzati nell'editor del Registro di sistema come valore binari. |
I dati del Registro di sistema vengono memorizzati nel pool di paginazione, una particolare memoria virtuale che viene scritta sul disco fisso quando questo non è in uso.
La dimensione massima del Registro di sistema è pari a 33% del dimensione del pool di paginazione. In ogni caso è possibile modificare questa dimensione fino ad un massimo dell'80% del pool di paginazione. Mentre la sua dimensione minima è di 16 MB.
Per visualizzare e modificare la dimensione del Registro di sistema, bisogna andare in Pannello di controllo --> Sistema --> Prestazioni -->Strumenti avanzati-->Modifica l'aspetto e le prestazioni di Windows --> Avanzate --> Cambia.
Teniamo a precisare che la dimensione del Registro deve essere modificata solo se il computer è configurato come controller di dominio per una rete di grandi dimensioni, oppure quando si riceve un messaggio di errore che indica che il Registro è troppo piccolo.