PDA

View Full Version : Tìm hiểu căn bản về Registry



freewarez
02-11-2004, 21:09
Bạn đã biết gì về Registry?



Dù ít hay nhiều thì bạn cũng đã từng nghe nói về Registry của Windows. Có thể nói rằng Registry là điểm mạnh của Windows và cũng là phần nhạy cảm, là gót chân A-sin của Windows. Chỉ cần một chương trình phá hoại tìm vào rồi thực hiện một vài thay đổi nhỏ trong Registry là có thể làm toàn hệ thống khật khừ, thậm chí “sụm” luôn. Vậy chứ Registry là gì mà quan trọng đến vậy?



Registry là một cơ sở dữ liệu được dùng để lưu trữ những thiết đặt và tùy chọn của Microsoft Windows. Nó chứa thông tin và các thiết đặt cho tất cả phần cứng, phần mềm, người dùng, và các quyền ưu tiên của PC. Mỗi khi người dùng thay đổi các thiết đặt Control Panel, File Associations, System Policies, hoặc cài đặt phần mềm, những sự thay đổi đều được ghi lại và cất giữ trong Registry.

Những file chứa Registry được lưu giữ tại những nơi khác nhau tùy thuộc vào phiên bản Windows. Với Windows 95 & 98, Registry nằm trong hai tập tin ẩn của thư mục Windows là USER.DAT và SYSTEM.DAT. Ở Windows ME, ngoài 2 tập tin trên còn có thêm CLASSES.DAT. Trong khi ở Windows NT/ 2000/XP, Registry phân ra thành nhiều tập tin khác nhau chứa trong thư mục %SystemRoot%\ System32\Config (%SystemRoot% tức là C:\Windows trong XP). Bạn không thể trực tiếp chỉnh sửa những tập tin này mà phải sử dụng một công cụ thông dụng là Registry Editor.

Cấu trúc của Registry: Registry là một cấu trúc có phân thứ bậc, thoạt nhìn có vẻ phức tạp song thực chất cũng giống như cấu trúc thư mục trên đĩa cứng được trình bày bởi Windows Explorer.

Mỗi nhánh chính của Registry (biểu thị bằng biểu tượng thư mục trong Registry Editor) được ví như Hive (tổ ong) vì trong Hive chứa các Key (khóa), mỗi một khóa lại chứa các khóa khác hoặc các Value (giá trị). Những Value này chứa các thông tin thực sự của Registry. Có 3 kiểu giá trị là String (chuỗi), Binary (nhị phân) và DWORD (từ kép). Có 6 Hive:

- HKEY_CLASSES_ROOT: chứa toàn bộ những bản đồ liên kết file để hỗ trợ chức năng kéo thả, thông tin về OLE (đối tượng nhúng), các shortcut (lối tắt), và những khía cạnh cốt lõi của giao diện người dùng Windows.

- HKEY_CURRENT_USER: Nhánh này liên kết đến các bộ phận của HKEY_USERS thích hợp với người dùng hiện hành đã đăng nhập vào trong PC và chứa những thông tin như tên đăng nhập, các xác lập desktop và thiết đặt cho thực đơn Start.

- HKEY_LOCAL_MACHINE: Chứa các thông tin đặc tả của máy tính về phần cứng, phần mềm và các quyền ưu tiên dành cho máy tính. Những thông tin này được người dùng sử dụng để đăng nhập vào máy tính.

- HKEY_USERS: Nhánh này chứa các quyền cá nhân của mỗi người dùng máy tính. Mỗi danh tính người dùng được trình bày bằng một khóa con nằm ngay dưới nhánh chính.

- HKEY_CURRENT_CONFIG: Nhánh này liên kết đến các bộ phận của nhánh HKEY_LOCAL_MACHINE phù hợp với cấu hình phần cứng hiện hành.

- HKEY_DYN_DATA: Nhánh này trỏ vào các phần của HKEY_LOCAL_ MACHINE, để dùng với tính năng Plug and Play của Windows, bộ phận này luôn thay đổi tùy vào những thiết bị gắn thêm hoặc gỡ bỏ khỏi hệ thống.

Các kiểu dữ liệu lưu trữ trong Registry: Có 5 kiểu dữ liệu chính

- REG_BINARY: Kiểu này lưu giữ giá trị dưới dạng dữ liệu nhị phân thô. Đa số thông tin cấu thành phần cứng được lưu trữ bằng dạng dữ liệu nhị phân và có thể được hiển thị trong một trình biên tập dưới dạng thập lục phân.

