Windows Registry là phần bí ẩn của hệ điều hành Windows cho phép tweak và sửa đổi hầu như mọi phần của Windows. Dù chúng ta làm việc với registry thường xuyên, hầu hết người chỉ hiểu قليلًا về nó thực sự là gì và không chắc cách tạo custom key và value. Hãy tìm hiểu về Windows Registry và thành phần của nó.
Windows Registry là gì?
Windows Registry không hơn là tập hợp các cấu hình và cài đặt liên quan đến hệ điều hành, chương trình và người dùng. Bạn có thể nghĩ nó như một database ảo lưu trữ mọi thông tin quan trọng. Thông tin này bao gồm mọi thứ liên quan phần cứng hệ thống, cài đặt ứng dụng, chương trình đã cài, hồ sơ người dùng, v.v. Vì mọi thông tin quan trọng lưu ở một nơi, Windows tham chiếu Registry liên tục, và thực tế dễ dàng và nhanh hơn quản lý các phần khác của hệ điều hành mà không loay hoay với hàng tấn file cấu hình riêng lẻ ở nhiều vị trí.
Thành phần của Windows Registry
Windows Registry bao gồm ba thành phần chính – Root level keys (Key cấp gốc), Keys (Key), và Values (Giá trị). "Root-level keys" chứa tất cả "Keys" và "Keys" sẽ có tập "Values" riêng. Bạn nghĩ như "LocalDrive -> Folder -> File" trong hệ thống.
Có năm Root level keys khác nhau với mục đích riêng. Tóm tắt các root key này:

HKEY_CLASSES_ROOT (HKCR): Root key này dùng Windows quản lý Object Linking and Embedding (OLE) và liên kết kiểu file. Đây là key Windows liên kết mọi file với chương trình liên quan để bạn mở và tương tác.
HKEY_CURRENT_USER (HKCU): Phần Registry này chứa tất cả dữ liệu, cài đặt và cấu hình cấp user liên quan đến user đang đăng nhập. Không chỉ Windows, các chương trình khác cũng lưu dữ liệu liên quan user hiện tại.
HKEY_LOCAL_MACHINE (HKLM): Bất kể trạng thái user, phần này chứa tất cả key liên quan hệ thống bao gồm cài đặt phần cứng, phần mềm, v.v. Vì key này chứa hầu hết thông tin system-wide, HKLM là một trong root key được truy cập nhiều nhất.
HKEY_USERS (HKU): Như tên gọi, root key này chứa cài đặt của tất cả user bao gồm user đăng nhập và đăng xuất trên hệ thống. Vì tìm thấy cài đặt user khác, đừng nhầm lẫn với HKCU.
HKEY_CURRENT_CONFIG (HKCC): Đơn giản, bạn có thể gọi đây là pseudo root key vì nó chỉ là link trực tiếp đến Current Hardware Profile Settings trong HKLM.
Giá trị Key (Key Values)
Mỗi Root Key trên có Keys riêng, mỗi Key có Values riêng. Với mỗi Key, bạn có thể tạo sáu loại value khác nhau, phụ thuộc hoàn toàn vào chương trình đích và/yêu cầu cấu hình.

String Value: String Value chủ yếu đọc được bởi con người và chỉ có một dòng thông tin văn bản, như đường dẫn file. String Value là một trong value phổ biến nhất trong Registry.
Binary Value: Như tên gọi, chỉ chứa dữ liệu nhị phân (0, 1). Thường dùng để bật/tắt cài đặt cụ thể.
DWORD Value (32-bit): DWORD value tương tự Binary value nhưng cũng lưu được bất kỳ integer trong phạm vi 32-bit. DWORD thiết kế cho hệ thống 32-bit, nhưng cũng dùng trong 64-bit để tương thích ngược.
QWORD Value (64-bit): QWORD value giống DWORD nhưng chứa integer trong phạm vi 64-bit. Thiết kế cho hệ thống 64-bit.
Multi-String Value: Nếu String value lưu chuỗi đơn dòng, Multi-String value lưu chuỗi đa dòng hoặc thông tin văn bản.
Expandable String Value: Expandable String value giống String value thường nhưng chứa biến môi trường.
Tạo Key và Value mới
Tạo Key và Value trong Registry khá dễ dàng và trực tiếp. Nhưng trước khi làm, hãy backup Registry vì cấu hình sai hoặc xóa nhầm có thể gây lỗi nghiêm trọng.

Để tạo Key mới, chuột phải Root level key chọn "New" -> "Key". Mặc định key mới trông như thư mục tên "New Key #". Bạn luôn đổi tên key theo yêu cầu. Quy trình tương tự khi tạo Sub-Key.

Để tạo Value mới, chuột phải pane phải chọn value tùy nhu cầu như thảo luận. Khi value tạo xong, đặt tên; tên phụ thuộc yêu cầu cụ thể. Lưu ý nếu chọn "Key" ở pane phải, Registry tự tạo Sub-Key mới.

Khi value mới tạo và đổi tên xong, nhập value data. Double-click value nhập "Value Data" theo yêu cầu. Lại nữa, Value Data phụ thuộc chương trình hoặc cài đặt cụ thể.

Đó là tất cả, hy vọng giúp bạn hiểu rõ Windows Registry và thành phần, cũng như tạo key/value mới khi cần.
Hãy bình luận chia sẻ ý kiến và trải nghiệm.