Nội dung Tìm hiểu về Registry của Windows 2003
Trong bài báo này, chúng tôi sẽ
giới thiệu cho các bạn về Registry của Windows 2003, xem xét qua xem nó là gì,
cách cấu hình từ xa, cách backup và restore nó như thế nào. Tài liệu này được dự
định là một tài liệu tham khảo giúp bạn có thể tìm hiểu phần lõi hệ điều hành
thế hệ sau của Microsoft.
Giới thiệu
Được giới thiệu ngay trong Windows 95, Registry là một trung tâm cho người dùng
duy nhất và dữ liệu cấu hình máy tính. Trong các mục cơ bản, nó là một cơ sở dữ
liệu lớn nắm giữ tất cả các thông tin cấu hình của Windows 2003 – các thiết lập
có liên quan đến tài khoản người dùng, phần cứng máy và các ứng dụng. Mọi thứ từ
sở thích của người dùng (như màu nền, bộ bảo vệ màn hình,…) đến các mật khẩu tài
khoản được mã hóa đều nằm trong đó.
Registry được đưa ra để thay thế các file .INI cũ (file lưu các thiết lập cấu
hình bên trong). Các file .INI cũng có một số ưu điểm vì chúng ngắn và dễ soạn
thảo, tuy nhiên cũng có một số hạn chế như các giới hạn về kích thước và không
hỗ trợ cho nhiều người dùng. Với registry, chúng ta có thể loại bỏ những hạn chế
đó và làm cho mọi thứ trở nên dễ dàng hơn khi khôi phục các thiết lập sau khi có
hỏng hóc xuất hiện, điều khiển truy cập và kiểm tra các thay đổi của hệ thống.
Registry có một số ưu điểm, nếu bạn đang cài đặt một ứng dụng, lúc đang ghi một
chùm khóa vào thanh registry có một lỗi về nguồn cấp thì mọi thứ đều không bị
ảnh hưởng khi hệ thống được backup và chạy trở lại.
Lưu ý:
Một số ứng dụng vẫn sử dụng file .INI để lưu các thiết lập người dùng hoặc các
ngôn ngữ cho GUI. Ví dụ, tại thời điểm viết bài này, tôi đã mở language.ini ,
file được tìm thấy trong thư mục của một trong những ứng dụng đã được cài đặt
của tôi và đã thay đổi một số chuỗi trong đó. Sau đó khi mở ứng dụng thì GUI đã
thể hiện văn bản của tôi trên nó thay vì văn bản mặc định.
Đa số các thông tin trong Registry được đặt một cách tự động bởi Windows khi cài
đặt hệ điều hành. Phần còn lại đến từ các tiện ích và ứng dụng thông qua trình
cài đặt của họ. Bạn cũng có thể tự soạn thảo dữ liệu Registry, điều đó cho phép
có thể điều chỉnh, kích hoạt hoặc sửa một số thiết lập nào đó.
Cảnh báo!
Bất kỳ thay đổi nào thực hiện với Registry bằng Registry Editor đều là cố định,
không có nút “undo”, vì vậy bạn phải cẩn thận với những gì thực hiện ở đây. Chỉ
can thiệp vào Registry nếu bạn biết mình đang thực hiện những gì, bởi vì hậu quả
cho các lỗi gây ra với Registry có thể rất nghiêm trọng (ví dụ tồi tệ nhất là
bạn sẽ phải cài đặt lại Windows). Nguyên tắc chủ chốt khi thực hiện các thao tác
với Registry là bạn luôn thực hiện một bản backup để phòng khi tình huống xấu có
thể xảy ra.
Dưới đây là một hình ảnh thể hiện cấu trúc của Registry, nó được tạo thành bằng
5 nhánh con (sẽ được thảo luận trong phần tiếp theo của bài viết này). Bạn có
thể duyệt đến một khóa từ phần bên trái và các giá trị của nó sẽ được hiển thị
bên cửa sổ phía phải. Để mở Registry Editor, bạn kích Start >
Run… và đánh vào đó “regedit.exe”.
 |
