Registry dalam platform sistem operasi Microsoft Windows 32-bit, merupakan sebuah basis data yang disusun secara hierarkis yang mengandung informasi mengenai konfigurasi sebuah sistem, mulai dari konfigurasi perangkat keras, perangkat lunak, asosiasi ekstensi berkas dengan aplikasinya hingga preferensi pengguna. Registry merupakan pengganti berkas-berkas konfigurasi
*.INI
yang digunakan dalam sistem Windows 16-bit (Windows 3.x dan Windows for Workgroups). Registry, pertama kali diperkenalkan di dalam sistem Windows 16-bit sebagai penampung informasi mengenai pemetaan/asosiasi ekstensi berkas dengan aplikasinya, dan kemudian dikembangkan menjadi basis data dengan cakupan yang luas pada sistem-sistem operasi keluarga Windows NT. Registry juga kemudian digunakan pada sistem operasi kelas rumahan: Windows 95, Windows 98 dan Windows ME, tapi memang implementasi yang cukup bagus dari registry terdapat di dalam keluarga sistem operasi Windows NT.- Registry dalam Windows 16-bit
Registry dalam sistem Windows 16-bit (dimulai pada Windows 3.x) berguna hanya untuk menyimpan asosiasi ekstensi berkas dengan aplikasinya, serta asosiasi objek OLE di dalam dokumen dengan aplikasinya. Implementasi ini masih terbilang sederhana, karena jika dibandingkan dengan registry dalam Windows NT dan Windows 9x, asosiasi ekstensi berkas dan objek OLE hanya memakan satu anak pohon (subtree) saja, yakni di dalam HKEY_CLASSES_ROOT.
- Registry dalam Windows 9x
Dalam sistem operasi Windows 95, Windows 98, dan Windows Millennium Edition, struktur registry secara logis sama dengan struktur registry dalam Windows NT, tapi tidak kompatibel secara fisik. Dalam sistem operasi ini terdapat sebuah anak pohon tambahan, yakni HKEY_DYN_DATA yang dibuat secara dinamis dan digunakan untuk mengukur performa serta melakukan konfigurasi perangkat keras Plug and Play. Windows 9x menyimpan registry di dalam dua buah berkas, yakni %WINDIR%\system.dat dan %WINDIR%\user.dat. System.dat mengandung informasi mengenai sebuah komputer tertentu, sementara user.dat mengandung informasi mengenai sebuah profil milik pengguna. Ketika booting, Windows 9x akan memuat registry ke dalam ruangan kernel di dalam memori fisik.
- Registry dalam Windows NT
Registry dalam Windows NT, Windows 2000, Windows XP dan Windows Server 2003 terbagi secara logis ke dalam lima buah anak pohon (subtree), yang setiap pohon tersebut mengandung kumpulan kunci (key) dan anak kunci (subkey) yang disusun secara hierarkis. Susunan ini sama dengan susunan direktori dalam sistem berkas. Sementara itu, secara fisik, registry terdiri atas beberapa berkas yang disebut sebagai hive dan berkas catatan transaksi (transaction log) untuk setiap hive-hive tersebut yang disimpan di dalam direktori %systemroot%\system32\config.
File-file Fisik Registry
Registry Windows disimpan dalam beberapa berkas, tergantung sistem operasi Windows yang digunakan. Nama berkas-nya pun kadang-kadang berbeda-beda antar versi sistem operasi, tapi semua berkas tersebut disimpan di dalam mesin lokal, kecuali
NTuser.dat
yang dapat diletakkan di dalam komputer lainnya untuk mengizinkan fungsi roaming profile dan group policy dalam Windows NT, yang umumnya disimpan di dalam server dalam jaringan lokal.
1. Windows NT, 2000, XP, Server 2003
File-file berikut merupakan file registry untuk sistem operasi Windows NT, Windows 2000, Windows XP dan Windows Server 2003 :
- Ø
%systemroot%\system32\config\Sam
–HKEY_LOCAL_MACHINE\SAM
- Ø
%systemroot%\system32\config\Security
–HKEY_LOCAL_MACHINE\SECURITY
- Ø
%systemroot%\system32\config\Software
–HKEY_LOCAL_MACHINE\SOFTWARE
- Ø
%systemroot%\system32\config\System
–HKEY_LOCAL_MACHINE\SYSTEM
- Ø
%systemroot%\system32\config\Default
–HKEY_USERS\.DEFAULT
- Ø
%systemroot%\system32\config\Userdiff
- Ø
%UserProfile%\Ntuser.dat
–HKEY_USERS\<
SID>
(HKEY_CURRENT_USER
) - Ø
%UserProfile%\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat
–HKEY_USERS\<
SID>_Classes
(HKEY_CURRENT_USER\Software\Classes
) - Ø
C:\WINDOWS\User.dat
- Ø
C:\WINDOWS\System.dat
- Ø
C:\WINDOWS\Classes.dat
(khusus Windows ME)
2. Windows 95, 98 dan ME
File-file berikut merupakan file registry untuk sistem operasi Windows NT, Windows 95, Windows 98 dan Windows Millenium Edition :
- Ø
C:\WINDOWS\User.dat
- Ø
C:\WINDOWS\System.dat
- Ø
C:\WINDOWS\Classes.dat
(khusus Windows ME)
3. Windows #.1
Dalam Windows 3.x, registry hanya disimpan di dalam sebuah file, yaitu C:\Windows\Reg.dat
Struktur Registry
Struktur registry agak mirip dengan struktur direktori dalam sistem berkas. Selain itu, registry juga dapat diakses dengan menggunakan sintaksis yang sama dengan cara mengakses berkas, dengan menggunakan karakter garis miring terbalik (backslash) untuk menandakan tingkatan hierarkis. Susunannya adalah seperti <subtree>\<key>\<subkey…>. Sebagai contoh,
My Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
, yang merujuk kepada sebuah subkey yang memiliki nama “Windows
” yang terdapat di dalam subkey Microsoft
, yang terdapat di dalam key dengan nama Software
, yang terdapat di dalam subtree HKEY_LOCAL_MACHINE
.
Setiap key dan subkey tersebut dapat memiliki nilai yang dapat ditentukan atau nilai default, yang disebut sebagai Value. Akan tetapi, cara mengakses value tidaklah sama dengan cara mengakses berkas dalam sistem berkas, mengingat nama value dapat mengandung karakter backslash yang dapat menjadi ambigu ketika menggunakan cara baca seperti halnya mengakses sistem berkas. Adalah fungsi-fungsi dalam Windows 32-bit Application Programming Interface/API (Win32 API) yang dapat melakukan query dan manipulasi terhadap value-value registry, yang dilakukan dengan cara mengambil nama value secara terpisah dari path key yang merupakan parent key. Setiap value memiliki jenis-jenis datanya masing-masing yang dapat dilihat pada bagian berikut.
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, 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 logon, batch 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 sebagaiLastKnownGood 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
, sering disebut sebagai HKCU, 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
, 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
.
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_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.
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_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 booting dilakukan.
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 terhadapHKEY_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_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 pohonHKEY_PERFORMANCE_DATA
, yang hanya digunakan untuk mengumpulkan informasi performance counter Windows 2000, mengingat semua konfigurasi perangkat keras disimpan di dalamHKEY_LOCAL_MACHINE\HARDWARE\
.
Manipulasi Konfigurasi Registry
Semua konfigurasi yang ada pada registry dapat kita ubah atau manipulasi sesuai keinginan. Memanipulasi nilai-nilai yang ada pada registry dapat dilakukan menggunakan tools registry editor baik yang sudah disediakan Windows maupun software pihak ketiga. Windows menyediakan tools bernama Registry Editor yang berada pada folder C:/Windows/regedit.exe. Regedit dapat dipanggil dengan meng-klik ganda file regedit.exe atau cukup dengan mengetikkan “regedit” pada jendela Run.
Tentunya, perubahan sekecil apapun dapat mempengaruhi Windows yang sedang digunakan. Maka dari itu, sebelum bermain-main dengan registry, backup lah registry anda terlebih dahulu agar pada saat terjadi kesalahan manipulasi, Windows anda dapat direpair dengan me-restore registry yang sebelumnya telah di backup.
Pada Registry Editor, klik menu File, lalu pilih Export untuk melakukan backup atau pilih Import untuk me-restore.. Lalu tentukan nama file backup dan lokasinya, kemuasian klik OK.