Jumat, 20 Mei 2011

Registry Windows


Registry Windows terdiri atas beberapa anak pohon berikut, yang disusun secara hierarkis dengan My Computer sebagai root directory-nya:
  • HKEY_LOCAL_MACHINE, sering disebut sebagai HKLM, merupakan sebuah tempat penyimpanan untuk konfigurasi sistem yang bersangkutan, yang terdiri atas perangkat keras dan perangkat lunak. Semua yang terdapat di dalam anak pohon ini diaplikasikan kepada semua pengguna.
  • HKEY_CURRENT_USER, sering disebut sebagai HKCU, merupakan sebuah tempat penyimpanan untuk konfigurasi yang dimiliki oleh pengguna yang sedang melakukan logon, yang menyimpan informasi mengenai konfigurasi preferensi pengguna (konfigurasi desktop, warna, dan konfigurasi lainnya yang setiap pengguna dapat melakukan kustomisasi terhadapnya).
  • HKEY_USERS, sering disebut sebagai HKU, merupakan tempat penyimpanan untuk konfigurasi setiap pengguna yang terdaftar di dalam komputer yang bersangkutan. Setiap anak kunci dari anak pohon ini diidentifikasikan dengan menggunakan nomor Security Identifier(SID) yang dimiliki oleh pengguna. Ketika pengguna melakukan logon, SID yang cocok akan dimuat ke dalam anak pohonHKEY_CURRENT_USER.
  • HKEY_CLASSES_ROOT, sering disebut sebagai HKCR, merupakan tempat penyimpanan untuk konfigurasi asosiasi/pemetaan ekstensi sebuah berkas atau objek Object Linking and Embedding (OLE) dengan aplikasi yang dapat menanganinya. Sebagai contoh, berkas berekstensi .txt akan ditangani oleh aplikasi editor teks seperti Notepad dan masih banyak lainnya.
  • HKEY_CURRENT_CONFIG, sering disebut sebagai HKCC, merupakan tempat penyimpanan untuk konfigurasi perangkat keras dan sistem operasi yang sedang digunakan saat itu, yang diperoleh pada saat proses booting dilakukan. Informasi yang disimpan di sini bersifat volatil dan tidak disimpan secara permanen ke dalam berkas penampung registry, tapi akan selalu dibuat setiap kali proses bootingdilakukan.
  • HKEY_DYN_DATA, yang hanya terdapat di dalam Windows 95, Windows 98, dan Windows Millennium Edition, merupakan tempat penyimpanan konfigurasi dinamis untuk semua perangkat keras plug-and-play. Tidak ada padanannya dalam Windows NT, tapi dalam Windows NT 5.x, terdapat sebuah anak pohon HKEY_PERFORMANCE_DATA, yang hanya digunakan untuk mengumpulkan informasiperformance counter Windows 2000, mengingat semua konfigurasi perangkat keras disimpan di dalamHKEY_LOCAL_MACHINE\HARDWARE\.
Catatan: HKEY di dalam registry Windows, merupakan singkatan terhadap kata "Handle to Key".


HKEY_LOCAL_MACHINE

