Trong những bài viết về Windows 98 - Memphis trên PC World thời gian gần đây, hẳn các bạn đã nghe nói nhiều về một kỹ thuật mới được Microsoft đưa vào sử dụng. Đó chính là FAT32. Tuy nhiên, ít người biết rằng FAT32 đã được Microsoft âm thầm đưa ra trong một phiên bản trước của Windows 98: đó là OEM Service Release 2 hay còn gọi tắt là Win95 OSR2. Vậy FAT32 là gì và nó ảnh hưởng thế nào đến máy tính của bạn? Mời các bạn theo dõi bài viết sau
Như các bạn đã biết, đơn vị lưu trữ nhỏ nhất trên đĩa là sector gồm 512 byte. Để quản lí đĩa và theo dõi sector nào đã sử dụng và sector nào còn trống có thể cấp phát cho các file mới, DOS sử dụng một cấu trúc gọi là bảng FAT. Đây là từ viết tắt của "File Allocation Table" dịch sang tiếng Việt là "Bảng cấp phát file". Bảng FAT bao gồm các thẻ dữ liệu về mỗi sector trên đĩa. Con số đi sau FAT chỉ kích thước của FAT. FAT16 có 216= 65536 thẻ dữ liệu còn FAT32 có 232= 4294967296 thẻ.
Khi sử dụng FAT16, bạn chỉ có 65536 thẻ để quản lí các sector trên đĩa. Vì vậy nếu đĩa cứng lớn hơn 32MB hay nói cách khác là có nhiều hơn 65536 sector thì FAT16 không thể quản lí hết từng sector một. Do đó từ phiên bản DOS 4.0 Microsoft đã sử dụng giải pháp cluster. Cluster là một nhóm sector được FAT16 dùng chung một thẻ dữ liệu để quản lí như một sector duy nhất. Bây giờ khi cấp phát đĩa cho một file mới bạn sẽ phải cấp toàn bộ một cluster chứ không thể cấp riêng một sector nữa. Bảng sau đây sẽ cho biết kích thước cluster tùy vào ổ cứng của bạn.
Kích thước paritition | Kích thước cluster |
<128MB | 2KB |
128MB-256MB | 4KB |
256MB-512MB | 8KB |
512MB-1GB | 16KB |
1GB-2GB | 32KB |
FAT16 không hỗ trợ các paritition lớn hơn 2GB.
Ví dụ: để kích thước cluster nhỏ hơn 8K trong FAT16, bạn phải đặt kích thước của paritition < 512 MB
Windows 95 và mọi phiên bản của DOS đều quản lí đĩa cứngcủa bạn theo FAT16. Sự xuất hiện của các đĩa cứng ngày càng lớn hơn sẽ dẫn tới kích thước cluster lớn hơn và điều này tương đương với lãng phí đĩa. Bởi vì nếu kích thước cluster trên đĩa cứng 1.2GB của bạn là 32KB, khi cấp phát đĩa cho 1 file chỉ gồm 1 byte bạn vẫn phải cấp cho nó toàn bộ 1 cluster. Do đó bạn sẽ lãng phí 32KB-1byte còn lại. Chỗ còn lại này (gọi là slack) không thể sử dụng được cho các file khác.
Sự ra đời của FAT32 đã cải thiện được tình hình tồi tệ trên: nó hỗ trợ các paritition lớn tới 2Terabytes, và kích thước cluster nhỏ hơn 4 K với mọi parition nhỏ hơn 8 GB. Đó là vì nó có tới 4294967296 thẻ dữ liệu để quản lí đĩa.
Bảng sau là kích thước cluster mặc định cho FAT32
Kích thước partition | Kích thước cluster |
<260 MB | 512 bytes |
260 MB - 8 GB | 4 KB |
8 GB - 16 GB | 8 KB |
16 GB - 32 GB | 16 KB |
>32 GB | 32 KB |
Lưu ý rằng kích thước nhỏ nhất của mỗi parritition sử dụng FAT32 được tạo bằng FDISK là 512MB, vì vậy bạn không thể FDISK rồi FORMAT một đĩa sử dụng FAT32 mà nhỏ hơn 512MB được. Tuy nhiên bạn có thể sử dụng phần mềm Paritition Magic để chuyển đổi một ổ đĩa đang sử dụng FAT16 sang sử dụng FAT32.
Nếu FAT32 có lợi ích nhiều như vậy, tại sao bây giờ Microsoft mới đưa ra sử dụng. Đó là vì nếu đĩa cứng của bạn có kích thước cluster càng nhỏ thì máy càng chậm. Điều này đúng với mọi hệ điều hành, mọi dạng FAT. Lí do là với kích thước cluster nhỏ, các file sẽ bao gồm nhiều cluster hơn và do đó việc đọc ghi sẽ lâu hơn. Chẳng hạn trong hệ thống có kích thước cluster là 16KB, một file ảnh 320KB sẽ bao gồm 20 cluster, việc mở file này sẽ phải thực hiện 20 lần thao tác đọc cluster. Nhưng nếu kích thước cluster là 2KB thì file đó sẽ bao gồm 160 cluster và việc mở file sẽ phải thực hiện tới 160 lần thao tác đọc cluster. Do đó các ứng dụng có nhiều tác vụ đọc ghi đĩa sẽ chậm đi rõ rệt. Thế nhưng nếu bạn sử dụng cluster lớn hơn thì slack cũng lại lớn dẫn đến lãng phí đĩa cứng.
Trong trường hợp sử dụng cùng kích thước paritition và cluster, các thử nghiệm cho thấy FAT32 và FAT16 cho tốc độ xấp xỉ nhau (chênh lệch trong vòng 2%)
Vậy là bạn phải lựa chọn giữa hiệu năng máy và đĩa cứng: cluster nhỏ sẽ làm bớt slack nhưng lại làm giảm tốc độ đĩa cứng. Cluster lớn hơn làm tăng lượng lãng phí và cũng làm tăng hiệu năng đĩa. Microsoft đã quyết định hộ chúng ta (bằng cách qui định kích thước cluster 4K là mặc định với FAT32) rằng cluster cỡ 4K là cân bằng giữa slack và hiệu năng. Dù sao đi nữa, người sử dụng kinh nghiệm vẫn có khả năng tự quyết định cho chính mình kích thước cluster cần thiết với tham số /Z bí mật của lệnh FORMAT (xem phần làm thế nào để tạo một đĩa cứng sử dụng FAT32 bên dưới).
Các tiện ích đĩa cũ rất trở nên nguy hiểm với FAT32. Vì không biết được cấu trúc FAT mới, khi thao tác trực tiếp lên đĩa cứng chúng sẽ phá huỷ dữ liệu của bạn. Các tiện ích nổi tiếng của Norton hiện đã có bản nâng cấp cho FAT32 trên WEB Site của Symantec. Ngoài ra các chương trình tiện ích thao tác trên cấp file mà không truy cập trực tiếp vào đĩa có thể chạy bình thường, kể cả các chương trình sao lưu.
Lưu ý là bạn không thể thực hiện chức năng nén đĩa với FAT32 ngay cả bằng chương trình DriveSpace3 đi kèm với OSR2 và Memphis.
Lưu ý rằng bạn phải chủ động khởi động lại sau khi FDISK, việc này không còn tự động như trước các phiên bản trước. Nếu bạn không khởi động lại mà chạy FORMAT ngay, bạn sẽ nhận được thông báo lỗi lạ lùng.
Bạn có thể sử dụng tham số bí mật /FPRMT của FDISK. Đây là một tham số không công bố, nó không được liệt kê trong bất cứ tài liệu nào về FDISK của Microsoft, do đó hãng này không chịu trách nhiệm về những hỏng hóc có thể xảy ra với đĩa cứng của bạn nếu sử dụng tham số này. Mặc dù những thử nghiệm của chúng tôi đã tỏ ra rất suôn sẻ, bạn vẫn phải chịu một sự mạo hiểm nho nhỏ nếu sử dụng chức năng này.
Ngoài ra còn có một tham số bí mật của lệnh FORMAT để tạo dạng đĩa với kích thước cluster bất kỳ: "FORMAT /z:n" trong đó n là số sector cho một cluster mà bạn mong muốn. Đây cũng là một tham số không được Microsoft công bố.
Bạn cần phải có đĩa khởi động của OSR2. Trong đĩa này sẽ có đầy đủ FDISK và FORMAT phiên bản mới. Để tạo ra nó có hai cách:
PowerQuest đã cho ra đời sản phẩm Paritition Magic 3.0. Khi chúng tôi sử dụng tiện ích này để chuyển đĩa cứng sang chế độ sử dụng FAT32, kích thước phần trống của đĩa tăng từ 58 lên 268MB với một đĩa 1.2 GB. Tuy nhiên kết quả đối với bạn có thể khác tuỳ thuộc vào kiểu của các file trên đĩa cứng của bạn.
Microsoft cũng có một tiện ích tương tự nhưng chỉ cho phép chuyển đổi 1 chiều từ FAT16 sang FAT32 là CVT.EXE. Tiện ích này vẫn còn đang ở dạng beta test và đi cùng với bản OSR2 và Memphis.
Để nhận biết một đĩa cứng đã sử dụng FAT32 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à FAT32 là đúng.