Kayıt Defteri nedir? Ne işe yarar?


   Bilgisayarlarımızda bulunan programlar ve sistem ayarlarını nereye kaydederler? Nasıl belirttiğimiz şeyleri akıllarında tutarlar. Bu ayarlara nasıl erişip düzenleyebiliriz. Windows'un bir özelliği olan kayıt defterini inceliyoruz.




   Bilgisayar ortamında sistem ve programlarınız daha sonra nasıl davranmalarını istediğinizi anlamak ve seçimlerinizi hatırlayabilmek için bunları çeşitli yöntemlerle bir yerlere kaydederler. Windows işletim sisteminde bu ayarları programlar bir dosyaya kaydedebilecekleri gibi sistemin bir özelliği olan kayıt defterini (Registry) de tercih edebilirler.

   Kayıt defteri bir kaç parçadan oluşan bir veri tabanıdır. Sisteminiz ve bir çok yazılım ayarlarını burada tutar. Dosya uzantılarının ve tiplerinin programlar ile eşleştirilmesi burada yapılır. Sistem menüleri, kullanıcılara göre düzenlenmiş seçenekler, donanım ayarları ve bilgileri gibi şeylerde yine burada saklanır.



    Kayıt defteri içindeki verileri görmek ve düzenlemek için sistem ile beraber gelen “Kayıt Defteri düzenleyicisi”ni kullanabilirsiniz. Programı çalıştırmak için başlattan aramaya “regedit” yazmalısınız. Ancak sizi uyarıyoruz, burada bir değişiklik yapacağınız zaman ne yaptığınızı gerçekten biliyor olmalısınız. Aksi takdirde sisteminizde geri döndürülmesi zor hatalara, hatta sistemin açılamamasına sebep olabilirsiniz. Eğer değişiklik yapmakta karalıysanız öncelikle yedek almanızı tavsiye ederiz.


    Kayıt defterin temelde 5 ana dizinden oluşur. Bunların içinde tıpkı klasör sistemi gibi alt alta “Anahtar”lar vardır. Bu anahtarların içinde ise ya başka bir anahtar yada veriler vardır. Şimdi sırayla ana dizinleri tanıyalım.

HKEY_CLASSES_ROOT (HKCR)  

   Bu dizin içerisinde programların dosyalar ile ilişkilendirmelerini ve COM kayıtlarını içerir. Aslında daha sonra inceleyeceğimiz HKEY_LOCAL_MACHINE (Yerel Makine)  ve  HKEY_CURRENT_USER (Geçerli Kullanıcı) dizinlerinde depolanan uzantı bilgilerinin birleşimidir. Bir nevi kısayol gibi. HKEY_LOCAL_MACHINE\Software\Classes konumunda bilgisayardaki tüm kullanıcıları etkileyen varsayılan uzantılar, HKEY_CURRENT_USER\Software\Classes konumunda ise sadece geçerli kullanıcıyı etkileyen uzantılar bulunur. Sonuçta bir bilgisayarı kullanan tüm kullanıcılar bir dosyayı aynı programla açmak istemeyebilir. Aynı zamanda sistemin içerik menülerinide burayı kullanarak değiştirebilirsiniz. Böylece yazılım geliştiriciler dosya yada klasörleri kendi programları ile etkileştirebilirler.




   Burada bilgiler listelenirken geçerli kullanıcıya ait olanlar önceliklidir. Eğer kullanıcı için özel bir ayar belirtilmediyse varsayılan (Local Machine) bilgiler görüntülenecektir. Buradaki ayarlara Kayıt Defteri düzenleyicisi ile müdahale ederseniz, eğer daha önceden ayar belirtilmişse geçerli kullanıcıya, belirtilmemişse yerel makineye yazılır.

HKEY_CURRENT_USER (HKCU)

   Bildiğiniz gibi bir bilgisayarı birden çok kişi kullanabilir. Tüm kullanıcıların ayarları birbirinden farklı olacaktır. Bu yüzden HKEY_CURRENT_USER (geçerli kullanıcı) kısmı sadece o an açık olan kullanıcı ile ilgili verileri içerir. Başka kullanıcı olarak girerseniz bu ayarlar farklı olacaktır.

    Bu dizin sadece o kullanıcıya özgü ortam değişkenleri, kişisel program grupları, uygulama ayarları, masaüstü ayarları, ağ bağlantıları, yazıcılar gibi bilgileri depolar.

 (HKEY_CURRENT_USER\Software yolunu izleyerek programlarınızın ayarlarını görebilirsiniz.)
   Bunun yanında tüm kullanıcılar için aynı olması istenen ayarlar olabilir (bir program tüm kullanıcıların erişebileceği şekilde kurulursa)

 O zaman karşımıza diğer bölüm çıkıyor.