Menyimpan informasi/data mengenai semua konfigurasi mesin yang bersangkutan. HKLM bukanlah symbolic link ke kunci registry manapun.HKEY_LOCAL_MACHINE memiliki beberapa anak kunci, yakni:
  • HKEY_LOCAL_MACHINE\SOFTWARE, berguna untuk menyimpan semua konfigurasi perangkat lunak yang terinstal di dalam komputer yang bersangkutan, dan konfigurasinya yang akan diaplikasikan kepada semua pengguna, baik pengguna yang melakukan logon secara lokal/interaktif maupun yang melakukan logon secara remote (melalui service logonbatch logon, atau terminal services logon).
  • HKEY_LOCAL_MACHINE\SYSTEM, berguna untuk menyimpan semua informasi dan konfigurasi sistem operasi Windows yang sedang berjalan. Di sini terdapat semacam recovery point, yang disebut sebagai LastKnownGood Configuration, yang akan digunakan pada saat sistem mengalami masalah pada saat proses booting. Semua konfigurasi driver dan layanan Windows (Win32 Service dan komponen Windows seperti NTFS dan TCP/IP) disimpan di sini.
  • HKEY_LOCAL_MACHINE\SAM, berguna untuk menyimpan basis data akun pengguna yang terinstal di dalam sistem operasi yang bersangkutan. Secara default, SAM tidak dapat diakses, bahkan oleh administrator sekalipun, karena memang access control-nya tidak memungkinkan hal itu dilaksanakan. SAM adalah singkatan dari Security Accounts Manager.
  • HKEY_LOCAL_MACHINE\HARDWARE, berguna untuk menyimpan konfigurasi perangkat keras di dalam sistem yang bersangkutan, seperti halnya konfigurasi sumber daya perangkat keras (interupsi perangkat keras, konfigurasi DMA, dan konfigurasi lainnya).
  • HKEY_LOCAL_MACHINE\SECURITY, berguna untuk menyimpan konfigurasi keamanan Windows.


HKEY_CURRENT_USER

Menyimpan informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log. HKCU merupakan sebuah symbolic link ke kunci registry HKEY_USERS\<SID dari pengguna yang bersangkutan>. HKCU juga menyimpan informasi mengenai profil pengguna, konfigurasi perangkat lunak, dan preferensi mereka. Terdapat beberapa anak kunci, yakni:
  • AppEvents, yang digunakan untuk menyimpan asosiasi antara suara dengan sebuah event. Disarankan untuk menggunakan Control Panel->Sound untuk mengubahnya, dan jangan menyunting secara langsung dari sini.
  • Console, yang digunakan untuk menyimpan konfigurasi jendela Command Prompt (cmd.exe); contoh: lebarnya, tingginya, dan warnanya. Disarankan untuk menggunakan Command Prompt->Properties untuk mengubahnya, dan jangan menyunting langsung dari sini.
  • Control Panel, digunakan untuk menyimpan konfigurasi screen saver, skema desktop, warna, keyboard, dan mouse. Selain itu juga dapat menyimpan informasi ketidakmampuan (accessibility) dan regional settings. Disarankan untuk menggunakan Control Panel->Display, Control Panel->Accessibility, dan Control Panel->Language and Regional Options untuk mengubahnya, dan jangan menyuntingnya secara langsung dari sini.
  • Environment, mengandung definisi Environment Variable. Disarankan untuk menggunakan Control Panel->System->Advanced->Environment Variables untuk mengubahnya, dan jangan menyunting langsung dari sini.
  • Keyboard Layout, menyimpan konfigurasi lay-out konfigurasi keyboard (contoh U.S. English, atau U.K. English, atau U.S. Dvorak, dan lain sebagainya).
  • Network, menyimpan konfigurasi dan pemetaan drive yang berada di jaringan.
  • Printers, menyimpan konfigurasi koneksi printer.
  • Software, digunakan untuk menyimpan preferensi pengguna terhadap sebuah perangkat lunak tertentu.
  • UNICODE
  • Windows 3.1 Migration Status


HKEY_USERS

Anak pohon HKEY_USERS mengandung beberapa anak yakni semua profil pengguna yang terdaftar di dalam sistem yang bersangkutan dan basis data registrasi objek OLE. Selain itu, anak pohon ini juga mengandung HKEY_USERS\.DEFAULT, yang dihubungkan dengan profil milik akun SYSTEM, yang merupakan profil yang digunakan oleh salah satu komponen Windows, WINLOGON.EXE, untuk menyimpan semua konfigurasi seperti halnya HKEY_CURRENT_USER, yakni bagaimana tampilan desktop, bagaimana konfigurasi perangkat keras dan lain-lain. Pengaturan yang diberlakukan terhadap HKU\.DEFAULT ini dapat menjadikan konfigurasi desktop dan lain-lain pada saat proses logon Windows akan berubah dari pengaturan default-nya.
Ketika seorang pengguna masuk log ke sebuah sistem untuk pertama kalinya, sementara akun miliknya tidak berupa roaming profile (yakni, sebuah profil pengguna yang disimpan di dalam tempat tersentralisasi di dalam domain controller), maka Windows akan membuatkan sebuah profil yang baru untuknya, yang dibuat berbasiskan pengaturan yang terdapat di dalam C:\Documents and Settings\Default User.