- REG_DWORD: Kiểu này trình bày dữ liệu bằng một số 4 byte và thường được dùng cho giá trị logic (0 hoặc 1). Nhiều tham số thêm vào của driver thiết bị thuộc kiểu dữ liệu này, và có thể được hiển thị trong trình biên tập Registry REGEDT32 dưới dạng nhị phân, thập lục phân và thập phân, hoặc trong REGEDIT dưới dạng thập lục phân và thập phân.

- REG_EXPAND_SZ: Đây là một dữ liệu chuỗi mở rộng, là chuỗi có chứa một biến sẽ được thay thế khi được gọi bởi một ứng dụng. Ví dụ chuỗi “%SystemRoot%” sẽ được thay thế bởi thư mục gốc thực trong Win XP.

- REG_MULTI_SZ: Đây là một kiểu chuỗi phức hợp dùng để trình bày một giá trị chứa các danh sách hoặc đa giá trị, mỗi một mục nhập được phân cách bởi một ký tự Null.

(Hai kiểu trên chỉ có thể dùng được trong một trình biên tập nâng cao tương tự như REGEDT32).

- REG_SZ: Đây là kiểu chuỗi chuẩn mà mọi người chúng ta có thể đọc được bình thường.

Ngoài ra, còn có nhiều kiểu dữ liệu nữa nhưng không thể dùng được trong một trình biên tập Registry tiêu chuẩn như REGEDIT hoặc REGEDT32.

Chỉnh sửa Registry: Để chạy trình biên tập Registry, vào Start -> Run, gõ REGEDIT -> Enter. Đối với Windows NT/2000/XP, bạn có thêm lựa chọn là chạy trình biên tập Registry mở rộng bằng lệnh REGEDT32 để có thêm nhiều chức năng mà bản REGEDIT không có.

Để thêm một khóa mới, nhắp chuột phải vào nơi cần thêm -> New -> Key. Để thêm một dữ liệu, nhắp chuột phải -> New -> {Name} Value -> gõ tên gọi của mục nhập. Còn để nhập giá trị của dữ liệu, nhấp chuột phải vào dữ liệu -> Modify -> gõ giá trị vào hộp Value.

Chỉnh sửa Registry trực tiếp là một việc làm mạo hiểm, nếu không có tài liệu đáng tin cậy hoặc không biết chắc việc chỉnh sửa này sẽ dẫn đến hệ quả gì thì tốt nhất là bạn không nên sửa. Tuy nhiên, nếu không chấp nhận mạo hiểm thì làm sao bạn có thể trau dồi hiểu biết và nâng cao tay nghề của mình được? Do vậy, trước khi chỉnh sửa Registry, bạn cần chú ý 2 việc sau đây:

- Nên Export toàn bộ Registry hoặc riêng khóa muốn sửa ra thành một file .reg, lỡ bị sự cố bạn vào File/Import/.../Open hoặc nhắp đúp file .reg này để phục hồi nguyên trạng. Mặt khác, việc Export toàn bộ Registry cũng là một cách sao lưu dự phòng tuy mang tính thủ công nhưng hiệu quả cao, dễ phục hồi khi cần thiết.

- Phải ghi lại tất cả những thay đổi mà bạn đã làm với Registry, lưu lại cả đường dẫn, các khóa và mục nhập đã bị bạn thay đổi, thêm bớt, và cả tác dụng của sự thay đổi này đối với hệ thống. Sau này, mỗi khi đổi ý, bạn có thể biết được cần phải tìm đến đâu để phục hồi lại các thay đổi mà trước đây bạn đã làm.

Chạy Regedit bằng dòng lệnh: Regedit có một số tùy chọn dòng lệnh giúp bạn chạy tự động việc một số phần việc trong file .bat, hoặc chạy Regedit từ dấu nhắc lệnh DOS để phục hồi Registry trong trường hợp không thể khởi động được Windows. Cú pháp lệnh như sau:

regedit [options] [filename] [regpath]. Trong đó:

- [filename]: Tên file .reg

- [regpath]: Đường dẫn trong Registry.

- [options]: Các tùy chọn dưới dạng tham số, cụ thể:

+ /s [filename]: Cứ âm thầm nhập (Import) file [filename] vào Registry mà không hiện hộp thoại yêu cầu xác nhận.

+ /e [filename] [regpath]: Xuất (Export) Registry thành file [filename] bắt đầu tại đường dẫn [regpath] (ví dụ regedit /e NguoiDung.reg HKEY_USERS\.DEFAULT).

+ /L:system - Chỉ định dùng file system.dat.

+ /R:user - Chỉ định dùng file user.dat.