Hình 1: Regedit.exe đang hiển thị cấu trúc của Registry
Thiết lập các cho phép
Bạn có thể thiết lập cho phép trên các nhánh con hoặc khóa riêng biệt để người
dùng được phép hoặc không được phép truy cập. Mặc định, người dùng được phép
truy cập đọc trong khi các quản trị viên được phép đọc và ghi trên hầu hết các
khóa.
Khi kiểm tra một ứng dụng .NET gần đây, tôi đã phát hiện ra rằng hành vi cài đặt
không gán đúng các cho phép cho một khóa nào đó thì một phần của ứng dụng có thể
bi hỏng. Khi thiết lập đúng các cho phép, mọi thứ lại làm việc bình thường trở
lại. Trong trường hợp này nó là lỗi của hãng và may mắn thay tôi lại có thể sửa
được lỗi này thông qua regedit.exe.
Để thiết lập các cho phép, bạn mở regedit.exe, kích phải vào khóa và chọn “Permissions…”.
Windows lúc này sẽ hiển thị một danh sách ACL cho khóa đó và bạn có thể soạn
thảo các cho phép như thực hiện trên file NTFS hay thư mục.
 |
Hình 2: Danh sách ACL cho thiết lập các cho phép trên khóa SOFTWARE
Cũng không thừa khi nói rằng bạn phải cẩn thận với những ai,
cái gì mà bạn cho phép và hạn chế cho phép.
5 nhánh nhỏ của Registry
5 nhánh nhỏ dưới đây của Registry gồm nhóm logic thông tin Registry được gọi là
các nhánh nhỏ (SubTrees). Có 5 phần chính của Registry và mỗi phần trong chúng
giữ một tập các khóa con. Khi tiến hành thay đổi, bạn có khả năng thực hiện hầu
hết công việc trong nhánh _MACHINE và _USER.
Nhánh
Mô tả
HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT là nhánh gồm
có dữ liệu liên quan tới các kiểu file với các ứng dụng và cấu hình cho đối
tượng COM.
HKEY_LOCAL_USER
Nhánh này cũng được biết đến với
tên viết tắt HKCU, HKEY_LOCAL_USER gồm các thiết lập và sở thích cho người
dùng hiện đã đăng nhập vào hệ thống. Các thiết lập này là động và duy nhất
với mỗi người dùng.
HKEY_LOCAL_MACHINE
Được viết tắt là HKLM,
HKEY_LOCAL_MACHINE gồm các thông tin về phần cứng hiện đã được cài đặt và
các thiết lập cho hệ thống đang chạy trên máy. Bình thường nó tĩnh tại đối
với tất cả người dùng cho tới khi có môt sự thay đổi nào đó được thực hiện.
HKEY_USERS
Nhánh này gồm có một con trỏ trỏ
đến HKEY_LOCAL_USER và profile người dùng mặc định (một mẫu đã sử dụng khi
gán một profile cho những người dùng mới).
HKEY_CURRENT_CONFIG
Nhánh này lưu dữ liệu cấu hình
cho phần cứng hiện tại và trỏ đến HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware
Profiles
Các kiểu dữ liệu đã định nghĩa
cho Registry
Phía bên phải của trình soạn thảo Registry, bạn sẽ thấy nhiều kiểu dữ liệu khác
nhau và các giá trị của chúng.
Kiểu dữ liệu
Mô tả
REG_SZ
Chuỗi giá trị đơn giản. thường
là một URL, đường dẫn hoặc số cổng.
REG_BINARY
Dữ liệu nhị phân biểu diễn trong
định dạng hexa.
REG_DWORD
Kiểu dữ liệu khác của REG_BINARY
nhưng có chiều dài 4 byte
REG_MULTI_SZ
Một chuỗi ký tự kích thước cho
phép bạn có thể nhập vào số các tham số trong thực thể giá trị đơn này.
REG_EXPAND_SZ
Là một chuỗi ký tự kích thước
thay đổi có thể gồm có các thông tin động thay đổi khi khởi động (như
%username%, thành phần có kích thước khác nhau đối với mỗi tên)
Cấu hình Registry từ xa
Regedit.exe cho phép bạn cấu hình từ xa Registry của các máy tính khác một cách
nhanh chóng và dễ dàng. Tất cả những gì bạn cần là quyền phê chuẩn (quyền quản
trị) để thực hiện.
Mẹo:
Hãy bảo đảm rằng Group Policy không nằm ở vị trí không cho phép các kết nối
Registry từ xa.
Mở regedit.exe và từ menu File bạn chọn “Connect Network Registry…”.
Đánh tên máy tính hoặc nhấn [Advanced…] và tìm kiếm máy tính,
sau đó nhấn OK. Sau khi nhập vào đúng các thông tin chi tiết,
registry của máy tính điều khiển xa được nạp vào giao diện điều khiển như nó là
máy tính cục bộ.
Khi bạn đã thực hiện xong việc thay đổi, hãy chọn từ “Disconnect Network
Registry…” menu File khi đó regedit.exe sẽ dừng kết
nối.
Bạn nên nhớ rằng bất kỳ thay đổi nào tạo ra đểu sẽ ảnh hưởng trên máy tính từ xa
ngay lập tức, hoặc một số trường hợp sau khi khởi động lần kế tiếp.
 |