HKEY_CURRENT_CONFIG

Anak pohon HKEY_CURRENT_CONFIG mengandung data konfigurasi untuk profil perangkat keras (hardware profile) yang sedang digunakan oleh Windows. HKCC tidak mengandung data apapun, karena memang anak pohon ini merupakan sebuah symbolic link terhadap HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Dengan demikian, dengan mengubah kunci tersebut atau mengubah HKCC, akan menghasilkan sesuatu yang sama.
Penggunaan profil perangkat keras mengizinkan administrator untuk mengonfigurasikan beberapa variasi dari pengaturan driver perangkat keras yang digunakan pada saat melakukan booting. Meskipun profil yang digunakan dapat berubah dari satu proses booting ke proses booting lainnya, aplikasi dapat merujuk ke anak pohon ini untuk mencari profil mana yang sedang dimuat oleh Windows. Pengaturan profil perangkat keras dapat dilakukan dengan Control Panel->System->Hardware->Hardware Profiles. Jika ada lebih dari satu profil perangkat keras, maka komponen Windows, yakni NTLDR, akan menanyakan kepada pengguna mengenai profil yang harus dimuat pada saat proses booting dilakukan.


HKEY_CLASSES_ROOT

Anak pohon HKEY_CLASSES_ROOT mengandung dua jenis data, yakni:

  • Data yang mengasosiasikan jenis berkas (dilihat dari ekstensinya atau kelasnya) dengan program yang dapat membukannya. Subkunci jenis berkas di dalam HKEY_CLASSES_ROOT memiliki nama yang sama dengan ekstensi nama berkas, seperti halnya .txt, .exe, dan lain-lain. Asosiasi jenis berkas ini disimpan di dalam registry, tapi disarankan untuk menggunakan Folder Options->File Types jika memang hendak mengubahnya.
  • Data konfigurasi untuk objek-objek Object Linking and Embedding (OLE)/Component Object Model (COM).
Isi dari HKCR diambil dari dua sumber, yakni HKLM\SOFTWARE\Classes dan HKCU\SOFTWARE\Classes. Jika sebuah subkey atau entri terdapat di dalam salah satu dari dua lokasi tersebut, maka hal tersebut akan ditampilkan juga di dalam HKCR. Jika ada dua entri yang konflik di antara dua lokasi tersebut, hanya HKCU\SOFTWARE\Classes yang akan ditampilkan di dalam HKCR.

[]HKEY_DYN_DATA

[place holder]
Semua informasi di atas dapat dirangkum ke dalam tabel berikut
Anak pohonKeterangan
HKEY_CURRENT_USERMenyimpan informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log.
HKEY_USERSMenyimpan informasi/data mengenai semua akun pengguna di dalam mesin yang sama
HKEY_CLASSES_ROOTMenyimpan informasi/data mengenai asosiasi berkas dengan aplikasinya dan registrasi objek Component Object Model (COM).
HKEY_LOCAL_MACHINEMenyimpan informasi/data mengenai semua konfigurasi mesin yang bersangkutan.
HKEY_PERFORMANCE DATAMenyimpan informasi mengenai kinerja sistem yang dikumpulkan oleh performance counter Windows NT.
HKEY_CURRENT_CONFIGBerisi beberapa informasi mengenai profil perangkat keras yang sedang digunakan.


