Windows Registry (regedit) là gì? Vì sao chúng ta thường thấy chúng?


Windows Registry là gì?


I. Windows Registry là một cái tên thường thấy với người dùng Windows, khi họ có những lỗi không mong muốn (Ví dụ lỗi không nhận dữ liệu USB, lỗi phần mềm,...) thì đa số các solution trên mạng sẽ thay đổi giá trị trong Registry. Vậy Registry là gì?

(Wiki EN) Registry là một cơ sở dữ liệu phân cấp, dùng để lưu trữ các cấu hình của Hệ điều hành cũng như là của các ứng dụng cài đặt. 

Ở các phiên bản Windows cũ, các cấu hình này chỉ được lưu đơn giản trong file ini. Kể từ Windows 3.1, HĐH này xây dựng một mô hình Registry để thuận tiện thao tác thay đổi, cũng như trực quan hơn.

Bạn có thể thông qua Registry để làm thay đổi một số điều thú vị trên hệ thống như: Custom lại taskbar, đổi màu sắc và font chữ của cmd, chặn thông báo update của hệ thống Windows, sửa đổi icon của Windows,...

(P/s: Những ai có nền tảng lập trình sẽ hiểu rõ khu vực cấu hình này khá quan trọng trong một chương trình. Thường bên chương trình tùy vào quy mô mà mình sẽ đặt các giá trị cấu hình ở đầu file code, hoặc ở 1 file riêng biệt)

II. Cấu trúc của Registry

 Nhờ cấu trúc thứ bậc mà việc sử dụng Windows Registry để thay đổi cấu hình trở nên dễ dàng hơn. Bạn có thể truy cập thông qua phím tắt Windows + R và nhập tên "regedit" (Registry Edit) để truy cập




Phía bên trái là các key và subkey, mỗi key được select sẽ hiển thị các value phía bên phải. Thông tin value gồm (Name, Type, Data)

Vị trí của các key này không nằm trong cùng một thư mục. Trên thực tế, root key nằm ở vị trí C:\Windows\System32\config


Cách lưu trữ của register sẽ không giống cách hiển thị trên ứng dụng của nó. Thực tế, các key này làm root để trỏ vào những file cấu hình khác ở toàn bộ hệ thống (thậm chí root key  HKEY_CURRENT_USER còn nằm ở thư mục khác cơ.

HKEY = Handle to registry KEY

Giải thích các key trong Windows Registry.

1. HKEY_CLASSESS_ROOT: 


Key này dùng để lưu trữ các ứng dụng tải về được đăng ký trên Windows, liên kết giữa app này đến các app khác, icon, cách chạy app


Các cấu hình về cách các ứng dụng vận hành, sử dụng phần cứng như thế nào, sẽ được lưu trữ trong key này, cụ thể là HKEY_LOCAL_MACHINE/SOFTWARE/Classes (Nằm ở root key khác)

Cách cấu hình ứng dụng (đăng nhập ứng dụng, cài đặt ứng dụng,...) của user hiện tại đang sử dụng sẽ được lưu trữ ở HKEY_CURRENT_USER/SOFTWARE/Classes (Nằm ở root key khác)

2. HKEY_LOCAL_MACHINE: Nơi đây dùng để cấu hình các thông tin phần cứng, driver, bộ nhớ máy tính,... 


3. HKEY_CURRENT_CONFIG: Nơi đây lưu trữ profile cấu hình hiện tại đang sử dụng của hệ thống (System) và của phần mềm (Software).


4. HKEY_USERS: Nơi đây lưu trữ tất cả các user có trong hệ thống Windows
5. HKEY_CURRENT_USER: Nơi đây lưu trữ cấu hình user hiện tại đang hoạt động (nơi đây trỏ tới 1 file cấu hình trong HKEY_USERS)

6. HKEY_Performance_Data: Đây là một key ảo (không tồn tại file cấu hình) dùng để xem thống kê hiệu suất của máy tính 

Bạn có thể dùng Task Manager để xem trực quan 

III. Ứng dụng thú vị bạn có thể dùng với Windows Registry

Có ứng dụng nào mà bạn thường xuyên sử dụng, và bạn muốn để nó ở vị trí thuận tiện không. Với một người học Java như mình, thì Eclipse là một IDE không thể thiếu. Mình sẽ cài Eclipse vào right-click của background như sau.
Vào đường dẫn:
HKEY_CLASSES_ROOT\Directory\Background\shell\


Ở đây lưu trữ các item tương ứng trong right-click của background:


Ở đây mình tạo một key mới bằng cách right-click > New > Key



Mình đặt tên key là Eclipse


Như các bạn thấy bây giờ, chuột phải của mình đã xuất hiện Eclipse





Tất nhiên mình chưa thể mở được vì chưa trỏ đường dẫn. Để tìm cách trỏ đường dẫn, chúng ta hãy tham khảo item cùng cấp như PowerShell.
Ở đây cùng cấp Powershell sử dụng key command và Data của nó là dòng lệnh cmd của Windows. Ta có thể hiểu khi click vào tên, thì sẽ thực thi lệnh của key command này. Ta có thể thay chúng bằng vị trí của ứng dụng Eclipse.

Và thế là chúng ta đã tạo ra một phím tắt rất nhanh trỏ đến thư mục của chúng ta.!

Kết luận: Registry liên quan đến cấu hình hệ thống cực kỳ quan trọng, việc sửa đổi cần phải có chút kiến thức hiểu biết, vì nếu làm sai khả năng máy tính của bạn bị hư sẽ khá cao. Để đảm bảo an toàn, bạn có thể sử dụng USB boot để lưu trữ thông số Registry hiện tại trước khi vọc (để bạn có thể backup lại nếu vọc sai =))) )
Lâu lâu viết lại bài một lần cho các bạn đọc vui hehe.

Người viết: Lê Công Diễn

Mang đi nhớ ghi nguồn






Nhận xét

Bài đăng phổ biến từ blog này

Deploy project Springboot MIỄN PHÍ sử dụng Render

Ứng dụng Mã hóa bất đối xứng (Asymmetric cryptography) vào Chữ ký số (Digital Signature)

API và HTTP - Một số khái niệm cơ bản cần biết về Web (Phần 2)