Hình 3: Màn hình hiển thị kết nối Registry từ xa
Khi bạn kết nối một Registry từ xa, bạn chỉ có thể chỉnh sửa
trong các khóa HKEY_LOCAL_MACHINE và HKEY_USERS.
Trong ví dụ này, từ một máy tính cục bộ, được kết nối đến một máy chủ khác có
tên gọi là ZTABONA và có thể tạo những thay đổi cần thiết đối với các khóa đã đề
cập ở trên.
Việc sao lưu dự phòng và khôi phục Registry
Có ba phương pháp sao lưu dự phòng (backup) Registry trong Windows 2003. Bạn có
thể backup/restore toàn bộ Registry bằng tiện ích Windows Backup, import/export
các nhánh nào đó hoặc khóa từ regedit.exe, hoặc sử dụng một công cụ nhỏ là
reg.exe từ dòng lệnh. Phần sử dụng công cụ này sẽ được giải thích chi tiết hơn ở
phần dưới.
Tiện ích Backup and Restore
Từ menu Start, bạn điều hướng đến Programs >
Accessories > System Tools và mở Backup
- để vào tiện ích Backup and Restore Wizard hoặc có thể đi thẳng vào
tiện tích Backup and Restore (phụ thuộc vào các thiết lập bạn đã chọn
từ trước).
 |
