Tải bản đầy đủ (.docx) (31 trang)

NGHIÊN CỨU VÀ TÌM HIỂU CƠ CHẾ QUẢN LÝ FILE VÀ THƯ MỤC HĐH WINDOWS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (556.87 KB, 31 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI: NGHIÊN CỨU VÀ TÌM HIỂU CƠ CHẾ QUẢN LÝ FILE VÀ
THƯ MỤC HĐH WINDOWS

Sinh viên thực hiện:

Lớp:
Giáo viên hướng dẫn:

La Văn Kiên

Khoa học máy tính 1– Khóa 8
TS. VƯƠNG QUỐC DŨNG

Hà Nội 02/2017
1


MỤC LỤC

2


DANH MỤC HÌNH

DANH MỤC BẢNG
Bảng 1:Ý nghĩa nội dung các trường trong bảng Partition (Giá trị điển hình trong


bảng là cho phân hoạch 1).
Bảng 2:Các giá trị có thể của trường System ID.
Bảng 3:Dung lượng lớn nhất của một volume FAT theo chế độ translation.
Bảng 4:NTFS Boot Sector.
Bảng 5:Mô tả các trường trong BPB và BPB mở rộng trên các phân vùng NTFS.

3


LỜI MỞ ĐẦU
Lời đầu tiên em xin gửi lời cảm ơn trân thành đến thầy Vương Quốc Dũng , người đã
giúp đỡ em rất nhiều về định hướng nghiên cứu, hướng dẫn cho em trong suốt thời
gian thực hiện đề tài này.
Từ những buổi đầu khi con người tạo ra máy tính và hệ đều hàng trong đó có những
thiết bị lưu trữ với dung lượng lưu trữ còn tương đối thấp, vấn đề quản lý quản lý thông
tin cho bộ nhớ còn khá mới mẻ và đơn giản. Nhưng với sự phát triển và bùng nổ của
công nghệ, dung lượng lưu trữ của bộ nhớ ngày càng được mở rộng và gia tăng nhanh
chóng. Theo đó việc quản lý các thông tin cũng như thư mục đòi hỏi con người cần có
những giải pháp và công nghệ mới nhằm quản lý một cách chuyên nghiệp và hiệu quả.
Là một sinh viên công nghệ,với sự đam mê, tò mò, và muốn tìm hiểu để hiểu rõ về
cách thức quản lý tập tin và thư mục của của một hệ đều hành ra đời rất sớm và thực sự
phát triển đó là hệ đều hành Windows. Chính vì vậy em chọn đề tài quản lý tập tin và
thư mục hệ đều hành Windows để nghiên cứu và các giải pháp công nghệ cho vấn đề
quản lý thư mục và tập tin. Nghiên cứu tìm hiểu cấu trúc quản lý file và thư mục trong
một đĩa logic cài đặt hệ điều hành Windows.
Em xin chân thành cảm ơn thầy cô đã giảng dạy chúng em, đặc biệt là các thầy cô giáo
trong khoa Công Nghệ Thông Tin. Mặc dù đã rất cố gắng hoàn thành đồ án này song
cung không tránh khỏi những sai sót, mong thầy cô và các bạn đóng góp những ý kiến
quí báu để đề tài được thành công hơn.


Sinh viên thực hiện:
-

La Văn Kiên

4


Chương 1: Đĩa cứng và phân hoạch ổ đĩa trong HĐH Windows
1

Ổ Đĩa cứng
1.1.1. Tổng quan

-

Ổ đĩa cứng, hay còn gọi là ổ cứng (tiếng Anh: Hard Disk Drive, viết tắt: HDD)
là thiết bị dùng để lưu trữ dữ liệu trên bề mặt các tấm đĩa hình tròn (bằng nhôm,
thủy tinh hay gốm) phủ vật liệu từ tính. Ổ đĩa cứng là loại bộ nhớ “không thay
đổi” (non-volatile), có nghĩa là chúng không bị mất dữ liệu khi ngừng cung cấp
nguồn điện cho chúng.

-

Về mặt kỹ thuật thì ổ đĩa cứng là một khối duy nhất, các phiến đĩa được lắp ráp
cố định trong ổ ngay từ khi sản xuất nên không thể thay thế được các “đĩa cứng”
như cách hiểu đối với ổ đĩa mềm hoặc ổ đĩa quang (CD/DVD).

-


Bên trong một ổ đĩa cứng các bộ phận chính: Cơ cấu truyền động đầu từ
(actuator) điều khiển cánh tay đầu từ (actuator arm) đọc thông tin từ phiến đĩa
(plater) được quay liên tục nhờ gắn “chết” vào trục quay của động cơ liền trục
(spindle motor). Dữ liệu được truyền ra ngoài nhờ cáp nối có dạng dãi băng
mềm (ribbon cable). Vỏ ổ đĩa (chassis) bao giữ tất cả các bộ phận của đĩa cứng.

-

Ổ đĩa cứng là một thiết bị rất quan trọng trong hệ thống bởi chúng chứa dữ liệu
thành quả của một quá trình làm việc của những người sử dụng máy tính.
Những sự hư hỏng của các thiết bị khác trong hệ thống máy tính có thể sửa chữa
hoặc thay thế được, nhưng dữ liệu bị mất do yếu tố hư hỏng phần cứng của ổ đĩa
cứng thường rất khó lấy lại được.

Hình 1:Ổ đĩa SCSI.

5


1.1.2. Các loại ổ đĩa và chuẩn điều khiển
-

Dung lượng ổ đĩa cứng tăng trưởng theo hàm mũ với thời gian. Đối với những
máy PC thế hệ đầu, ổ đĩa dung lượng 20 megabyteđược coi là lớn. Cuối thập
niên 1990 đã có những ổ đĩa cứng với dung lượng trên 1 gigabyte. Vào thời
điểm đầu năm 2005, ổ đĩa cứng có dung lượng khiêm tốn nhất cho máy tính để
bàn còn được sản xuất có dung lượng lên tới 40 gigabyte còn ổ đĩa lắp trong có
dung lượng lớn nhất lên tới một nửa terabyte (500 GB), và những ổ đĩa lắp
ngoài đạt xấp xỉ một terabyte. Cùng với lịch sử phát triển của PC, các họ ổ đĩa
cứng lớn là MFM, RLL, ESDI, SCSI, IDE và EIDE, và mới nhất là SATA. Ổ

đĩa MFM đòi hỏi mạch điều khiển phải tương thích với phần điện trên ổ đĩa
cứng hay nói cách khác là ổ đĩa và mạch điều khiền phải tương thích. RLL (Run
Length Limited) là một phương pháp mã hóa bit trên các tấm đĩa giúp làm tăng
mật độ bit. Phần lớn các ổ đĩa RLL cần phải tương thích với bộ điều khiển nó
làm việc với. ESDI là một giao diện được phát triển bởi Maxtor làm tăng tốc
trao đổi thông tin giữa PC và đĩa cứng.SCSI (tên cũ là SASI dành cho Shugart
(sic) Associates), viết tắt cho Small Computer System Interface, là đối thủ cạnh
tranh ban đầu của ESDI. Khi giá linh kiện điện tử giảm (do nhu cầu tăng lên)
các chi tiết điện tử trước kia đặt trên cạc điều khiển đã được đặt lên trên chính ổ
đĩa cứng. Cải tiến này được gọi là ổ đĩa cứng tích hợp linh kiện điện tử
(Integrated Drive Electronics hay IDE). Các nhà sản xuất IDE mong muốn tốc
độ của IDE tiếp cận tới tốc độ của SCSI. Các ổ đĩa IDE chậm hơn do không có
bộ nhớ đệm lớn như các ổ đĩa SCSI và không có khả năng ghi trực tiếp
lên RAM. Các công ty chế tạo IDE đã cố gắng khắc phục khoảng cách tốc độ
này bằng phương pháp đánh địa chỉ logic khối (Logical Block
Addressing - LBA). Các ổ đĩa này được gọi là EIDE. Cùng lúc với sự ra đời của
EIDE, các nhà sản xuất SCSI đã tiếp tục cải tiến tốc độ SCSI. Những cải tiến đó
đồng thời khiến cho giá thành của giao tiếp SCSI cao thêm. Để có thể vừa nâng
cao hiệu suất của EIDE vừa không làm tăng chi phí cho các linh kiện điện tử
không có cách nào khác là phải thay giao diện kiểu "song song" bằng kiểu "nối
tiếp", và kết quả là sự ra đời của giao diện SATA. Tuy nhiên, hiệu suất làm việc
của các ổ đĩa cứng SATA thế hệ đầu và các ổ đĩa PATA không có sự khác biệt
đáng kể.

6


1.1.3. Cấu trúc vật lý của đĩa cứng
-


Một đĩa cứng là một hộp kín bên trong có nhiều lá đĩa tròn, xếp chồng đồng
tâm. Một đĩa cứng có thể được lắp đặt theo vị trí nằm ngang hoặc thẳng đứng.
Trong phần này mô tả đĩa cứng được lắp đặt theo vị trí nằm ngang.

-

Các đầu đọc/ ghi điện từ được bố trí ở trên hoặc ở dưới mỗi mặt đĩa và gọi là
các đầu từ. Các đầu từ di chuyển vào ra theo phương hướng tâm với lá đĩa tròn
xoay. Các lá đĩa quay quanh một trục cố định. Do vậy đầu từ có thể vươn tới
mọi vị trí trên bề mặt đĩa.

-

Đĩa cứng thường làm bằng kim loại. Để tăng dung lượng cho đĩa cứng người ta
cấu tạo nhiều tấm đĩa xếp chồng lên nhau và cùng được gắn chặt vào 1 trục
môtor.

-

Đường kính của đĩa cứng thường là 3,5 inchs, Big Foot.

-

Cấu tạo mặt đĩa cứng gồm: (Side -Track – Sector).

-

Side, Trackđánh số từ 0, Sectorđánh số từ 1.

-


Cylinder:Là tập hợp của các Track có cùng số hiệu.

-

Heads: Được gắn trên cần của Môtor bước. Trên một mặt

-

của đĩa cứng số đầu từ >1

Hình 2:Sơ đồ đĩa cứng.
7


1.1.3.1.

Các rãnh từ (tracks)

-

Trên một đĩa cứng, dữ liệu được lưu trữ trong các rãnh tròn đồng tâm mảnh.
Một đầu từ khi ở một vị trí có thể đọc hoặc ghi một vòng tròn hoặc rãnh gọi là
một rãnh từ (track). Có thể có hơn 1000 tracks trên một đĩa cứng 3,5 inch. Một
track được chia làm nhiều phần bằng nhau, mỗi phần được gọi là một sector.
Một sector là một đơn vị lưu trữ vật lý nhỏ nhất trên đĩa, và hầu như luôn bằng
512 bytes (0.5 KB).

-


Hình 3 dưới đây cho thấy một đĩa cứng với 2 lá đĩa.

Hình 3:Các phần của đĩa cứng.
-

Cấu trúc của các đĩa cứng trước đây (tức là trước khi có Windows 95) sẽ đề cập
tới ký hiệu một cylinder/ head/ sector. Một cylinder là một tập hợp bao gồm tất
các tracks có cùng bán kính trên các mặt đĩa khác nhau, với cách tổ chức này thì
đĩa cứng đọc/ ghi dữ liệu chậm hơn so với các đĩa cứng ngày nay. Tất cả các đĩa
cứng mới ngày nay liên tục được cải tiến bắt đầu từ khi hệ điều hành Windows
95 ra đời để làm việc phù hợp với hệ điều hành.

-

Để phù hợp với các hệ điều hành hiện hành:
o Các tracks tổ chức theo cấu trúc logic chứ không phải là cấu trúc vật lý, và
được thiết lập khi đĩa được định dạng cấp thấp. Các tracks được đánh số bắt
8


đầu từ 0 (kể từ cạnh phía ngoài cùng đĩa) và tăng dần số hiệu lên đến số cao
nhất, điển hình là 1023 (gần tâm đĩa nhất).
o Tương tự có 1024 cylinder được đánh số từ 0 đến 1023 trên một đĩa cứng.
o Các Heads (đầu từ ) được đánh số từ 0 đến 255 (thông thường đầu từ 255
không dùng cho việc truy xuất dữ liệu của người sử dụng) trên một đĩa cứng.
o Các sectors trong một track được đánh số từ 1 đến 63.
-

Các lá đĩa quay tròn đồng tâm theo một tốc độ không đổi. Do vậy quãng đường
đi được của đầu từ trên bề mặt đĩa khi đầu từ ở gần tâm đĩa sẽ nhỏ hơn khi đầu

từ ở gần cạnh ngoài cùng của đĩa trong cùng một đơn vị thời gian. Tức là số
lượng dữ liệu đọc/ ghi được của đầu từ ở gần tâm đĩa sẽ ít hơn khi ở gần cạnh
ngoài cùng đĩa trong cùng đơn vị thời gian. Để bù lại, tức là đảm bảo số lượng
dữ liệu được đọc/ ghi trong cùng đơn vị thời gian là như nhau khi đầu từ ở bất
kỳ vị trí nào trên bề mặt đĩa thì mật độ cư trú của dữ liệu trên các track ở gần
phía cạnh ngoài đĩa sẽ nhỏ hơn trên các track gần tâm đĩa (tăng dần theo hướng
hướng tâm đĩa).

-

Không gian nhớ trên đĩa được điền đầy theo một sơ đồ chuẩn. Một mặt của một
lá đĩa chứa khoảng không dành riêng cho việc ghi thông tin vị trí các track phần
cứng (track – positioning data) và không dành cho bất cứ một hệ điều hành nào.
Như vậy, việc lắp đặt đĩa gồm 2 lá đĩa thì có 3 mặt đĩa dành cho việc ghi dữ
liệu. Thông tin về vị trí các track được ghi vào đĩa trong quá trình lắp đặt tại nhà
máy. Bộ điều khiển đĩa sẽ đọc thông tin này để đặt đầu từ vào vị trí sector chính
xác.
1.1.3.2.

-

Sectors and Clusters

Một sector là một đơn vị lưu trữ vật lý nhỏ nhất trên đĩa, hầu như luôn có dung
lượng là 512 bytes bởi vì 512 là một số lũy thừa của 2 (29).

-

Mỗi một sector trên đĩa được gán nhãn bởi nhà máy qua track – positioning
data. Dữ liệu nhận biết sector được ghi ngay ở vị trí đầu tiên của sector, trước

vùng dành để chứa dữ liệu của sector và nó cho biết đây là địa chỉ bắt đầu của
sector.

-

Phương pháp tối ưu lưu trữ một file trên đĩa là lưu trữ theo một chuỗi các cluster
liền kề nhau. Có nhiều file có dung lượng lớn hơn 512 bytes thì hệ thống quản
lý file định rõ số sectors lưu trữ dữ liệu của file này. Ví dụ nếu dung lượng file
là 800 bytes sẽ có 2 sectors (mỗi sector có dung lượng 512 bytes) được chỉ định

9


cho file. Thông thường một cluster có dung lượng bằng 1 sector, trong trường
hợp này file có dung lượng 800 bytes sẽ được lưu trữ trong 2 cluster.
-

Chúng được gọi là cluster bởi vì đây là một đơn vị không gian nhớ được cấp
phát cho việc lưu trữ nội dung dữ liệu của các file, điều này bảo vệ dữ liệu đã
được lưu không bị ghi đè. Về sau này nếu dữ liệu ghi nối thêm vào file và giả sử
dung lượng của nó tăng lên 1030 bytes, sẽ có thêm một cluster được chỉ định
cho việc lưu trữ file, tức là toàn bộ file được lưu trữ trong 3 cluster.

Hình 4:Sectors and Clusters.
-

Nếu trên đĩa không có sẵn các cluster còn trống (chưa lưu trữ dữ liệu) liền kề
nhau, thì 2 cluster sau được chỉ định cho việc lưu trữ file có thể nằm ở đâu đó
trên ổ đĩa (có thể cùng trong một cylinder hoặc trong các cylinder khác nhau –
nơi mà hệ thống quản lý file tìm ra 2 sectors còn trống. Một file được lưu trữ

trong các clusters không liền kề như trên thì được gọi là bị phân mảnh. Sự phân
mảnh dữ liệu của một file có thể làm giảm hiệu năng của hệ thống nếu hệ thống
quản lý file phải điều khiển đầu từ tới một số các địa chỉ khác nhau để tìm tất cả
dữ liệu của file mà ta muốn đọc. Thời gian tăng thêm để đầu từ đi tới một số địa
chỉ trên là nguyên nhân gây nên độ trễ (làm chậm) trước khi đọc được toàn bộ
nội dung file.

-

Dung lượng của cluster có thể thay đổi để phù hợp với thiết bị lưu trữ file. Một
cluster có dung lượng lớn hơn làm giảm khả năng phân mảnh dữ liệu của một
file, nhưng lại tăng khả năng lãng phí vùng nhớ do không được sử dụng hết
10


trong cluster (ví dụ, nếu file chỉ có dung lượng 460 bytes, thì với một cluster có
dung lượng 512 bytes không gian nhớ bị lãng phí là khoảng 10%, nhưng với
cluster có dung lượng 1024 bytes thì không gian nhớ bị lãng phí là khoảng
55%). Việc sử dụng cluster lớn hơn một sector làm giảm sự phân mảnh dữ liệu
của một file và cũng làm giảm dung lượng không gian đĩa cần thiết để quản lý
thông tin về các vùng nhớ trên đĩa đã được sử dụng hay chưa được sử dụng.
-

Địa chỉ truy nhập của sector đầu tiên trên đĩa cứng là: Head 0, Cylinder 0 và
sector 1
1.1.4. Cấu trúc logic của đĩa cứng với hệ thống FAT.

-

Nội dung phần này nhằm mục đích minh họa một dạng cấu trúc logic của đĩa từ,

mô hình cấu trúc này áp dụng cho đĩa cứng có các phân hoạch sử dụng hệ thống
quản lý file FAT (File Allocation Table). Hình sau đây minh họa tổ chức của đĩa
cứng vật lý có các volume định dạng theo hệ thống file FAT. Trong đó:
o MSB (Master Boot Record) là vùng để quản lý các phân hoạch trên đĩa vật
lý.
o Vùng bị che: không dùng đến. Vùng này cùng với MSB chiếm hết một track
0 thuộc mặt đĩa 0 của đĩa vật lý.
o Các phân hoạch đã định dạng theo hệ thống file FAT (các volume), mỗi một
volume có một vùng hệ thống riêng và vùng lưu trữ dữ liệu riêng và chúng
độc lập với nhau như các đĩa từ riêng biệt.

-

MBS

Nội dung chi tiết của từng thành phần xin được trình bày chi tiết ở các phần tiếp
sau.

Phần

Partition

bị che Boot
Sector
Vùng hệ thống của đĩa vật lý

FAT1 FAT2
(sao lưu dự phòng)
Vùng hệ thống của một volume


Root

Các thư mục

Folder

con và các file

Vùng dữ liệu của một volume

Hình 5:Tổ chức của đĩa cứng với các volume định dạng hệ thống file FAT.

11


1.2. Bản ghi khởi động chính (Master Boot Record) trên đĩa cứng
-

Master Boot Record, là một cấu trúc dữ liệu quan trọng trên đĩa, được tạo ra khi
ta thực hiện phân hoạch đĩa cứng. Nó thuộc sector đầu tiên của mọi đĩa cứng. Vị
trí này luôn là track 0 (cylinder 0), side 0 (head 0), và sector 1.

-

Master Boot Record, chứa bảng Partition lưu trữ thông tin về các phân hoạch
của đĩa cứng và một đoạn mã nhỏ có khả năng thi hành, Master Boot Record
không phụ thuộc vào hệ điều hành. Trên các máy tính chạy vi xử lý x86 đoạn
mã này kiểm tra bảng Partition và xác định phân hoạch khởi động. Sau đó
Master Boot Record tìm đến vị trí bắt đầu của phân hoạch khởi động trên đĩa
cứng, và nạp bản sao của sector khởi động của phân hoạch (Partition boot

sector) này vào bộ nhớ. Sau cùng Master Boot Record chuyển giao quyền thi
hành cho mã thi hành trong boot sector của phân hoạch khởi động.

-

Mọi đĩa cứng đều có một Master Boot Record, mã thi hành trong sector này
được sử dụng để tìm ra phân hoạch khởi động và chỉ khởi động được máy tính
khi đĩa có một phân hoạch khởi động (phân hoạch hệ thống).

-

Ví dụ sau đây cho thấy nội dung của sector chứa Master Boot Record (dữ liệu ở
dạng số hệ 16), được hiển thị làm 2 phần:

-

Phần thứ nhất là Master Boot Record, nó chiếm 446 bytes đầu tiên trong sector
này. Chữ ký đĩa (FD 4E F2 14) đánh dấu kết thúc của Master Boot Record.

-

Phần thứ hai là nội dung bảng Partition.

Nội dung sector vật lý có địa chỉ: Cylinder 0, head 0, Sector 1
00000000:00 33 C0 8E D0 BC 00 7C -8B F4 50 07 50 1F FB FC .3.....|..P.P..
00000010:BF 00 06 B9 00 01 F2 A5 -EA 1D 06 00 00 BE BE 07 ................
00000020:B3 04 80 3C 80 74 0E 80 -3C 00 75 1C 83 C6 10 FE ...<.t..<.u.....
00000030:CB 75 EF CD 18 8B 14 8B -4C 02 8B EE 83 C6 10 FE .u......L.......
00000040:CB 74 1A 80 3C 00 74 F4 -BE 8B 06 AC 3C 00 74 0B .t..<.t.....<.t.
00000050:56 BB 07 00 B4 0E CD 10 -5E EB F0 EB FE BF 05 00 V.......^.......

00000060:BB 00 7C B8 01 02 57 CD -13 5F 73 0C 33 C0 CD 13 ..|...W.._s.3...
00000070:4F 75 ED BE A3 06 EB D3 -BE C2 06 BF FE 7D 81 3D Ou...........}.=
00000080:55 AA 75 C7 8B F5 EA 00 -7C 00 00 49 6E 76 61 6C U.u.....|..Inval
00000090:69 64 20 70 61 72 74 69 -74 69 6F 6E 20 74 61 62 id partition tab
000000A0:6C 65 00 45 72 72 6F 72 -20 6C 6F 61 64 69 6E 67 le.Error loading
000000B0:20 6F 70 65 72 61 74 69 -6E 67 20 73 79 73 74 65 operating syste
000000C0:6D 00 4D 69 73 73 69 6E -67 20 6F 70 65 72 61 74 m.Missing operat
000000D0:69 6E 67 20 73 79 73 74 -65 6D 00 00 80 45 14 15 ing system...E..
000000E0:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................

12


000000F0:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000100:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000110:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000120:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000130:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000140:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000150:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000160:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000170:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000180:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
00000190:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
000001A0:00 00 00 00 00 00 00 00 -00 00 00 00 00 00 00 00 ................
000001B0:00 00 00 00 00 00 00 00 -FD 4E F2 14 00 00

.........N......
80 01


..

000001C0:01 00 06 0F 7F 96 3F 00 -00 00 51 42 06 00 00 00 .....?...QB....
000001D0:41 97 07 0F FF 2C 90 42 -06 00 A0 3E 06 00 00 00 A....,.B...>....
000001E0:C1 2D 05 0F FF 92 30 81 -0C 00 A0 91 01 00 00 00 .-....0.........
000001F0:C1 93 01 0F FF A6 D0 12 -0E 00 C0 4E 00 00 55 AA ...........N..U.

1.3. Việc phân hoạch đĩa và bảng Partition.
-

Thông tin về các phân hoạch chính và một phân hoạch mở rộng được chứa trong
bảng Partition, là một cấu trúc dữ liệu gồm 64 bytes trong cùng sector với
Master Boot Record (cylinder 0, head 0, sector 1). Bảng Partition là một qui
định chuẩn, không phụ thuộc vào bất cứ một hệ điều hành nào, bao giờ cũng bắt
đầu từ địa chỉ 01BEh (446). Mỗi một phần tử (bản ghi) trong bảng Partition có
độ dài 16 bytes, chia làm 8 trường như sau:
o Trường Boot Indicator (BI), độ rộng 1 byte, cho biết phân hoạch nào là
phân hoạch khởi động.
o Trường Starting Head, độ rộng 1 byte, cho biết số hiệu đầu từ bắt đầu của
phân hoạch.
o Trường Starting sector and cylinder, độ rộng 2 bytes, cho biết số hiệu
sector và cylinder bắt đầu của một phân hoạch. Việc mã hóa số hiệu sector
và số hiệu cylinder như sau: sử dụng 6 bits (5 ÷ 0) thấp biểu diễn số hiệu
sector bắt đầu của phân hoạch, các bit 7, 6 là 2 bit cao nhất trong 10 bits còn
lại biểu diễn số hiệu cylinder bắt đầu của phân hoạch. Cụ thể biểu diễn theo
hình ảnh trong hình 1-6:
13


15 14 13 12 11 10 9 8

7
6
5 4 3 2 1 0
Cylinder Bits 7 to 0 Cylinder Bits 9+8
Sector Bits 5 to 0
Hình 6:Sơ đồ mã hóa số hiệu sector và số hiệu cylinder bắt đầu cũng như kết thúc một
phân hoạch.
o Trường System Indicator (SI), độ rộng 1 byte, cho biết kiểu của phân
hoạch.
o Trường Ending head, độ rộng 1 byte, cho biết số hiệu đầu từ kết thúc của
phân hoạch.
o Trường Ending sector and cylinder, độ rộng 2 bytes, cho biết số hiệu
sector và cylinder kết thúc của một phân hoạch. Việc mã hóa số hiệu sector
và số hiệu cylinder giống như cho trường Starting sector and cylinder.
o Trường Relative Sectors (RS), độ rộng 4 bytes, cho biết tổng số sector nằm
trước phân hoạch đang xét.
o Trường Total Sectors (TS), độ rộng 4 bytes, cho biết tổng số sector thuộc
phân hoạch đang xét.
-

Hai bytes cuối cùng trong sector là chữ ký cho sector này và luôn luôn là
0xAA55.

-

Ví dụ tiếp sau đây là dữ liệu của bảng Partition lấy từ ví dụ về Master Boot
Record ở trên, cho ta thấy đĩa cứng này được chia làm 4 phân hoạch (nếu chia ít
hơn 4 phân hoạch thì sẽ có từ 1 đến 3 phần tử có tất cả các trưòng mang giá trị
0.


000001C0:
000001D0:
000001E0:
000001F0:

-

01
41
C1
C1

00
97
2D
93

06
07
05
01

0F
0F
0F
0F

7F
FF
FF

FF

96
2C
92
A6

3F
90
30
D0

00
42
81
12

-00
-06
-0C
-0E

00
00
00
00

51
A0
A0

C0

42
3E
91
4E

06
06
01
00

00
00
00
00

80
00
00
00
55

01
00
00
00
AA

..

.....?...QB....
A....,.B...>....
.-....0.........
...........N..U.

Giá trị của các trường trong các phần tử trong bảng Partition dùng để quản lý
các phân hoạch chính, phân hoạch mở rộng và các đĩa logic trong trong phân
hoạch mở rộng.

14


Byte
Độ dài Giá trị
Offset của
điển hình
trường

ý nghĩa nội dung

00

Boot Indicator. Cho biết phân hoạch này là phân
hoạch khởi động hay phân hoạch bình thường.
Giá trị

BYTE

80h


00 cho biết đây là phân hoạch bình thường
80 cho biết đây là phân hoạch khởi động.
01

BYTE

01h

Starting Head. Số hiệu đầu từ bắt đầu của phân
hoạch.

02

16 bits

0001h

Starting Sector và Starting Cylinder. Số hiệu
sector và Số hiệu cylinder bắt đầu của phân
hoạch. Sử dụng 6 bits thấp (các bit 0-5) để biểu
diễn số hiệu sector bắt đầu của phân hoạch. 10
bits còn lại biểu diễn số hiệu cylinder bắt đầu
của phân hoạch, trong đó hai bits 6-7 dùng làm
2 bits cao nhất trong 10 bits còn lại (tức là các
bits từ 8 đến 15 tương ứng các bíts 0 đến 7 và bit
6 tương ứng với bit 8, bit 7 tương ứng với bit 9
trong số 10 bits còn lại).

04


BYTE

06h

System ID. Cho biết kiểu hệ thống sử dụng phân
hoạch.

05

BYTE

0Fh

Ending Head. Số hiệu đầu từ cuối cùng của phân
hoạch.

06

16 bits

3Fh

Ending Sector. và Ending Cylinder. Số hiệu
sector và Số hiệu cylinder bắt đầu của phân
hoạch. Sử dụng 6 bits thấp (các bit 0-5) để biểu
diễn số hiệu sector bắt đầu của phân hoạch. 10
bits còn lại biểu diễn số hiệu cylinder bắt đầu
của phân hoạch, trong đó hai bits 6-7 dùng làm
2 bits cao nhất trong 10 bits còn lại (tức là các
bits từ 8 đến 15 tương ứng các bíts 0 đến 7 và bit

6 tương ứng với bit 8, bit 7 tương ứng với bit 9
trong số 10 bits còn lại).
15


08

4 bytes 0000003Fh Relative Sector. Cho biết tổng số sector nằm
trước phân hoạch này.

12

4 bytes 00064251h

Total Sectors. Cho biết tổng số sector của phân
hoạch.

Bảng 1:Ý nghĩa nội dung các trường trong bảng Partition (Giá trị điển hình trong
bảng là cho phân hoạch 1).
Giá
trị

ý nghĩa

01h

Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản lý file FAT12.
Số sector tối đa trong volume này là 32679 sectors.

04h


Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản lý file FAT16.
Số sector trong volume này từ 32680 sectors đến 65535 (dung lượng nhỏ
hơn 32MB).

05h

Cho biết đây là phân hoạch MS-DOS mở rộng.

06h

Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản lý file BIGDOS
FAT (FAT16 với dung lượng volume lớn hơn 32MB).

07h

Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản lý file NTFS.

0Bh

Phân hoạch chính sử dụng hệ thống quản lý file FAT32, dung lượng
volume lên tới 2048 GB, sử dụng LBA (Logical Block Addressing – sử
dụng ngắt 13h mở rộng đã xây dựng trong các BIOS mới để truy nhập
đĩa cứng dung lượng lớn hơn 8GB, hoặc để truy nhập trong chế độ LBA
thay cho CHS (Cylinder, Head, Sector)).

0Ch

Phân hoạch mở rộng sử dụng hệ thống quản lý file FAT32, dung lượng
volume lên tới 2048 GB, sử dụng LBA.


0Eh

Phân hoạch mở rộng sử dụng hệ thống quản lý file FAT16, sử dụng LBA.

0Fh

Phân hoạch chính sử dụng hệ thống quản lý file FAT16, sử dụng LBA.
Bảng 2:Các giá trị có thể của trường System ID.

-

Ví dụ về nội dung bảng Partition đã đề cập ở trên cho thấy đĩa cứng đã sử dụng
các phân hoạch sau: một phân hoạch BIGDOS FAT, một phân hoạch NTFS
partition, một phân hoạch extended partition, và một phân hoạch 12-bit FAT.

-

Nếu ta cài đặt hệ điều hành Windows NT trên một máy tính trước đây đã cài đặt
hệ điều hành Windows 95, các phân hoạch FAT sẽ không được nhận biết. Nếu
16


ta muốn sử dụng được các phân hoạch này khi đang chạy Windows NT, cách
duy nhất là thực hiện phân hoạch lại đĩa.
-

Các phiên bản OEM (Original Equipment Manufacturer) của Windows 95 hỗ
trợ bốn kiểu phân hoạch cho hệ thống FAT mà Windows NT không thể nhận
biết, đó là các kiểu tương ứng với các giá trị 0Bh, 0Ch, 0Eh, 0Fh của trường

System ID.

-

Khi ta tạo một tập các volume hoặc một tập các stripe, người quản trị đĩa đặt bit
cao nhất (bit 7) của trường System ID cho từng phân hoạch mở rộng hoặc cho
từng đĩa logic là thành viên của tập hợp này. Ví dụ, một phân hoạch chính FAT
hoặc một đĩa logic FAT là một thành viên của một tập volume hoặc một tập
stripe thì giá trị trường System ID của phần tử tương ứng với volume hoặc stripe
này có giá trị là 0x86. Một phân hoạch chính NTFS hoặc một đĩa logic NTFS là
một thành viên của một tập volume hoặc một tập stripe thì giá trị trường
System ID của phần tử tương ứng với volume hoặc stripe này có giá trị là 0x87.
Bit này chỉ ra rằng Windows NT cần sử dụng khóa con
HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry để xác định mối quan hệ
giữa các thành viên với nhau trong tập các volume hoặc tập các stripe (xác định
thứ tự đọc/ ghi các volume hoặc các stripe). Các volume có bit cao nhất được
đặt chỉ có thể được truy nhập bởi Windows NT.

-

Khi một phân hoạch chính hoặc một đĩa logic là một thành viên của tập các
volume hoặc tập các stripe có hạn chế việc ghi hoặc không được phép truy cập,
thì bit 6 của trường System ID đã được thiết lập. Giá trị của trường System ID là
C6 cho phân hoạch FAT, hoặc C7 cho phân hoạch NTFS.

-

Nếu ta khởi động MS-DOS, nó chỉ truy cập được các phân hoạch chính hoặc
các đĩa logic mà trường System ID của phần tử tương ứng trong bảng Partition
có giá trị là 0x01, 0x04, 0x05 hoặc 0x06. Tuy vậy, ta vẫn có thể xóa các volume

có các giá trị khác. Nếu ta sử dụng một trình biên tập đĩa cấp thấp, ta có thể đọc
hoặc ghi đến bất kỳ một sector nào, trong đó kể cả các sector thuộc các volume
NTFS.

-

Trong Windows Server, các tập mirror và các tập stripe với parity cũng yêu cầu
sử dụng khóa con HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry để
xác định truy cập các đĩa như thế nào (xác định thứ tự đọc/ghi các đĩa).

-

Trên các máy tính với bộ vi xử lý x86, các trường Starting and Ending Head,
Cylinder, and Sector rất quan trọng với việc khởi động máy tính. Đoạn mã trong
Master Boot Record sử dụng các trường này để tìm và nạp Partition boot sector.
17


-

Trường Ending Cylinder trong bảng Partition chiếm 10 bít, do vậy số lượng
cylinder lớn nhất có thể biểu diễn được trong bảng Partition là 1024 cylinder.
Các trường Starting and Ending Head đều chiếm 1 byte do vậy giá trị trong các
trường này từ 0 đến 255. Các trường Starting and Ending Sector chiếm 6 bits,
giá trị trong các trường này từ 0 đến 63. Tuy nhiên, sector được đánh số từ 1 nên
số sector trên một track lớn nhất là 63 sectors.

-

Từ khi đĩa cứng được định dạng cấp thấp (low-level formatted) theo chuẩn công

nghiệp với 512 bytes trên một sector, dung lượng lớn nhất của đĩa cứng có thể
được diễn tả bởi bảng Partition có thể được tính theo công thức sau:
MaxCapacity = (sector size) x (sectors per track) x (cylinders) x (heads)

-

Thay thế các giá trị lớn nhất có thể trong các trường, ta có:
512 x 63 x 1024 x 256 = 8,455,716,864 bytes or 7.8 GB

-

Như vậy dung lượng được định dạng lớn nhất là nhỏ hơn 8 GB

-

Dung lượng lớn nhất của một volume FAT16 phụ thuộc vào cấu trúc vật lý của
cứng, và dung lượng lớn nhất đạt được khi giá trị của các trường đã trình bày ở
trên nhận giá trị lớn nhất. Bảng 1-4 dưới đây cho ta thấy dung lượng điển hình
của một volume FAT16 khi đặt ở các chế độ chuyển đổi khác nhau, số cylinder
trong cả 2 trường hợp là 1024 cylinders.

18


Translation mode

Disabled

Enabled


Số lượng đầu từ

64

255

Số sector trên một track

32

63

Dung lượng lớn nhất mà hệ thống nhận 1 GB
được hoặc cho phân hoạch khởi động

4 GB

Bảng 3:Dung lượng lớn nhất của một volume FAT theo chế độ translation.
-

Lưu ý rằng, các máy tính dựa RISC không có giới hạn về dung lượng đối với hệ
thống hoặc các phân hoạch khởi động.

-

Nếu một phân hoạch chính hoặc một đĩa logic mở rộng vượt quá 1023 cylinders
thì tất các các giá trị của trường này là giá trị lớn nhất.

1.4. Boot sector và bảo vệ boot sector trong một đĩa logic cài đặt hệ điều hành
Windows(NTFS)

1

Boot sector trong một đĩa logic cài đặt hệ điều hành Windows(NTFS)

-

Boot sector: là phần chứa các đoạn chương trình khởi động cho ổ đĩa.

-

Trên đĩa cứng: là sector 0 của một primary partition (còn gọi là phân vùng
chính).

-

Bảng dưới mô tả sector khởi động của một khối lượng định dạng với NTFS. Khi
bạn định dạng ổ đĩa NTFS, các chương trình định dạng phân bổ 16 sector đầu
tiên cho các tập tin siêu dữ liệu $ Boot. Sector đầu tiên, trên thực tế, là một
sector khởi động với một "bootstrap" mã và 15 sector sau đây là IPL boot sector
của (chương trình ban đầu loader). Để tăng độ tin cậy hệ thống tập tin sector
cuối cùng một phân vùng NTFS chứa một bản sao thu nhỏ của boot sector.

byte offset

Thời lượng trường

Tên trường

0x00


3 byte

Lệnh nhảy

0x03

LONG LONG

OEM ID

0x0B

25 byte

BPB

0x24

48 byte

BPB Mở rộng

0x54

426 byte

Mã bootstrap
19



0x01FE

WORD

Đánh dấu kết thúc của Sector
Bảng 4:NTFS Boot Sector.

-

Về khối lượng NTFS, các trường dữ liệu theo mẫu BPB một BPB mở rộng. Các
dữ liệu trong các lĩnh vực này cho phép Ntldr (Chương trình tải NT) để tìm
bảng master file (MFT) trong quá trình khởi động. Về khối lượng NTFS, MFT
không nằm trong một khu vực được xác định trước, như trên FAT16 và FAT32
khối lượng. Vì lý do này, các MFT có thể được di chuyển nếu có một khu vực
xấu ở vị trí bình thường của nó. Tuy nhiên, nếu dữ liệu bị hỏng, MFT có thể
không được đặt, và Windows NT / 2000 giả định rằng khối lượng chưa được
định dạng.

-

Ví dụ sau minh họa sector khởi động của một khối lượng định dạng NTFS trong
khi chạy Windows 2000. Các bản in được định dạng trong ba phần:
o Bytes 0x00- 0x0A là lệnh nhảy và OEM ID (hiển thị trong in đậm).
o Bytes 0x0B-0x53 là BPB và BPB mở rộng.
o Các mã còn lại là mã bootstrap và kết thúc đánh dấu sector.

Sector vật lý:Cyl 0, Side 1, Sector 1
00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........
00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?...
00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J.......

00000030:04 00 00 00 00 00 00 00 -54 FF 07 00 00 00 00 00 ........T.......
00000040:F6 00 00 00 01 00 00 00 -14 A5 1B 74 C9 1B 74 1C ...........t..t.
00000050:00 00 00 00 FA 33 C0 8E -D0 BC 00 7C FB B8 C0 07 .....3.....|....
00000060:8E D8 E8 16 00 B8 00 0D -8E C0 33 DB C6 06 0E 00 ..........3.....
00000070:10 E8 53 00 68 00 0D 68 -6A 02 CB 8A 16 24 00 B4 ..S.h..hj....$..
00000080:08 CD 13 73 05 B9 FF FF -8A F1 66 0F B6 C6 40 66 ...s......f...@f
00000090:0F B6 D1 80 E2 3F F7 E2 -86 CD C0 ED 06 41 66 0F .....?.......Af.
000000A0:B7 C9 66 F7 E1 66 A3 20 -00 C3 B4 41 BB AA 55 8A ..f..f....A..U.
000000B0:16 24 00 CD 13 72 0F 81 -FB 55 AA 75 09 F6 C1 01 .$...r...U.u....
000000C0:74 04 FE 06 14 00 C3 66 -60 1E 06 66 A1 10 00 66 t......f`..f...f
000000D0:03 06 1C 00 66 3B 06 20 -00 0F 82 3A 00 1E 66 6A ....f;....:..fj
000000E0:00 66 50 06 53 66 68 10 -00 01 00 80 3E 14 00 00 .fP.Sfh.....>...
000000F0:0F 85 0C 00 E8 B3 FF 80 -3E 14 00 00 0F 84 61 00 ........>.....a.
00000100:B4 42 8A 16 24 00 16 1F -8B F4 CD 13 66 58 5B 07 .B..$......fX [..
00000110:66 58 66 58 1F EB 2D 66 -33 D2 66 0F B7 0E 18 00 fXfX.-f3.f......
00000120:66 F7 F1 FE C2 8A CA 66 -8B D0 66 C1 EA 10 F7 36 f......f..f....6
00000130:1A 00 86 D6 8A 16 24 00 -8A E8 C0 E4 06 0A CC B8 ......$.........

20


00000140:01 02 CD 13 0F 82 19 00 -8C C0 05 20 00 8E C0 66 ..............f
00000150:FF 06 10 00 FF 0E 0E 00 -0F 85 6F FF 07 1F 66 61 ..........o...fa
00000160:C3 A0 F8 01 E8 09 00 A0 -FB 01 E8 03 00 FB EB FE ................
00000170:B4 01 8B F0 AC 3C 00 74 -09 B4 0E BB 07 00 CD 10 .....<.t........
00000180:EB F2 C3 0D 0A 41 20 64 -69 73 6B 20 72 65 61 64 .....A disk read
00000190:20 65 72 72 6F 72 20 6F -63 63 75 72 72 65 64 00 error occurred.
000001A0:0D 0A 4E 54 4C 44 52 20 -69 73 20 6D 69 73 73 69 ..NTLDR is missi
000001B0:6E 67 00 0D 0A 4E 54 4C -44 52 20 69 73 20 63 6F ng...NTLDR is co
000001C0:6D 70 72 65 73 73 65 64 -00 0D 0A 50 72 65 73 73 mpressed...Press

000001D0:20 43 74 72 6C 2B 41 6C -74 2B 44 65 6C 20 74 6F Ctrl+Alt+Del to
000001E0:20 72 65 73 74 61 72 74 -0D 0A 00 00 00 00 00 00 restart........
000001F0:00 00 00 00 00 00 00 00 -83 A0 B3 C9 00 00 55 AA ..............U.

-

Bảng dưới đây mô tả các trường trong BPB và BPB mở rộng trên các phân vùng
NTFS. Các trường bắt đầu từ 0x0B, 0x0D, 0x15, 0x18, 0x1A, và 0x1C phù hợp
với nó trên FAT16 và FAT32. Các giá trị mẫu tương ứng với dữ liệu trong ví dụ
này.

byte
offset

Thời lượng
Trường

Giá trị mẫu

Tên trường

0x0B

WORD

0x0002

Bytes trên mỗi Sector

0x0D


BYTE

0x08

Sectors trên mỗi Cluster

0x0E

WORD

0x0000

Sector Ltd.

0x10

3 byte

0x000000

Luôn là 0

0x13

WORD

0x0000

không được sử dụng bởi NTFS


0x15

BYTE

0xF8

Mô tả truyền thông

0x16

WORD

0x0000

Luôn là 0

0x18

WORD

0x3F00

Sectors trên mỗi Track

0x1A

WORD

0xFF00


Số đầu

0x1C

DWORD

0x3F000000

Hidden Sector

0x20

DWORD

0x00000000

không được sử dụng bởi NTFS

0x24

DWORD

0x80008000

không được sử dụng bởi NTFS
21


0x28


LONG LONG

0x4AF57F0000000000

Tổng số Sector

0x30

LONG LONG

0x0400000000000000

Logical Cụm Số cho các tập tin
$ MFT

0x38

LONG LONG

0x54FF070000000000

Logical Cụm Số cho các tập tin
$ MFTMirr

0x40

DWORD

0xF6000000


Clusters mỗi File Record
Segment

0x44

BYTE

0x01

Clusters mỗi Index Buffer

0x45

3 byte

0x000000

không được sử dụng bởi NTFS

0x48
0x50

LONG LONG 0x14A51B74C91B741C
DWORD

0x00000000

Khối lượng Serial Number
Kiểm tra tổng


Bảng 5:Mô tả các trường trong BPB và BPB mở rộng trên các phân vùng NTFS.
1.4.1. Bảo vệ boot sector
-

Bởi vì một hệ thống hoạt động bình thường dựa vào sector khởi động để truy
cập vào ổ đĩa, nó rất quan trọng nên bạn chạy phần mềm quét các công cụ như
Chkdsk thường xuyên, cũng như sao lưu tất cả các tập tin dữ liệu của bạn để bảo
vệ chống mất mát dữ liệu nếu bạn bị mất quyền truy cập vào một lượng.

Chương 2: cấu trúc quản lý file và thư mục trong một đĩa logic cài đặt hệ
điều hành Windows (NTFS - New Technology File System)
2.1. Khái niệm NTFS
-

NTFS (New Technology File System)-bảng phân hoạch tập tin công nghệ mới
được giới thiệu cùng với phiên bản Windows NT đầu tiên , Microsoft đã thay
thế hệ thống file FAT MS-DOS bằng một hệ thống file mới 32-bit nhanh hơn,
bảo mật hơn. Với không gian địa chỉ 64 bit, khả năng thay đổi kích thước của
cluster độc lập với dung lượng đĩa cứng, NTFS hầu như đã loại trừ được những
hạn chế về số cluster, kích thước tối đa của tập tin trên một phân vùng đĩa cứng.

-

NTFS sử dụng bảng quản lý tập tin MFT (Master File Table) thay cho bảng
FAT quen thuộc nhằm tăng cường khả năng lưu trữ, tính bảo mật cho tập tin và
thư mục, khả năng mã hóa dữ liệu đến từng tập tin. Ngoài ra, NTFS có khả năng
22



chịu lỗi cao, cho phép người dùng đóng một ứng dụng “chết” (not responding)
mà không làm ảnh hưởng đến những ứng dụng khác. Tuy nhiên, NTFS lại
không thích hợp với những ổ đĩa có dung lượng thấp (dưới 400 MB) và không
sử dụng được trên đĩa mềm.
-

Hệ thống file NTFS có khả năng hoạt động cao và có chức năng tự sửa chữa.
Nhờ có tính năng lưu giữ lại các thông tin xử lý, NTFS có khả năng phục hồi
file cao hơn trong những trường hợp ổ đĩa có sự cố. Nó hỗ trợ chế độ bảo mật ở
mức độ file, nén và kiểm định. Nó cũng hỗ trợ các ổ đĩa lớn và các giải pháp lưu
trữ mạnh mẽ như RAID.

-

NTFS có 5 phiên bản được phát hành:
o Phiên bản 1.0 (v1.0) với NT 3.1, phát hành giữa năm 1993
o Phiên bản 1.1 (v1.1) với NT 3.5, phát hành cuối năm 1994
o Phiên bản 1.2 (v1.2) với NT 3.51 (giữa năm 1995) và NT 4 (giữa năm 1996)
(đôi khi còn gọi là "NTFS 4.0", vì phiên bản OS là 4.0)
o Phiên bản 3.0 (v3.0) của Windows 2000 ("NTFS V5.0")
o Phiên bản 3.1 (v3.1) của Windows XP (mùa thu 2001; "NTFS V5.1"),
Windows Server 2003 (mùa xuân 2003; đôi khi còn gọi là "NTFS V5.2"),
Windows Vista (giữa năm 2005) (đôi khi còn gọi là "NTFS V6.0") và
Windows Server 2008
o V1.0 và V1.1 (và các phiên bản mới hơn) không tương thích: vì các đĩa được
ghi bằng NT 3.5x không thể đọc được bằng NT 3.1 cho đến khi một bản cập
nhật trên đĩa CD có NT 3.5x được áp dụng cho NT 3.1, bản cập nhật cũng
thêm vài hỗ trợ tên tập tin dài FAT. V1.2 hỗ trợ các tập tin nén, các dòng dữ
liệu được đặt tên, bảo mật dựa trên ACL, vân vân. V3.0 thêm vào cấp hạn
ngạch cho đĩa, mã hóa, tập tin rải, các điểm phân tích kiểm tra, bản ghi số

thứ tự cập nhật (USN - update sequence number), các tập tin và thư mục
$Extend, và tổ chức lại ký hiệu bảo mật để nhiều tập tin sử dụng cùng thiết
lập bảo mật có thể chia sẻ cùng một ký hiệu. V3.1 mở rộng danh sách Bảng
tập tin gốc (MFT - Master File Table) với số ghi MFT dư (có ích cho việc
khôi mục các tập tin MFT bị hư hỏng).

-

Windows Vista đưa vào sử dụng NTFS giao tác, các liên kết biểu tượng NTFS,
phân vùng thu hẹp và chức năng tự sửa chữa, mặc dù những tính năng này dùng
nhiều hơn để bổ sung chức năng của hệ điều hành hơn là cho bản thân hệ thống
tập tin.
23


-

Chức năng mới quan trọng nhất của NTFS là khả năng mã hóa file và folder để
bảo vệ các dữ liệu nhạy cảm của người dùng máy tính. Đáng tiếc là NTFS và
FAT không tương thích nhau. Hậu quả là chỉ có các hệ điều hành Windows
NT/2000/ XP mới “nhìn” thấy các ổ đĩa được định dạng với hệ thống file NTFS.
Trong khi đó, tính tương thích giữa các phiên bản NTFS cao hơn. Tuy có hệ
thống file NTFS 1.1, Windows NT SP4 trở lên (với driver NTFS.SYS mới) có
thể truy xuất các ổ đĩa NTFS 5.0 (nhưng dĩ nhiên là không khai thác được các
chức năng của NTFS 5.0). Trong Windows 2000 có chức năng tự động chuyển
đổi các file NTFS cũ thành NTFS 5.0.

-

Để nhận biết một đĩa cứng đã sử dụng NTFS hay chưa bạn nhất nút phải chuột

vào biểu tượng một ổ đĩa đó trong My Computer rồi chọn chọn properties . Nếu
thấy tham số Type là NTFS là đúng

-

Và để chuyển FAT thành NTFS file system thì có thể làm như sau:

Windows
XP,
click
Start,
click
Run,

cmd
.
cmd: convert [driveletter]: /FS:NTFS.

-

Hoặc ta có thể dùng 1 số chương trình trong đĩa hiren boot để chuyển từ FAT
sang NTFS lưu ý cách này dễ làm mất dữ liệu trong ổ cứng.

2.2. Cơ bản về NTFS
2.2.1. Cấu trúc tập tin và Volume của NTFS
-

NTFS sử dụng những khái niệm sau : Sector, cluster, volume

-


Cluster là đơn vị định vị cơ bản trong NTFS. Kích thước tập tin tối đa trong
NTFS là 2 cluster, tương đương 2 bytes. Sự tương ứng giữa kích thước volume
và cluster như hình sau :
32

48

Hình 7:Windows NTFS Partition và kích thước cluster.
-

Cấu trúc volume của NTFS :
24


Hình 8:Tổng quan volume NTFS.
-

Bao gồm bốn vùng. Vùng thứ nhất là các sector khởi động của partition (có thể
đến 16 sectors) bao gồm các thông tin về cấu trúc của volume, cấu trúc của hệ
thống tập tin cũng như những thông tin và mã nguồn khởi động. Vùng tiếp theo
là bảng Master File (MFT) lưu các thông tin về tất cả tập tin và thư mục trên
volume NTFS này cũng như thông tin về các vùng trống. Sau vùng MFT là
vùng các tập tin hệ thống có kích khoảng 1Mb bao gồm :

-

MFT2 : bản sao của MFT

-


Log file : thông tin về các giao tác dùng cho việc phục hồi.

-

Cluster bitmap : biểu diễn thông tin lưu trữ của các cluster

-

Bảng định nghĩa thuộc tính : định nghĩa các kiểu thuộc tính hỗ trợ cho volume
đó.

-

MFT được tổ chức thành nhiều dòng. Mỗi dòng mô tả cho một tập tin hoặc một
thư mục trên volume. Nếu kích thước tập tin nhỏ thì toàn bộ nội dung của tập tin
được lưu trong dòng này. mỗi dòng cũng lưu những thuộc tính cho tập tin hay
thư mục mà nó quản lý.

Hình 9:Các kiểu thuộc tính của tập tin và thư mục của Windows NTFS.
25


×