Sebuah value dapat memiliki jenis-jenis data seperti di bawah ini:
  • REG_NONE, yang merupakan sebuah jenis data registry yang tidak didefinisikan sebelumnya. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x00.
  • REG_SZ, merupakan jenis data teks (string) dengan panjang yang tetap (fixed-length string). Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x01.
  • REG_EXPAND_SZ, merupakan jenis data teks/string yang dapat diekspansi. Windows 9x tidak memiliki jenis data ini. Diperlukan editorregistry khusus (regedt32.exe) untuk menangani jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x02.
  • REG_BINARY, merupakan jenis data biner, yang dapat berarti macam-macam (bisa berupa teks/string, atau bilangan). Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x03.
  • REG_DWORD, merupakan jenis data angka 32-bit. Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x04. Terdapat dua jenis implementasi dari jenis data ini, yakni:
    • REG_DWORD_LITTLE_ENDIAN, yang merupakan jenis data REG_DWORD default dalam Windows NT yang dijalankan di atas prosesor Intel x86/x64. Jenis data ini berukuran 32-bit yang disusun dengan menggunakan format little-endian. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x05.
    • REG_DWORD_BIG_ENDIAN, yang merupakan jenis data REG_DWORD yang berukuran 32-bit yang disusun dengan menggunakan format big-endian. Jenis data ini hanya dapat didukung oleh Windows NT yang dijalankan di atas mesin DEC AlphaMIPS, atau IBM PowerPC, yang memang menggunakan format bilangan big-endianWindows NT 5.x yang hanya dapat berjalan di atas sistem x86 tidak menangani jenis data ini (terdapat limitasi pada mikroprosesor), meskipun Windows NT 5.x mendukungnya. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x06.
  • REG_MULTI_SZ, merupakan jenis data teks/string yang memiliki banyak baris yang dipisahkan dengan dua buah karakter null (0x00). Windows 9x tidak memiliki jenis data ini.Diperlukan editor registry khusus (regedt32.exe) untuk menangani jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x07.
  • REG_LINK, yang merupakan symbolic link ke sebuah objek Windows NT dalam ruang nama/namespace objek Windows NT (yang diatur oleh Object Manager Windows NT). Registry Editor default bawaan Windows (regedit.exeregedt32.exe, dan utilitas command-linereg.exe) tidak dapat menyunting jenis ini. Jenis data ini digunakan secara internal oleh Windows NT saja, dan tidak digunakan oleh aplikasi. Registry dalam Windows 9x tidak memiliki jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x08.
  • REG_RESOURCE_LIST (Windows NT) atau REG_FULL_RESOURCE_DESCRIPTOR, yang merupakan jenis data registry yang hanya digunakan untuk menyimpan konfigurasi perangkat keras dan driver-nya yang terinstalasi di atas sistem operasi Windows NT. Registry dalam Windows 9x tidak memiliki jenis data ini. Jenis data ini adalah kumpulan larik (array) yang digunakan untuk menyimpan daftar sumber daya (interupsi perangkat kerasDirect Memory Access (DMA)I/O range dan memory range) yang digunakan oleh komponen perangkat keras atau driver. Dibutuhkan registry editor khusus (regedt32.exe) untuk menyunting value dengan jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x09.
  • REG_QWORD, merupakan jenis data angka yang memiliki panjang 64-bit. Jenis data ini hanya terdapat di dalam sistem prosesor 64-bit saja, semacam DEC AlphaIA-64, atau x64. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x12. Sama seperti halnya REG_DWORD, REG_QWORD juga terdapat dua jenis implementasi, yakni little-endian (REG_QWORD_LITTLE_ENDIAN, dengan identifier 0x13) dan big-endian (REG_QWORD_BIG_ENDIAN, dengan identifier 0x14), meskipun secara default format yang digunakan adalah REG_QWORD_LITTLE_ENDIAN. Diperlukan editor khusus untuk menyunting jenis data ini.

0 komentar:

Posting Komentar