+ /C [filename]: Nén (chỉ dùng với Windows 98)

+ /D [regpath]: Xóa khóa được chỉ định (chỉ dùng với Windows 98)

Cách phục hồi Registry từ các file sao lưu dự phòng của hệ điều hành:

- Windows 95: Mỗi lần khởi động thành công, Win 95 sẽ sao lưu 2 file system.dat và user.dat thành system.da0 và user.da0 (ký tự cuối là số không). Để phục hồi Registry từ các file dự phòng này bạn khởi động lại máy để vào chế độ DOS và nhập các dòng lệnh sau từ dấu nhắc DOS (nhớ bấm phím Enter khi kết thúc mỗi dòng và khởi động lại máy tính sau khi xong việc):

attrib -h -r -s system.dat

attrib -h -r -s system.da0

copy system.da0 system.dat

attrib -h -r -s user.dat

attrib -h -r -s user.da0

copy user.da0 user.dat

- Windows 98: Vào lần khởi động thành công đầu tiên trong ngày, Win 98 sẽ nén các file system.dat, user.dat, system.ini và Win.ini thành một file có tên là rb00x.cab (với x là số thứ tự) trong thư mục C:\Windows\Sysbckup. Do vậy, để phục hồi Registry, bạn cũng phải khởi động DOS và nhập các dòng lệnh sau (Enter sau mỗi dòng):

cd c:\windows\command

scanreg /restore

Chọn file rb00x.cab mà bạn nghĩ là đáng tin cậy nhất dựa vào ngày hình thành file trong danh sách do chương trình liệt kê để phục hồi.

- Windows ME: Do Win ME không hỗ trợ chế độ DOS thực nên bạn có thể khởi động vào chế độ Safe Mode rồi chạy lệnh scanreg /restore trong hộp thoại Run. Lựa file .cab cần thiết trong hộp thoại Restore Registry rồi OK để chạy chương trình phục hồi. Ngoài ra bạn có thể chép file Regedit.exe vào đĩa mềm khởi động, khởi động máy tính bằng đĩa mềm này rồi nhập dòng lệnh sau để phục hồi Registry từ file .reg (ví dụ: MyReg.reg) bạn đã sao lưu trước đó.

Regedit [/L:system][/R:user] MyReg.reg ( /L:system và /R:user là tùy chọn)

- Windows NT/2000/XP: Vào đầu tiến trình khởi động, khi chưa vào đến chế độ đồ họa, bấm F8 để HĐH liệt kê danh sách tùy chọn khởi động. Dùng các phím mũi tên để di chuyển vệt sáng đến dòng Last Known Good Configuration bấm Enter, rồi chọn một trong cấu hình hệ thống tốt nhất mà HĐH liệt kê ở đây để phục hồi.

Tiện ích miễn phí về Registry: Bạn có thể tìm đến địa chỉ http://www.winguides.com/ để tải chương trình dọn dẹp Registry có tên là RegClean. Khi hoạt động, RegClean sẽ tự động phân tích Windows Registry để phát hiện các khóa có chứa những giá trị không đúng, xóa các giá trị này khỏi Registry và lưu lại trong file có tên là Undo.reg. Bạn cũng tìm thấy tại đây tiện ích Windows Registry Guide 2003, là cẩm nang cho những bạn ưa phiêu lưu bên trong Windows với Registry. Windows Registry Guide 2003 hướng dẫn cho bạn đầy đủ các thủ thuật chỉnh sửa Registry để cái PC của mình hoạt động chẳng giống ai. Tuy nhiên, trước khi học được cách không giống ai này thì bạn phải học cách giống mọi người là phải nắm vững Registry đã nhé!

Trần Xuân Thiên
http://www.thanhnien.com.vn/TinTuc/CNTT/KinhNghiem/2004/10/31/33331/

killsoft2004
15-11-2004, 13:28
vào đây lấy cuốn Thủ thuật Regedit về xem thêm nhé
www.killsoft.net.tf

corochuonbich
15-11-2004, 18:36
Đừng quảng cáo về trang web của chính mình lố bịch thế chứ bác.

freewarez
15-11-2004, 18:56
các bạn có thể vào trang www.echip.com.vn vào mục phần mềm Việt Nam hay Phần mềm tự biên gì đó, trong này có cuốn REGISTRY tiếng Việt Rất hay.Download về mà xem.