HKEY_LOCAL_MACHINE (HKLM)

   Bu kısımda hangi kullanıcı erişirse erişsin aynı veriler ve donanım konfigürasyonlarınız bulunur. Değişiklik yapıldığında tüm kullanıcılar etkilenir. Programlar kullanıcıya özgü ayarları düzenlerken özel izin almak zorunda kalmazlar, ancak tüm kullanıcıları etkileyecek bir değişiklik yapmak istediklerinde UAC yoluyla sizden izin istemeleri gerekecek. Bu güvenliğiniz içindir.

HKEY_USERS (HKU)

   HKEY_CURRENT_USER dizininde görüntülenen bilgilerin kullanıcıdan kullanıcıya değiştiğini söylemiştik. Bunun anlamı her kullanıcı için (sadece giriş yapan değil) ayarların bir konumda saklanması gerekir. HKEY_USERS bu iş için vardır. SID'leri ile birlikte her kullanıcının bilgileri burada görüntülenir. Aşağıdaki anahtarlar herkeste vardır:
  • HKEY_USERS\.DEFAULT
  • HKEY_USERS\S-1-5-18
  • HKEY_USERS\S-1-5-19
  • HKEY_USERS\S-1-5-20
   Bunlardan sonra daha uzun şekillerde gelen SID'ler kullanıcılara ait olanlardır. Hangi kullanıcı sisteme giriş yaparsa onun ayarları yüklenecektir.

HKEY_CURRENT_CONFIG

   Burası HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\CurrentControlSet\Hardware Profiles\Current yolu için kısayol gibi birşeydir. Yönetimi daha kolay olduğu için bu şekilde gösterilir.

Kayıt defterini yedekleme ve yedekten geri yükleme

Yedekleme

  Kayıt defterinde değişiklik yapmadan önce onu yedek olarak kaydetmek isteyebilirsiniz. Öncelikle kaydetmek istediğimiz kısmı seçin. Seçtiğiniz anahtar ve onun tüm içeriği kaydedilir. Eğer Bilgisayar sembolünü seçerseniz tüm kayıt defteri kaydedilecektir. Sonra dosya menüsünden "ver" seçeneğini kullanarak yedek alma diyaloğunu açıp kaydedileceği yeri seçebilirsiniz. Kaydettiğimiz veri miktarına bağlı olarak işlem biraz uzun sürebilir.

Yedekten geri yükleme

   İsterseniz yedek aldığınız dosyaya çift tıklayıp çıkan uyarıya evet diyerek geri yükleyebilirsiniz.
  Yada dosya menüsünden al diyerek dosyayı belirtebilirsiniz. İlk yöntem daha kolay gibi :)
  Bu yedek işlevini ayarlarınızı biriyle paylaşmak için de kullanabilirsiniz.

Kayıt defterini düzenlemek

   Kayıt defteri tıpkı klasör sistemi gibi çalışır. Anahtarları ters tıklayıp silebilir, yada o anahtarda bir alt anahtar ekleyebilirsiniz. Yandaki bölüme ters tıklayarak yaratabileceğiniz veri tiplerini görebilir silebilirsiniz (del tuşunu da kullanabilirsiniz)

DWORD = 32 bit uzunluğunda sayı
QWORD = 64 bit uzunluğunda sayı
BINARY = ikilik veri
SZ yada EXPANDED_SZ = metinleri işaret eder.

 Yazılım geliştiricilerin kayıt defterini tercih etmelerindeki temel sebepler:

  •     Çok dinamik ve hızlıdır. Programlar ayarlarını çok hızlı bir şekilde kaydedebilir ve buradan çağırabilirler. Kendi isimleri ile bir anahtar açıp verilerini buraya kaydedebilirler. Bu işlem saliseler içinde gerçekleşir.
  •     Kullanımı kolaydır. Bütün programlama dilleri kayıt defterini düzenlemek için kendi fonksiyonlarını geliştirmiştir. Böylece kolayca erişip verileri değiştirebilirler.
  •     Gerektiğinde erişim ve müdahale kolaydır. Tüm kayıtlar aynı yerde tutulduğundan bulması kolaydır. 

Yorumlar



Bu blogdaki popüler yayınlar

IP Adresi nedir? Nasıl çalışır?

C# LAN üzerinde TCP Bağlantısı ile Veri Aktarımı (Konsol)

Ağ Topolojileri nelerdir? Hangi topoloji bir ağ için daha uygun?

Android Programlama: EditText Kullanarak Kullanıcıdan Girdi Almak