





apr 02 2008
Tramite la HKEY_LOCAL_MACHINE si può conoscere ogni particolare della configurazione hardware e software del computer. Vediamone le caratteristiche in dettaglio
Dei cinque 'hive' (alveari) o root key (chiavi principali o radice) che formano la struttura gerarchica del registro di sistema (qui ci riferiamo al registro di Windows XP accessibile digitando Regedit all'interno di Esegui), due sono quelli principali: HKEY_LOCAL_MACHINE e HKEY_USERS.
Gli altri tre (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER e HKEY_CURRENT_CONFIG) sono alias di altrettante sottochiavi dei primi due, utilizzate per comodità di accesso, viste le dimensioni e la complessità della struttura. Mentre HKEY_USERS contiene le informazioni riguardanti tutti gli utenti locali per cui è definito un account e un profilo, HKEY_LOCAL_MACHINE contiene una grande massa di informazioni sulla composizione hardware e software del sistema (indipendentemente dagli utenti), più due sezioni di informazioni sulla sicurezza (legate agli utenti).
La chiave HKEY_LOCAL_MACHINE contiene cinque sottochiavi:
1. HARDWARE (creata ogni volta che viene avviato il sistema, contiene la descrizione dei dispositivi installati e informazioni relative ai device driver e alle risorse associate)
2. SAM (Security Account Manager, informazioni su utenti e gruppi e sottosistemi di sicurezza, non visibili e non modificabili dagli editor di registro come Regedit)
3. SECURITY (criteri locali di sicurezza, anch'essi non visibili e non modificabili da editor)
4. SOFTWARE (informazioni su tutti i programmi installati e relative impostazioni)
5. SYSTEM (informazioni che controllano l'avvio di Windows, la sequenza di caricamento dei driver e dei servizi di sistema e altre informazioni sul comportamento del sistema operativo).
Vediamo queste cinque sezioni una per una.
HARDWARE
La chiave HKEY_LOCAL_MACHINE\HARDWARE contiene la descrizione dell'hardware rilevato durante l'avvio di Windows; tutte queste informazioni vengono perdute quando si chiude il sistema. Sui computer dotati di un BIOS ACPI (Advanced Configuration and Power Interface) compatibile, Windows XP offre il supporto integrato per la gestione del Plug and Play e dell'alimentazione dei sottosistemi hardware (risparmio energetico).
Durante l'avvio, il sistema operativo verifica la presenza del BIOS ACPI e in caso affermativo l'ACPI è abilitato; in caso negativo viene disabilitato l'ACPI e abilitato il vecchio e meno affidabile APM (Advanced Power Management). In presenza di supporto ACPI viene caricato il corrispondente HAL (Hardware Abstraction Layer), che determina il caricamento del driver ACPI, interfaccia tra il sistema operativo e il BIOS.
Se il sistema è dotato di BIOS ACPI compatibile con Windows XP, la prima sottochiave di HKEY_LOCAL_MACHINE\HARDWARE è ACPI; in caso contrario (per esempio sui PC con ACPI compatibile solo con Windows 98), questa chiave è assente.
Le informazioni nella chiave ACPI sono binarie e quindi praticamente incomprensibili per gli utenti.
La seconda sottochiave di HKEY_LOCAL_MACHINE\HARDWARE è DESCRIPTION, che contiene dati raccolti da Ntdetect.com e da Ntoskrnl.exe durante l'avvio di Windows. Queste informazioni includono identificatore del computer, tipi di bus, tastiera, mouse, porte seriali e parallele, drive, controller, adattatore video, coprocessore aritmetico e altro.
La terza sottochiave di HARDWARE è DEVICEMAP, le cui sottochiavi contengono informazioni sui device driver richiesti da ogni dispositivo. Queste informazioni spesso fanno riferimento a voci contenute nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet.
La quarta sottochiave di HARDWARE è RESOURCEMAP, che contiene informazioni sulle risorse di sistema allocate a ciascun dispositivo (incluse porte, indirizzi DMA e IRQ). Dato che queste informazioni sono codificate in modo compatto, sono pressoché indecifrabili; per consultarle e modificarle l'utente può usare l'utility Gestione Periferiche (Start, clic destro su Risorse del computer, Gestione, Gestione Periferiche).
SAM e SECURITY
Le informazioni contenute in queste due sottochiavi, relative a utenti, gruppi, diritti di accesso, criteri (policy) relativi all'uso delle password, appartenenza a gruppi e altro, non sono né visibili né modificabili da Regedit. Per consultare e modificare queste informazioni gli utenti del gruppo Administrators utilizzano le utility di Windows, come Utenti e gruppi locali in Gestione computer e Criteri di protezione locali in Strumenti di amministrazione, che hanno un'interfaccia amichevole e facilmente comprensibile.
SOFTWARE
La sottochiave HKEY_LOCAL_MACHINE\SOFTWARE contiene un gigantesco database con le informazioni sulle applicazioni installate sul computer e relative impostazioni di configurazione. Come per la chiave HARDWARE, si tratta di informazioni valide per tutti gli utenti del PC. Tra le sottochiavi di SOFTWARE, si notano, mescolate insieme, le chiavi standard che fanno parte della struttura del registro e le chiavi delle applicazioni, che hanno i nomi dei rispettivi produttori. Segnaliamo in particolare le sottochiavi Classes, Clients, Microsoft, ODBC, Policies, Program Groups, Secure e Voice. Non basterebbe un intero libro per descrivere in dettaglio questa sezione del registro, perciò cominceremo con l'introdurre l'argomento.
Classes
La sottochiave Classes contiene le stesse voci presentate come alias nella root key HKEY_CLASSES_ROOT. Le sottochiavi sono due tipi; quelle di tipo estensione-file associano le applicazioni installate sul computer con i tipi dei file, identificati dalle rispettive estensioni. Queste associazioni sono visibili e modificabili tramite Opzioni cartella nel menu Strumenti di Esplora risorse.
Clients
HKEY_LOCAL_MACHINE\SOFTWARE\Clients contiene informazioni su relazioni client-server e in particolare le informazioni utilizzate da Windows per servizi di posta elettronica e associati. Vi si trovano diverse sottochiavi utilizzate da Outlook e da Outlook Express, come Calendar, Contacts, Mail e News, più ulteriori sottochiavi utilizzate da altre applicazioni Microsoft come Office, Internet Explorer, Messenger e Media Player.
Microsoft
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft è l'elemento più voluminoso della chiave SOFTWARE, visto il numero dei componenti descritti. Una delle sue sottochiavi di maggiore importanza è HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion, che contiene informazioni sul tipo di installazione e sul software che supporta i servizi di sistema.
ODBC
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC contiene informazioni riguardanti la Open Database Connectivity, che permette ai programmi di accedere ai dati contenuti nei database di altre applicazioni.
Policies
La sottochiave HKEY_LOCAL_MACHINE\SOFTWARE\Policies contiene impostazioni per le conferenze in Rete e per i certificati di sistema.
Program Groups
HKEY_LOCAL_MACHINE\SOFTWARE\Program Groups contiene la sola voce ConvertedToLinks, che indica se i gruppi di programmi esistenti in una versione precedente di Windows sono stati convertiti in occasione dell'aggiornamento a XP. Se Windows XP è stato installato da zero, Program Groups non ha sottochiavi.
Secure
Voice
SYSTEM
Durante la sequenza di boot (avvio) di Windows, dopo la selezione del sistema operativo da avviare (se ci sono più OS installati), segue la selezione del profilo hardware da utilizzare (se ce n'è più di uno) e la possibilità di avviare Windows con l'opzione Ultima configurazione valida (Last Known Good Configuration).
Durante l'avvio di Windows, dopo che il boot loader (NTLDR) si è procurato le informazioni sull'hardware installato e sul profilo hardware selezionato (il più delle volte c'è solo quello di default), fa partire il kernel di Windows (Ntoskrnl.exe) passandogli le informazioni raccolte da Ntdetect.com, quindi carica l'hardware abstraction layer (HAL) corrispondente all'architettura hardware del PC corrente. A questo punto NTLDR carica la sezione SYSTEM di HKEY_LOCAL_MACHINE leggendola dal file WINDOWS\System32\Config\System.
Ora il boot loader abilita l'interfaccia API con il registro e, in base alle impostazioni contenute nella chiave HKEY_LOCAL_MACHINE\SYSTEM\Select, determina qual è il Control Set da usare per avviare il sistema. Per default il loader utilizza il Control Set specificato in Default, ma se è stato richiesto l'uso dell'ultima configurazione valida verrà usato il Control Set specificato in LastGoodKnown. Negli esempi il Control Set di default è il numero 1, mentre quello corrispondente all'ultima configurazione valida è il numero 3.
Control Set
Ogni Control Set contiene quattro sottochiavi. La prima è Control, che contiene le numerose impostazioni di configurazione utilizzate per la gestione del sistema, inclusi il nome con cui il computer è identificato nella rete e i sottosistemi da avviare. Tra queste informazioni ci sono i parametri di avvio di Windows, le variabili di sistema e le dimensioni e ubicazione del file di paging.
La chiave Harware Profiles contiene impostazioni hardware e configurazioni di driver relativi ai profili hardware (quello di default e quelli eventualmente definiti dall'utente); sono indicate solo le differenze rispetto alle impostazioni standard dei driver e dei servizi.
Sotto il ramo SYSTEM, dopo i Control Set e LastKnownGoodRecovery, si trova la chiave MountedDevices, che mostra i drive accessibili al sistema, inclusi quelli di Rete.
Le sottochiavi di tipo definizione-classe contengono informazioni associate a oggetti COM. COM (Component Object Model) è un'architettura Microsoft per costruire applicazioni basate su componenti software; ogni oggetto COM ha un'identità unica e mostra le proprie interfacce in modo da essere accessibile da altri componenti e applicazioni. Il modello COM supera l'iniziale versione di OLE (Object Linking and Embedding) e il relativo meccanismo DDE (Dynamic Data Exchange) di comunicazione tra processi, fornendo meccanismi più flessibili, indipendenti dal linguaggio e già abilitati alla comunicazione tra processi. I dati contenuti nella seconda parte di Classes specificano quindi informazioni che hanno a che fare con la struttura dei programmi, le loro interfacce e i legami con altri moduli. Queste informazioni sono create da programmi appositi con supporto COM e di solito non sono modificate via editor.
Tre sottochiavi di Microsoft\Windows NT\CurrentVersion particolarmente utili per i sistemisti sono: HotFix con sottochiavi per ogni patch installata via Windows Update, ProfileList con una sottochiave per ogni profilo utente e Winlogon contenente valori che definiscono il processo di logon, incluso il nome dell'ultimo utente collegato.
Esempi di driver ODBC comuni sono quelli per Access, Oracle, SQL Server, FoxPro e dBase.
Poco documentata, la sottochiave HKEY_LOCAL_MACHINE\SOFTWARE\Secure è utilizzabile dalle applicazioni per memorizzare impostazioni modificabili solo da utenti amministratori.
La sottochiave Voice contiene informazioni sul motore testo-voce di Windows XP; non è presente in tutte le installazioni.
La chiave HKEY_LOCAL_MACHINE\SYSTEM contiene informazioni riguardanti l'avvio del sistema, l'ordine di caricamento dei device driver e dei servizi di sistema e comportamenti del sistema operativo. In SYSTEM sono contenuti i dati che il sistema deve trovare pronti durante l'avvio, anziché rilevarli o calcolarli come avviene per altre sezioni del registro. Questi dati sono organizzati sotto forma di Control Set (insiemi di controllo), che contengono un insieme completo di impostazioni dei device driver e dei servizi di sistema.
Già a questo punto viene letta la chiave SYSTEM per individuare, in HKEY_LOCAL_MACHINE\SYSTEM\Select, qual è, tra i Control Set presenti nel registro, quello corrispondente all'ultima configurazione valida, le cui informazioni sono state registrate subito dopo l'ultimo boot regolare di Windows.
Una volta stabilito qual è il Control Set da usare, il loader lo copia nella chiave CurrentControlSet ed esegue una scansione di HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services alla ricerca dei device driver con un valore Start di 0x0, che contrassegna i driver da caricare. Questi sono normalmente driver di basso livello, come quelli per gli hard disk. Il valore dell'impostazione Group per ogni device driver stabilisce l'ordine di caricamento, secondo la sequenza definita nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\ServiceGroupOrder. In questa lunga lista, con oltre 60 categorie di driver, gli hard disk si trovano vicino ai primi posti.
La sottochiave Enum (da enumeration, l'assegnazione di un numero ai dispositivi rilevati su ciascun bus) contiene dati di configurazione sui dispositivi hardware. Le sue sottochiavi formano una struttura gerarchica chiamata albero dei device, che inizia alla radice e termina alla fine dei rami inferiori, contenenti dati di configurazione per istanze specifiche di ogni tipo di dispositivo. Le sottochiavi di Enum sono Htree, che rappresenta l'alberatura hardware, e una sottochiave per ogni enumeratore (a cui corrisponde un bus) e i relativi device; la chiave Root corrisponde all'enumeratore di default, usato per i dispositivi non Plug & Play.
L'ultima sottochiave, Services, contiene un elenco di device driver, driver di file system e programmi di servizio eseguiti in user mode. Sono indicati i driver da caricare, l'ordine di caricamento e i metodi di chiamata tra i programmi. Le sottochiavi di HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP fanno riferimento a voci contenute nella chiave Services dei Control Set. Per esempio sotto DEVICEMAP, nei raggruppamenti per categoria di periferica, c'è la sottochiave PointerClass di cui fa parte \Device \PointerClass0, il cui valore punta alla sottochiave HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\ Services\Mouclass.
Seguono la chiave Select, che come abbiamo visto contiene i riferimenti ai Control Set, la chiave Setup, che conserva informazioni sull'installazione iniziale di Windows XP (da non modificare) e la chiave WPA che non è difficile indovinare serva per la Windows Product Activation (una sottochiave WPA è presente anche in CurrentControlSet\Control\Session Manager).


| Condividi Articolo | |
| AddThis: | |
| URL: | |
| BBcode: | |
| HTML: | |
| Facebook Like: |
|







Home
Articoli
Downloads
Informazioni
Utility















