Dr. Halo
04-11-2004, 11:44
Questa guida è un adattamento di ciò che ho trovato su vari siti e non è tutta farina del mio sacco. La posto sperando che torni utile a qualcuno.
Il registro di configurazione (chiamato anche registro di sistema) contiene tutte le informazioni e le impostazioni del sistema operativo, dei software e dell'hardware. Tutte le informazioni presenti nel registro di configurazione sono memorizzate nei file SYSTEM.DAT e USER.DAT che si trovano nella cartella principale di Windows.
Il registro è suddiviso in chiavi che raggruppano informazioni sui diversi parametri della configurazione del sistema operativo, dell'hardware e dei software installati sul computer.
HKEY_CLASSES_ROOT: è la chiave che contiene informazioni sull'interfaccia utente, sulle operazioni di drag-and-drop e sui collegamenti.
HKEY_CURRENT_USER: è la chiave che contiene informazioni sull'utente che sta attualmente utilizzando il sistema operativo.
HKEY_LOCAL_MACHINE: è la chiave che raccoglie le informazioni sull'hardware e sulle impostazioni software generiche che interessano tutti gli utenti del computer.
HKEY_USERS: è la chiave che contiene le informazioni sul desktop e le configurazioni relative a ciascun utente che utilizza il computer.
HKEY_CURRENT_CONFIG: è la chiave che raccoglie le informazioni sull'hardware corrente, cioè quello impostato dall'utente corrente.
HKEY_DYN_DATA: è la chiave dove si trovano le informazioni sui dispositivi "plug and play". I dati vengono modificati in tempo reale ogni volta che l'utente inserisce un componente hardware conforme alle specifiche "plug and play".
Nel file SYSTEM.DAT si trovano le chiavi HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG e HKEY_DYN_DATA, mentre nel file USER.DAT ci sono le chiavi HKEY_USER e HKEY_CURRENT_USER.
Ogni chiave può avere delle sottochiavi che specificano meglio a quale elemento si riferiscono. In ogni chiave viene inserito un valore, che identifica un parametro particolare, e al quale vengono assegnati dei dati. I valori possono contenere dati in tre formati diversi:
String: può contenere qualsiasi carattere alfanumerico.
Binario: può contenere solamente valori binari.
DWord: può contenere valori numerici in formato decimale o esadecimale.
Si può accedere e modificare manualmente qualsiasi voce all'interno del registro con il comando REGEDIT.
Anziché elaborare manualmente il registro di configurazione con Regedit e possibile importare comodamente i file con l'estensione REG, contenenti modifiche più estese, siano esse inserimenti od eliminazione di chiavi, valori, dati, stringhe, valori binari, valori dword. Tali file REG sono utilizzati dai programmi di installazione e sono alla base anche di molti consigli disponibili su Internet. I file REG sono file di testo puro ASCII con l'intestazione REGEDIT4 e con le definizioni esatte delle chiavi, la cui forma può essere verificata con la massima semplicità mediante un'esportazione di prova con Regedit dal suo menu' interno.
Supponiamo di voler creare una chiave nel percorso HKEY_CURRENT_USER e di volerla chiamare PROVA. Supponiamo ancora di voler creare all'interno di questa chiave una stringa di nome TESTO e di voler attribuire come dato la stringa seguente: "Nuovo valore stringa" e di voler modificare il valore predefinito in Mio valore. Un file di registro (ad es. creazione.reg ) potrebbe essere quello riportato qui sotto:
REGEDIT4
[HKEY_CURRENT_USER\PROVA]
@="MIO VALORE"
"TESTO"="NUOVO VALORE STRINGA"
Come si può notare è semplicissimo da creare e non impiega più di poche righe. Il valore (predefinito) viene indicato con la @ (at), quella per intenderci che separa il nome dal dominio negli indirizzi di posta elettronica. Come sempre per effettuare le modifiche basta un doppio clic e, al messaggio che apparirà, scegliere OK.
Per i valori binari, dword procedere come negli esempi qui sotto:
"valore_bin"=hex:00,00,00,01
"valore_dword"=dword:00000000
Per andare a capo se il valore risultasse molto lungo (capita spesso nei valori binari espressi in esadecimale) digitare la virgola seguita dalla "/".
Nell'esempio precendete sono state create una chiave, una stringa e un valore predefinito che stanno inutilmente nel registro. Se lo si volesse cancellare manualmente la procedura sarebbe molto veloce perchè il percorso è molto breve, ma se l'operazione dovesse essere ripetuta più volte e con percorsi tutti diversi tra loro la cosa sarebbe ben piu' lunga. E' possibile automatizzare anche la rimozione delle chiavi e dei valori. Il sistema è semplice e non crea confusione: basta aggiungere un segno "-" (meno) davanti ai percorsi o dopo il simbolo di uguale per i valori. Ad esempio, supponendo di voler eliminare ogni traccia della modifica precedente basta creare un nuovo file elimina.reg come riportato qui sotto:
REGEDIT4
[HKEY_CURRENT_USER\PROVA]
@=-
"TESTO"=-
[-HKEY_CURRENT_USER\PROVA]
Sebbene Windows segnali sempre di aver incorporato le informazioni nel registro di configurazione dopo un'operazione di aggiunta, al termine delle modifiche può succedere di non riuscire più a lavorare senza errori. Il motivo di questo problema è molto semplice: ogni voce del file REG deve essere accompagnata da un INVIO. Soprattutto dopo l'ultima riga è tuttavia facile dimenticarsene e le informazioni di questa riga non vengono quindi considerate. Se questa è l'origine del problema, la soluzione è semplicissima: se l'ultima riga del file REG manca come voce del registro, scegliere dal menu contestuale del file REG l'istruzione MODIFICA, andare alla fine del file e premere il tasto INVIO; importare infine nuovamente il file.
Regedit può essere eseguito non solo all'interno di Windows ma anche in ambiente DOS. Si può così ottenere una determinata impostazione predefinita per una chiave tramite un comando messo nell'AUTOEXEC.BAT o in un altro file .BAT. Ecco i parametri più importanti:
REGEDIT YYZ.REG (importa XVZ.REG)
REGEDIT /S XYZ.REG (importa XYZ.REG senza necessità di conferma)
REGEDIT /E XYZ.REG <CHIAVE> (importa tutto oppure le chiavi a partire da quella indicata)
A partire da Windows 95 B esiste l'utile opzione /D. Con REGEDIT /D <CHIAVE> è possibile cancellare in ambiente DOS puro (per esempio in un file .BAT) la chiave indicata.
Ricordo che è bene, prima di effettuare qualsiasi modifica, creare un salvataggio dell'intero registro di configurazione per poterlo ripristinare nel caso di malfunzionamenti.
Nel caso ci siano errori od imprecisioni vi prego di segnalarmele cosicchè possa correggerle. Se qualcuno volesse fare delle aggiunte posti pure e se è d'accordo le integrerò in questo primo post di modo che siano subito visibili.
Il registro di configurazione (chiamato anche registro di sistema) contiene tutte le informazioni e le impostazioni del sistema operativo, dei software e dell'hardware. Tutte le informazioni presenti nel registro di configurazione sono memorizzate nei file SYSTEM.DAT e USER.DAT che si trovano nella cartella principale di Windows.
Il registro è suddiviso in chiavi che raggruppano informazioni sui diversi parametri della configurazione del sistema operativo, dell'hardware e dei software installati sul computer.
HKEY_CLASSES_ROOT: è la chiave che contiene informazioni sull'interfaccia utente, sulle operazioni di drag-and-drop e sui collegamenti.
HKEY_CURRENT_USER: è la chiave che contiene informazioni sull'utente che sta attualmente utilizzando il sistema operativo.
HKEY_LOCAL_MACHINE: è la chiave che raccoglie le informazioni sull'hardware e sulle impostazioni software generiche che interessano tutti gli utenti del computer.
HKEY_USERS: è la chiave che contiene le informazioni sul desktop e le configurazioni relative a ciascun utente che utilizza il computer.
HKEY_CURRENT_CONFIG: è la chiave che raccoglie le informazioni sull'hardware corrente, cioè quello impostato dall'utente corrente.
HKEY_DYN_DATA: è la chiave dove si trovano le informazioni sui dispositivi "plug and play". I dati vengono modificati in tempo reale ogni volta che l'utente inserisce un componente hardware conforme alle specifiche "plug and play".
Nel file SYSTEM.DAT si trovano le chiavi HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG e HKEY_DYN_DATA, mentre nel file USER.DAT ci sono le chiavi HKEY_USER e HKEY_CURRENT_USER.
Ogni chiave può avere delle sottochiavi che specificano meglio a quale elemento si riferiscono. In ogni chiave viene inserito un valore, che identifica un parametro particolare, e al quale vengono assegnati dei dati. I valori possono contenere dati in tre formati diversi:
String: può contenere qualsiasi carattere alfanumerico.
Binario: può contenere solamente valori binari.
DWord: può contenere valori numerici in formato decimale o esadecimale.
Si può accedere e modificare manualmente qualsiasi voce all'interno del registro con il comando REGEDIT.
Anziché elaborare manualmente il registro di configurazione con Regedit e possibile importare comodamente i file con l'estensione REG, contenenti modifiche più estese, siano esse inserimenti od eliminazione di chiavi, valori, dati, stringhe, valori binari, valori dword. Tali file REG sono utilizzati dai programmi di installazione e sono alla base anche di molti consigli disponibili su Internet. I file REG sono file di testo puro ASCII con l'intestazione REGEDIT4 e con le definizioni esatte delle chiavi, la cui forma può essere verificata con la massima semplicità mediante un'esportazione di prova con Regedit dal suo menu' interno.
Supponiamo di voler creare una chiave nel percorso HKEY_CURRENT_USER e di volerla chiamare PROVA. Supponiamo ancora di voler creare all'interno di questa chiave una stringa di nome TESTO e di voler attribuire come dato la stringa seguente: "Nuovo valore stringa" e di voler modificare il valore predefinito in Mio valore. Un file di registro (ad es. creazione.reg ) potrebbe essere quello riportato qui sotto:
REGEDIT4
[HKEY_CURRENT_USER\PROVA]
@="MIO VALORE"
"TESTO"="NUOVO VALORE STRINGA"
Come si può notare è semplicissimo da creare e non impiega più di poche righe. Il valore (predefinito) viene indicato con la @ (at), quella per intenderci che separa il nome dal dominio negli indirizzi di posta elettronica. Come sempre per effettuare le modifiche basta un doppio clic e, al messaggio che apparirà, scegliere OK.
Per i valori binari, dword procedere come negli esempi qui sotto:
"valore_bin"=hex:00,00,00,01
"valore_dword"=dword:00000000
Per andare a capo se il valore risultasse molto lungo (capita spesso nei valori binari espressi in esadecimale) digitare la virgola seguita dalla "/".
Nell'esempio precendete sono state create una chiave, una stringa e un valore predefinito che stanno inutilmente nel registro. Se lo si volesse cancellare manualmente la procedura sarebbe molto veloce perchè il percorso è molto breve, ma se l'operazione dovesse essere ripetuta più volte e con percorsi tutti diversi tra loro la cosa sarebbe ben piu' lunga. E' possibile automatizzare anche la rimozione delle chiavi e dei valori. Il sistema è semplice e non crea confusione: basta aggiungere un segno "-" (meno) davanti ai percorsi o dopo il simbolo di uguale per i valori. Ad esempio, supponendo di voler eliminare ogni traccia della modifica precedente basta creare un nuovo file elimina.reg come riportato qui sotto:
REGEDIT4
[HKEY_CURRENT_USER\PROVA]
@=-
"TESTO"=-
[-HKEY_CURRENT_USER\PROVA]
Sebbene Windows segnali sempre di aver incorporato le informazioni nel registro di configurazione dopo un'operazione di aggiunta, al termine delle modifiche può succedere di non riuscire più a lavorare senza errori. Il motivo di questo problema è molto semplice: ogni voce del file REG deve essere accompagnata da un INVIO. Soprattutto dopo l'ultima riga è tuttavia facile dimenticarsene e le informazioni di questa riga non vengono quindi considerate. Se questa è l'origine del problema, la soluzione è semplicissima: se l'ultima riga del file REG manca come voce del registro, scegliere dal menu contestuale del file REG l'istruzione MODIFICA, andare alla fine del file e premere il tasto INVIO; importare infine nuovamente il file.
Regedit può essere eseguito non solo all'interno di Windows ma anche in ambiente DOS. Si può così ottenere una determinata impostazione predefinita per una chiave tramite un comando messo nell'AUTOEXEC.BAT o in un altro file .BAT. Ecco i parametri più importanti:
REGEDIT YYZ.REG (importa XVZ.REG)
REGEDIT /S XYZ.REG (importa XYZ.REG senza necessità di conferma)
REGEDIT /E XYZ.REG <CHIAVE> (importa tutto oppure le chiavi a partire da quella indicata)
A partire da Windows 95 B esiste l'utile opzione /D. Con REGEDIT /D <CHIAVE> è possibile cancellare in ambiente DOS puro (per esempio in un file .BAT) la chiave indicata.
Ricordo che è bene, prima di effettuare qualsiasi modifica, creare un salvataggio dell'intero registro di configurazione per poterlo ripristinare nel caso di malfunzionamenti.
Nel caso ci siano errori od imprecisioni vi prego di segnalarmele cosicchè possa correggerle. Se qualcuno volesse fare delle aggiunte posti pure e se è d'accordo le integrerò in questo primo post di modo che siano subito visibili.