Windows Registry (Sổ đăng ký Windows) là cơ sở dữ liệu do hệ thống định nghĩa, nơi các thành phần hệ thống và ứng dụng lưu trữ dữ liệu cấu hình. Bất cứ khi nào bạn cài đặt hoặc gỡ bỏ chương trình trong Windows, Registry đều thay đổi. Chính xác hơn, giá trị của các khóa (keys) nhất định bị thay đổi.
Hãy tưởng tượng Registry Editor như một bảng lớn nơi cấu hình hệ thống và cài đặt ứng dụng được lưu trữ theo thứ bậc. Các ứng dụng khác nhau sử dụng Windows Registry theo cách này hoặc cách khác, và ứng dụng dùng Registry API để truy xuất, sửa đổi hoặc xóa dữ liệu từ Registry.
Có rất nhiều việc có thể làm với Windows Registry, tuy nhiên bài viết này chỉ tập trung vào việc hiểu cấu trúc và hoạt động của Windows Registry.
Cấu trúc của Windows Registry
Windows Registry gồm hai yếu tố cơ bản: khóa (keys) và giá trị (values). Dữ liệu trong Registry được cấu trúc dạng cây, mỗi nút gọi là khóa. Mỗi khóa có thể chứa nhiều khóa con (subkeys), khóa con lại chứa khóa con khác, và cứ thế.
Mỗi khóa cũng chứa các mục dữ liệu gọi là giá trị. Điều này phụ thuộc vào ứng dụng; một số ứng dụng không yêu cầu lưu giá trị trong khóa cụ thể. Lý do là sự hiện diện của khóa đã đủ để ứng dụng thực hiện nhiệm vụ. Thông thường, ứng dụng mở một khóa và dùng giá trị liên kết với nó.
Tên khóa có thể chứa chữ cái và số, không phân biệt chữ hoa/thường, nhưng không được dùng ký tự gạch chéo ngược (\).
Các khóa gốc (Predefined Keys) trong Windows Registry
Có sáu khóa gốc (Root Keys):
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
- HKEY_CURRENT_CONFIG
- HKEY_DYN_DATA
HKEY_CLASSES_ROOT:
Khóa gốc này lưu thông tin về ứng dụng đã đăng ký, liên kết file và ID lớp đối tượng OLE. Ứng dụng Shell và COM dùng thông tin lưu trong khóa này. Khóa này cũng lưu thông tin hỗ trợ DDE và OLE, cho phép tương thích ngược với cơ sở dữ liệu đăng ký Windows cũ.
HKEY_CURRENT_USER:
Khóa này chỉ lưu cài đặt riêng của người dùng, nghĩa là cài đặt cho người dùng hiện tại đang đăng nhập (kể cả quản trị viên) được lưu ở đây. Cài đặt của mỗi người dùng lưu trong file NTUSER.DAT và USRCLASS.DAT mới – bạn có thể kiểm tra tại My Computer → OS Drive → Documents and Settings.
Cài đặt và tùy chọn riêng của người dùng bao gồm: biến môi trường, mục khởi động, nhóm chương trình, kết nối mạng đang hoạt động và tùy chọn ứng dụng khác. Bất cứ khi nào bạn dùng "Switch user" (Chuyển người dùng) hoặc Đăng xuất khỏi một người dùng và Đăng nhập lại – khóa này được kích hoạt và bắt đầu tải tất cả biến hệ thống và mô-đun môi trường do người dùng định nghĩa.
Ví dụ: Harry và Tom dùng chung máy tính, cả hai dùng cùng một trình soạn thảo văn bản viết bài. Harry chọn font mặc định "Arial", Tom chọn "Verdana". Trình soạn thảo lưu thông tin này dưới HKEY_CURRENT_USER\Softwarename\ và khi hệ thống nhận diện người dùng cụ thể, nó tải môi trường từ khóa con của ứng dụng dưới HKEY_CURRENT_USER.
HKEY_LOCAL_MACHINE:
Các khóa con dưới HKEY_LOCAL_MACHINE định nghĩa trạng thái vật lý của máy tính. Bao gồm: bộ nhớ hệ thống khả dụng, loại bus, chi tiết phần cứng đã cài đặt, v.v. Khóa con chứa danh sách hoàn chỉnh dữ liệu cấu hình phần cứng từng được hệ điều hành dùng. Thông tin hệ thống quan trọng khác cũng lưu ở đây: tùy chọn mạng, plug and play, bảo mật mạng, tên máy chủ, v.v.
Có bốn khóa con chính của HKEY_LOCAL_MACHINE: SECURITY, SYSTEM, SOFTWARE và SAM. File có thể tìm thấy tại My Computer → OS Drive → Windows → System32 → Config. Khóa con thứ năm tên "HARDWARE" được tạo động, dữ liệu không lưu cục bộ trên ổ đĩa. Khóa con SYSTEM giữ thông tin về driver và dịch vụ hệ thống, khóa con SOFTWARE chứa cài đặt Windows và chi tiết phần mềm khác.
HKEY_USERS:
Khóa này gồm các khóa con tương ứng với khóa HKEY_CURRENT_USER cho mỗi hồ sơ người dùng hoạt động trên hệ điều hành. Các mục đăng ký dưới khóa này định nghĩa cấu hình người dùng cho người dùng mới trên máy cục bộ và cấu hình cho người dùng đã đăng nhập.
HKEY_CURRENT_CONFIG:
Khóa gốc này chứa thông tin có sẵn tại thời gian chạy (runtime) và thông tin về hồ sơ phần cứng của hệ điều hành. Thông tin trong khóa này (và khóa con) không lưu trên đĩa mà được tạo động khi hệ thống khởi động. Giá trị lưu trong khóa này mô tả sự khác biệt giữa cấu hình phần cứng hiện tại và cấu hình chuẩn của hệ điều hành.
Khóa này cũng có thể gọi là alias của HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current.
HKEY_DYN_DATA:
Khóa này dùng trên các phiên bản Windows NT cũ – Windows 95 đến Windows Me. Chứa thông tin về thiết bị phần cứng và thống kê hiệu suất mạng. Thông tin thu thập động khi khởi động hệ thống và lưu trong RAM, không lưu trên đĩa.
Chỉnh sửa Windows Registry
Để truy cập Windows Registry, gõ regedit vào hộp tìm kiếm của menu Start Windows. Nếu dùng Windows XP hoặc cũ hơn, vào Run → regedit và nhấn Enter để mở Registry Editor.
Việc sửa đổi giá trị các mục đăng ký hiện có phải thực hiện cẩn thận vì bất kỳ thay đổi sai lầm nào cũng có thể dẫn đến mất ổn định hệ thống.
Đọc thêm về Windows Registry:
- Cách sao lưu Registry trong Windows 7
- Cách dọn dẹp Windows Registry
- Tại sao cần desfragment Windows Registry