PDA

View Full Version : Guida ai file di registro di Windows


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.

Dr. Halo
04-11-2004, 16:21
Calma, calma!! Non così tanti commenti!!! :D :rolleyes:

zetec
06-11-2004, 10:08
Complimenti :D molte di queste informazioni non le sapevo\ricordavo mi torneranno utili!!

Dr. Halo
08-11-2004, 07:55
Denghiu:)

Dardalo
19-11-2004, 14:51
Interessante :)



Vorrei fare una domanda magari stupida, che forse interessa a qualcuno, oltre che a me:

mi pare si possa impostare, tramite il registro, un percorso ed un nome utente di default per l'installazione di nuovi programmi, solo che non mi ricordo come si fa...

Potete aiutarmi?

Grazie :)

Dr. Halo
19-11-2004, 14:54
avevo letto da qualche parte questa cosa.. ovviamente non ricordo dove... se recupero la info te la posto qui.

Dr. Halo
19-11-2004, 14:55
ok. mi è venuta in mente anche una cosa. con il tweack ui del win98 c'era la possibilità di impostare il login automatico quindi sicuramente si fa. ora provo a vedere che chiavi modifica.

Dardalo
19-11-2004, 15:07
Originariamente inviato da Dr. Halo
ok. mi è venuta in mente anche una cosa. con il tweack ui del win98 c'era la possibilità di impostare il login automatico quindi sicuramente si fa. ora provo a vedere che chiavi modifica.

Grazie :)

Mi riferivo a winXp cmq. ;)

Dr. Halo
19-11-2004, 15:08
si immaginavo... ma forse le chiavi sono le stesse /simili... non ho ancora trovato....

Dr. Halo
19-11-2004, 15:49
Trovata su win 98:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="0"
"DefaultUserName"="PAPPA"
"DefaultPassword"="CICCIA"
"AutoAdminLogon"="1"


su win xp si può provare a vedere se funzia ma in questo momento non ho un sistema con xp per testare.

Dr. Halo
19-11-2004, 15:51
Dimenticavo: se hai bisogno di spiegazioni sulle voci chiedi pure ma mi sembra che siano già abbastanza "parlanti".

Dardalo
19-11-2004, 16:26
Originariamente inviato da Dr. Halo
Trovata su win 98:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="0"
"DefaultUserName"="PAPPA"
"DefaultPassword"="CICCIA"
"AutoAdminLogon"="1"


su win xp si può provare a vedere se funzia ma in questo momento non ho un sistema con xp per testare.

Purtroppo in Xp l'unico winlogon è in
[HKEY_CURRENT_USER\Software\Microsoft\Winnt\CurrentVersion\Winlogon]
ma non si possono modificare voci interessanti...

purtroppo :(

gor
19-11-2004, 20:44
puoi provare con i powertoys di xp(tweakui) la funzione di autologon,ciao.

Dardalo
20-11-2004, 07:21
Originariamente inviato da gor
puoi provare con i powertoys di xp(tweakui) la funzione di autologon,ciao.

- l'autologon l'ho già messo a posto

- la cartella di sistema è rinominata

in teoria dovrebbe essere tutto a posto se non che quando installo una applicazione mi suggerisce come nome quello vecchio, del primo utente amministratore. Non è una tragedia, intendiamoci, xò è seccante, anche perché non capisco come mai questo stupido d'un sistema operativo ;) non capisce che, se ho cancellato l'utente e le cartelle di sistema, è perché non lo voglio più...:confused:

Dr. Halo
23-11-2004, 08:50
Prova ad avviare regedit:
alla voce:
HKLM\Software\Microsoft\Windows\CurrentVersion
guarda la chiave relativa a ProgramFilesDir e ProgramFilesPath
dovrebbe essere C:\Programmi.
Nella stessa voce dovresti trovare la cartella dei files comuni ed altre informazioni. Per quanto riguarda i documenti dello user che hai eliminato fai una ricerca all'interno del registro con il nome dello user e troverai la cartella di default che ti viene proposta a volte come cartella per i salvataggi. Devi solo cambiare il valore presente con quello corretto per lo user che stai utilizzando.
In questo momento non ho XP sottomano e non posso fae verifiche ma dovrebbe funzionare.

Commander
23-11-2004, 13:46
Originariamente inviato da Dr. Halo
Calma, calma!! Non così tanti commenti!!! :D :rolleyes:

Ottimo post.
Ha risposto alla mia ricerca su dove vanno a finire i dati del registro (intendo su quali file presenti sul proprio hd)

Questo mi servira', spero, per ripristinare una situazione funzionante , dopo aver usato un cleaner troppo "aggressivo".
(ora infatti non trovo piu' nulla nella cartella "connessione di rete" e non mi parte piu' il servizio in questione. :( )

Ciao e grazie


P.S.) Ma non e' di XP ? :(

Jurynet
08-01-2005, 14:45
Dovrei eseguire un file di registo in modalità silenziosa sotto Win2000.

Ho provato con varie formule:

regedit.exe /q XYZ.reg

regedit.exe /s XYZ.reg

....niente da fare: mi compare sempre la finestra di diaologo.

AIUTO!

:eek:

Dr. Halo
11-01-2005, 09:21
Prova a creare un file con estensione "bat" da eseguire quando ne hai bisogno inserendo all'interno questi comandi:

@echo off
regedit.exe /s xyz.reg
exit
rem exit serve per ritornare a windows


il file aprirà una finestra dos che si chiuderà dopo aver eseguito il comando regedit. non chiederà conferme per l'inserimento.