killsoft2004
15-11-2004, 22:21
To corochuonbich
Quảng cáo cái gì chứ,không lẽ tui có` tui chỉ cho chỗ vào lấy cũng không được sao

corochuonbich
16-11-2004, 08:10
Thông cảm nha, theard nào bạn cũng kêu mọi người vào trang của mình thì ko phải quang cáo à?

planet-save
16-11-2004, 09:00
here: http://www.echip.com.vn/echiproot/Softwares/2004/Registry.chm
ai muốn nữa thì liên hệ tôi gửi tặng ebook cho

cãi nhau hòai, giống tôi quá hahhaa

hieept
16-11-2004, 09:02
- Windows ME: Do Win ME không hỗ trợ chế độ DOS thực nên bạn có thể khởi động vào chế độ Safe Mode rồi chạy lệnh scanreg /restore trong hộp thoại Run. Lựa file .cab cần thiết trong hộp thoại Restore Registry rồi OK để chạy chương trình phục hồi. Ngoài ra bạn có thể chép file Regedit.exe vào đĩa mềm khởi động, khởi động máy tính bằng đĩa mềm này rồi nhập dòng lệnh sau để phục hồi Registry từ file .reg (ví dụ: MyReg.reg) bạn đã sao lưu trước đó.
Regedit [/L:system][/R:user] MyReg.reg ( /L:system và /R:user là tùy chọn)

---------------

Tuy ME không hỗ trợ chế độ DOS thực nhưng cũng cho phép bạn phục hồi registry từ trong win (không cần vào safe mode hay khởi động từ dĩa mềm) từ hộp thoại Run, gõ scanreg/restore, nó sẽ cho phép chạy trong win, sau khi scanreg xong, tìm thấy các rb00x.cab (x là số từ 1-5) sau đó nó tự khởi động lại và cho bạn lựa chọn thời điểm phục hồi registry ở môi trường dos, sau khi bạn chọn xong nó sẽ bắt đầu quá trình phục hồi.
----------------



- Windows NT/2000/XP: Vào đầu tiến trình khởi động, khi chưa vào đến chế độ đồ họa, bấm F8 để HĐH liệt kê danh sách tùy chọn khởi động. Dùng các phím mũi tên để di chuyển vệt sáng đến dòng Last Known Good Configuration bấm Enter, rồi chọn một trong cấu hình hệ thống tốt nhất mà HĐH liệt kê ở đây để phục hồi.


---------------

với điều kiện bạn không đánh dấu chọn turn off.. trong System Restore. Nếu bạn đánh dấu thì không phục hồi được
----------------

killsoft2004
16-11-2004, 09:10
To corochuonbich
Thì những vấn đề mọi người đề cập trong web của tui có thì tui chỉ không được hả

nguyenvantrung
25-11-2004, 12:04
anh :killsoft2004 em vaò trang cua anh ruì thật là hay đó anh ạ! củm ơn anh nhé.
Anh killsoft2004 giúp được không: em đang tìm phần mềm tiếng anh , nó có chức năng dịch các đoạn văn (tiếng anh ) sang tiếng việt được không?em chân thành củm ơn nhé.
Mong anh giúp em ?
à em cũng hỏi thêm : em thấy họ nói fite: NTFS em chẳng biết nó là gì và nó có chức năng gì ? ai biết thì giải thích rùm ngheng?

killsoft2004
26-11-2004, 11:16
To Nguyenvantrung
Bạn thử dùng EVtran 2.0 xem sao, nhưng mà nó dịch khong chính xác lắm, nếu dịch từng câu ngắn thì cũng tạm được,ra cửa hàng bán đĩa hỏi là có à
Chúc vui vẻ

freewarez
26-11-2004, 13:58
NTFS = New Technology File System : Hệ thống tập tin thế hệ mới dùng trong winNT,win2k và WinXP (trong XP/2K có thể dùng FAT32)

FAt32 = File Allocation Table: Bảng định vị tập tin cho Win9x

NTFS có cluster size = 0,5 KB (đơn vị lưu trữ nhỏ nhất trên HDD) so sánh với FAt32 có cluster size= 8KB do đó NTFS tiết kiệm ổ cứng hơn FAT32 rất nhiều.

NTFS có tính bảo mật tốt hơn, có khả năng đánh chỉ mục (indexing)

Tóm lại nên dùng NTFS thì tốt hơn, muốn chuyển từ FAT32 sang NTFS có thể dùng Partition MAgic 8.

phphthu
26-11-2004, 21:54
muốn chuyển từ FAT32 sang NTFS có thể dùng Partition MAgic 8
Chuyển từ FAT32 sang NTFS thì không việc gì phải mất công cài đặt PM. XP đã có sẵn công cụ này rồi.
Vào command-line gõ lệnh
convert /?
để biết cách dùng.