Hình 4: Tiện ích Backup and Restore
Từ tab Backup, bạn mở My Computer và chọn hộp kiểm
System State.
Lưu ý:
Trên bộ điều khiển miền, việc sao chép dự phòng trạng thái hệ thống cũng sao
chép dự phòng luôn cả Active Directory, các file khởi động, Certificate Server (nếu
đã cài đặt), Registry của lớp đối tượng COM và SYSVOL, một phần của Registry đầy
đủ.
Chọn một vị trí để file backup được lưu tại đó (thường là thiết bị lưu trữ di
động hoặc partition khác) và kích Start Backup. Một hộp thoại
mới sẽ xuất hiện hiển thị trạng thái của thủ tục backup. Khi backup được hoàn
tất, nhấn OK và đóng cửa sổ lại.
Để khôi phục một file backup, bạn vào tab Restore and Manage Media và chọn
Tools > Catalog a backup file. Duyệt đến vị
trí của file backup đã được lưu và chọn nó. Chọn những gì bạn muốn khôi phục (trong
trường hợp này nó là toàn bộ trạng thái hệ thống) và nhấn nút Start
Restore
Import/Export các File của Registry
Khi export một phần của Registry, nó được lưu bởi một file .reg, khi được thực
thi sẽ đưa các giá trị của nó quay trở lại Registry. Điều này thường được sử
dụng khi một hãng phần mềm nào đó cần một máy khách để kích hoạt “Chế độ debug”.
Để export một file Registry, bạn chọn khóa mong muốn từ panel bên trái của
regedit.exe, kích chuột phải vào nó và chọn Export. Chọn nơi
bạn muốn file .reg được lưu và nhấn Save. Khi file đã được
export, bạn có thể chỉnh sửa nó bằng Notepad.exe hoặc bất kỳ phần mềm soạn thảo
văn bản nào.
Ví dụ một file .reg:
Windows Registry Editor
Version 5.00[HKEY_CURRENT_USER\Control Panel\Accessibility\MouseKeys]
"Flags"="62"
"MaximumSpeed"="80"
"TimeToMaximumSpeed"="3000"
Để inport một file .reg, bạn chỉ cần kích đúp vào nó sau đó
nhấn Yes. Thông tin sau đó sẽ được bổ sung vào Registry.
Hình 5: Thông báo xác nhận của bộ soạn thảo Registry
Chỉ import các thông tin cho Registry nếu bạn biết chính xác
khóa gồm những gì.
Lưu ý:
Bạn cũng có thể import/export một file Registry bằng công cụ dòng lệnh reg.exe.
Sử dụng dòng lệnh
Sử dụng reg.exe, bạn có thể backup và restore các phần của Registry bằng một số
lệnh đơn giản. Công cụ này sẽ cho phép bạn backup một nhánh con trong khi đó hệ
thống vẫn đang chạy.
Với mục đích giải thích, chúng tôi sẽ minh chứng về cách sử dụng REG SAVE và REG
RESTORE.
REG save
Sử dụng lệnh REG save để lưu các khóa gốc cho việc khôi phục sau này. Cú pháp
của lệnh này là:
reg save
Trong ví dụ của chúng tôi, sử dụng cú pháp ở trên để lưu
HKEY_CLASSES_ROOT, HKEY_CLASSES_CONFIG và HKEY_CLASSES_USER (bạn
có thể xem hình bên dưới).
Hình 6: Sử dụng công cụ dòng lệnh reg.exe để lưu các khóa Registry
Các file Registry sẽ được lưu vào thư mục cụ thể nào đó, như
thể hiện trong hình dưới đây.
Hình 7: Thư mục lưu các khóa Registry
Sử dụng lệnh “reg restore”, bạn có thể khôi
phục các khóa đã lưu từ trước. Trong ví dụ của chúng tôi, nếu muốn khôi phục
HKEY_CLASSES_ROOT tôi phải chạy lệnh dưới đây tại dấu nhắc lệnh.
Reg restore hkcr c:\regbackup\hkcr
Thực hiện tương tự như vậy với các khóa khác.
Kết luận
Tìm hiều về registry như thế nào, cách backup và restore ra sao sẽ mang đến cho
bạn những kiến thức có giá trị. Đặc biệt với một quản trị viên bạn cần phải thấy
được rằng việc chỉnh sửa registry đôi khi có thể trả lời được khá nhiều vấn đề.
Nhiều người thích tìm hiểu registry nhưng có những người không muốn dính dáng
tới nó vì chưa hiểu. Không nên quá sợ khi thực hiện các thay đổi, chỉ cần một
điều là bạn phải cẩn thận và biết được chính xác những gì mình đang thực hiện.
Theo QTM
Source Tìm hiểu về Registry của Windows 2003: ThongTinBaoMat.ComTìm hiểu về Registry của Windows 2003 Tags Bảo mật | Thông tin bảo mật | Hệ điều hành | virus | giãi pháp | quản trị mạng | thiết bị di động Những bài viết tương tự Tìm hiểu về Registry của Windows 2003: 10 thủ thuật thay đổi registry trong Windows XP và Vista | Sử dụng bảo mật sẵn có trong Windows Server 2003 | Cài đặt máy chủ DNS và Domain Controller trong Windows Server 2003 | Tìm hiểu các phím tắt của Facebook | Malware di động đã tới thời nguy hiểm | 5 mẹo cải thiện hiệu suất máy chủ Linux | Cách "chữa cháy" khi xóa nhầm khóa registry | Microsoft Office Professional Edition 2003 | Thay thế máy chủ Exchange 2003 Frontend OWA | Di chuyển DHCP từ 2000 Server/Server 2003 sang Server 2008 |