NTFS

NTFS (Viết tắt của từ New Technology File System). Tiếng Việt: "Hệ thống tập tin công nghệ mới". NTFS là hệ thống tập tin tiêu chuẩn của Windows NT, bao gồm cả các phiên bản sau này của Windows như Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8 và Windows 8.1, Windows 10 và Windows Server 2016.
NTFS thay thế hệ thống tập tin FAT vốn là hệ thống tập tin ưa thích cho các hệ điều hành Windows của Microsoft. NTFS có nhiều cải tiến hơn FAT và HPFS (High Performance File System - Hệ thống tập tin hiệu năng cao) như hỗ trợ cải tiến cho các siêu dữ liệu và sử dụng các cấu trúc dữ liệu tiên tiến để cải thiện hiệu suất, độ tin cậy, và sử dụng không gian ổ đĩa, cộng thêm phần mở rộng như các danh sách kiểm soát truy cập bảo mật (access control list-ACL) và bản ghi hệ thống tập tin.
Tất cả các phiên bản Windows bắt đầu từ phiên bản Windows Vista trở đi đều bắt buộc phải cài đặt Windows trên phân vùng NTFS và không thể cài đặt được trên phân vùng FAT.

Lịch sử

Vào giữa thập niên 1980, Microsoft và IBM thành lập một dự án hợp tác để ra hệ điều hành đồ họa thế hệ tiếp theo. Kết quả của dự án là OS/2, nhưng cuối cùng Microsoft và IBM bất đồng về nhiều vấn đề quan trọng và sau đó đã chia rẽ. OS/2 tiếp tục là một dự án của IBM. Còn Microsoft bắt đầu phát triển hệ điều hành Windows NT. Hệ thống tập tin HPFS của OS/2 có một số tính năng mới quan trọng. Khi Microsoft tạo ra hệ điều hành mới, họ đã vay mượn nhiều khái niệm cho NTFS. Có lẽ do có chung nhiều khái niệm nên HPFS và NTFS có cùng mã phân loại nhận dạng phân vùng ổ đĩa (07). Có cùng một số nhận dạng là không bình thường khi có tới hàng chục mã có sẵn, và các hệ thống tập tin ổ đĩa lớn khác có mã của riêng chúng. FAT có hơn 9 mã (mỗi mã cho FAT12, FAT16, FAT32, vân vân). Các thuật toán trong đó xác định hệ thống tập tin trong một kiểu phân vùng 07 phải thực hiện kiểm tra bổ sung. Đây cũng rõ ràng rằng NTFS cũng dùng chung thiết kế kiến trúc cho Files-11 được sử dụng bởi VMS. Điều này hầu như không đáng ngạc nhiên khi Dave Cutler là người đứng đầu của cả VMS và Windows NT.

Các đặc tính

NTFS v3.0 bao gồm vài đặc tính mới so với FAT, đó là: hỗ trợ tập tin rải, cấp hạn ngạch sử dụng ổ đĩa, các điểm phân tích kiểm tra, theo dõi liên kết phân phối, và mã hóa các mức tập tin, cũng còn gọi là Hệ thống tập tin mã hóa (EFS).

Bản ghi số thứ tự cập nhật (USN)

Đây là một đặc tính quản lý hệ thống ghi các thay đổi của tất cả các tập tin, dòng dữ liệu và thư mục trong đĩa, cũng như các đặc tính khác của tập tin, thư mục và các thiết lập bảo mật.
Đây là một chức năng quan trọng của NTFS (một tính năng mà FAT/FAT32 không có) để bảo đảm rằng các cấu trúc dữ liệu phức tạp bên trong của nó (đặc biệt là các bitmap cấp cho đĩa, hay di chuyển dữ liệu được thực hiện bởi các API phân mảnh, các sửa đổi những bản ghi MFT như di chuyển một vài biến số các đặc tính chiều dài được lưu trữ trong các bản ghi MFT và danh sách đặc tính, hay cập nhật các ký hiệu bảo mật chung, hoặc để khởi động sector và mirror cục bộ nơi thực hiện USN cuối cùng trên đĩa được lưu trữ) và các chỉ số (cho các thư mục và ký hiệu bảo mật) sẽ còn phù hợp trong mọi trường hợp hệ thống bị hư hỏng, và cho phép dễ dàng hủy các thay đổi không ràng buộc với các cấu trúc dữ liệu quan trọng đó khi ổ đĩa sẽ bị cài đặc lại.
Trong các phiên bản mới của Window, bản ghi số thứ tự cập nhật đã mở rộng để truy theo trạng thái của các hoạt động giao tác khác trên các phần khác của hệ thống tập tin NTFS, chẳng hạn như các bản sao bóng VSS của các tập tin hệ thống với các ngữ nghĩa copy-on-write (Copy-on-Write (COW) cho phép tiến trình cha và con dùng chung trang trong bộ nhớ khi mới khởi tạo tiến trình con), hoặc thực hiện các Giao tác NTFS và các hệ thống tập tin phân phối.

Các liên kết cứng và viết tắt tên tập tin

Ban đầu gồm hỗ trợ hệ thống con POSIX trong Windows NT, các liên kết cứng tương tự như các nút thư mục, nhưng được sử dụng cho các tập tin thay vì các thư mục. Các liên kết cứng chỉ có thể được áp dụng cho các tập tin trên cùng một ổ đĩa từ một bản ghi tên tập tin phụ được thêm vào bản ghi MFT của tập tin. Viết ngắn tên tập tin cũng được thực hiện như các bản ghi tên tập tin phụ, nó không có các danh sách thư mục riêng biệt.

Các dòng dữ liệu luân phiên (ADS)

Các dòng dữ liệu luân phiên cho phép nhiều hơn một dòng dữ liệu được liên kết với một tên tập tin, sử dụng định dạng tên tập tin là "filename:streamname" (ví dụ "text.txt:extrastream). Các dòng luân phiên không được liệt kê trong Windows Explorer, và kích thước của chúng không bao gồm cả kích thước của tập tin. Chỉ có dòng chính của một tập tin được duy trì khi nó được sao chép vào một mạng chia sẻ hoặc ổ đĩa USB định dạng FAT, gắn với một e-mail, hay tải lên một website. Do đó, sử dụng các dòng luân phiên cho dữ liệu quan trọng có thể gây ra các vấn đề. Các dòng NTFS được giới thiệu trong Windows NT 3.1, để kích hoạt Các dịch vụ cho Macintosh (SFM) nhằm lưu trữ các nhánh tài nguyên Macintosh. Mặc dù các phiên bản hiện hành của Windows Server không còn gồm SFM, nhưng các sản phẩm Apple Filing Protocol (AFP) của bên thứ ba (như Group Logic's ExtremeZ-IP) vẫn sử dụng tính năng này của hệ thống tập tin.
Malware được sử dụng cho các dòng dữ liệu luân phiên nhằm ẩn mã của nó; một số công cụ quét malware và các công cụ đặc biệt khác hiện nay dùng để kiểm tra các dòng luân phiên trong dữ liệu. Microsoft cung cấp một công cụ gọi là Streams cho phép người dùng xem được các dòng trên một ổ được chọn.
ADS rất nhỏ cũng được thêm vào trong chương trình Internet Explorer (và cả các trình duyệt khác hiện nay) để đánh dấu các tập tin đã được tải về từ các trang bên ngoài: chúng có thể không an toàn để chạy cục bộ và tiện ích cục bộ sẽ yêu cầu xác nhận từ người dùng trước khi mở chúng. Khi người dùng không muốn xác nhận yêu cầu này, ADS chỉ đơn giản giảm xuống từ danh mục MFT cho các tập tin được download.
Một số trình ứng dụng media cũng đã cố gắng sử dụng ADS để lưu trữ siêu dữ liệu cho các tập tin media, để tổ chức sắp xếp, mà không sửa đổi nội dung dữ liệu có ích của bản thân các tập tin media (sử dụng các thẻ nhúng khi chúng được hỗ trợ bởi các đinh dạng tập tin media như MPEG và OGG); siêu dữ liệu này có thể được hiển thị trong Windows Explorer như các cột thông tin thêm, với sự giúp đỡ của một thanh ghi đã ghi một Windows Shell mở rộng mà có thể phân tích chúng, nhưng hầu hết các trình ứng dụng media thích sử dụng cơ sở dữ liệu của bản thân thay vì ADS để lưu trữ các thông tin (đặc biệt vì ADS được hiện thị các tập tin này cho tất cả người dùng, thay vì được quản lý với các thiết lập bảo mật riêng biệt cho mỗi người dùng và có các giá trị được xác định theo sở thích người dùng).

Các tập tin thưa

Các tập tin thưa là các tập tin chứa các tập hợp dữ liệu thưa thớt, dữ liệu chủ yếu được làm đầy bằng các số 0. Các ứng dụng cơ sở dữ liệu, đôi khi sử dụng các tập tin thưa. Vì điều này, Microsoft đã triển khai thực hiện hỗ trợ cho việc lưu trữ hiệu quả của các tập tin thưa bằng cách cho phép một ứng dụng chỉ rõ các vùng dữ liệu rỗng (vùng toàn số 0). Một ứng dụng đọc một tập tin thưa theo kiểu bình thướng với hệ thống tập tin tính toán những gì dữ liệu cần phải trả lại dựa trên khoảng trống tập tin. Cũng như với các tập tin nén, kích thước thực tế của các tập tin thưa không được đưa vào bản kê khai khi xác định các giới hạn hạn ngạch.

Tập tin nén

NTFS nén các tập tin bắng cách sử dụng một biến thể của thuật toán LZ77. Mặc dù truy cập đọc-ghi vào các tập tin nén được rõ ràng, Microsoft khuyến cáo tránh nén trên các hệ thống server và/hoặc mạng chia sẻ giữ hồ sơ chuyển vùng vì nó nạp một lượng đáng kể thông tin cần xử lý vào bộ xử lý.

Sao chép bóng ổ đĩa

Dịch vụ sao chép bóng ổ đĩa (Volume Shadow Copy Service - VSS) giữ lại các phiên bản cũ của các tập tin và thư mục trong các ổ đĩa NTFS bằng cách sao chép dữ liệu ghi đè mới, cũ (copy-on-write). Dữ liệu tập tin cũ che dữ liệu mới khi người dùng yêu cầu hoàn nguyên một phiên bản trước đó. Điều này cho phép các chương trình sao lưu dữ liệu lưu trữ các tập tin hiện thời đang được sử dụng bởi hệ thống tập tin. Trên các hệ thống xử lý nhiều, Microsoft khuyến cáo thiếp lập một ổ sao lưu bóng trên một ổ đĩa riêng. Để đảm bảo phục hồi trong trường hợp hệ thống hư hỏng, VSS cũng sử dụng bản ghi USN để đánh dấu các giao tác cục bộ và đảm bảo các thay đổi hệ thống tập tin sẽ được phục hồi hiệu quả sau khi hệ thống khởi động lại khi ổ đĩa NTFS sẽ được cài đặt lại, hoặc giảm xuống an toàn đến một phiên bản cũ nếu phiên bản mới không được ghi đầy đủ trước khi xác nhận thực sự trước lúc đóng tập tin sửa đổi. Tuy nhiên, các bóng VSS này không được phối hợp tổng thể trên nhiều tập tin hay ổ đĩa, trừ khi sử dụng một người phối hợp giao tác. Họ chỉ có thể được sử dụng để đảm bảo răng các phiên bản cũ sẽ vẫn có thể truy cập trong các hoạt động sao lưu, để nhận được hình ảnh hệ thống phù hợp.

Giao tác NTFS

Như với Windows Vista, các ứng dụng có thể sử dụng Giao tác NTFS để thay đổi nhóm các tập tin với nhau trong một giao tác. Giao tác sẽ đảm bảo tất cả thay đổi được diễn ra, hoặc không một ứng dụng nào trong tất cả được chạy, và nó sẽ đảm bảo các ứng dụng bên ngoài giao tác sẽ không nhìn thấy nhưng thay đổi cho đến khi chúng được thỏa hiệp thực hiện chính xác tức thì.
Nó sử dụng các kỹ thuật tương tự như được sử dụng cho sao chép bóng ổ đĩa (ví dụ như copy-on-write) để đảm bảo dữ liệu ghi đè một cách an toàn, và các bản ghi UFS đánh dấu các giao tác vẫn chưa được thỏa hiệp, hay những giao tác đã được xác nhận nhưn chưa được áp dụng hoàn toàn (trong trường hợp hệ thống hư hỏng trong một thỏa hiệp bởi một trong những bên tham gia).
Tuy nhiên, trong một hệ thống tập tin cho phép giao tác, điều này có thể được sử dụng tạm thời cho tất cả tập tin khác cần thiết cho bất kỳ loại phân vùng, miễn là giao tác không phải thỏa hiệp, so với các tập tin hệ thống chỉ được đánh dấu cố định và được sửa đổi hoàn toàn trong các giao tác cục bộ ngầm riêng.
Kỹ thuật copy-on-write tuy nhiên được sửa đổi để cho phép hủy giao tác đang có hiệu lực và tránh việc tạo ra các phân đoạn trong hệ thống tập tin được sử dụng bởi nhiều người tham gia: các dữ liệu cũ có thể không được ghi đè ngay lập tức nhưng vẫn được giữ lại (đặc biệt khi nó hiện bị khóa bởi người khác cho phù hợp lần đọc trong các giao tác của nó); trong trường hợp đó, chỉ có những dữ liệu mới là không bị giữ lại trong một bóng tạm thời (chứ không phỉa là dữ liệu cũ copy-on-write), mà cuối cùng được áp dụng bằng cách sử dụng copy-on-write VSS bình thường khi giao tác sẽ được thỏa hiệp bởi việc ghi vào. Ngoài ra, các bóng tạm thời cho các dữ liệu mới, chỉ nhìn thấy bởi các quá trình tham gia có dữ liệu chưa được thỏa hiệp của riêng chúng, không nhất thiết phải ngay lập tức ghi vào đũa, nhưng chỉ có thể được duy trì trong bộ nhớ hoặc đổi chỗ các thỏa hiệp sau. Giao tác NTFS không hạn chế các giao tác để chỉ ổ đĩa NTFS cục bộ, nhưng cũng bao gồm các dữ liệu khác hoặc các hoạt động ở các điểm khác như lưu trữ dữ liệu trong các ổ đĩa riêng biệt, thanh ghi cục bộ, hay các cơ sở dữ liệu SQL, hoặc các trạng thái hiện tại của các dịch vụ hệ thống hay các dịch vụ từ xa.
Các giao tác là mạng rộng được điều phối với tất cả người tham gia bằng cách sử dụng một dịch vụ cụ thể, Distributed Transactions Coordinator (DTC) đảm bảo rằng tất cả người tham gia sẽ nhận được cùng trạng thái thỏa hiệp, và để vận chuyển các thay đổi đã được xác nhận bởi bất kỳ người tham gia nào (người khác có thể làm mất hiệu lực các vùng nhớ đệm cục bộ cho dữ liệu cũ hay hủy giao tác các thay đổi chưa được thỏa hiệp). Giao tác NTFS cho phép tạo ra mạng rộng phù hợp các hệ thống tập tin được phân phối, bao gồm với cả tập tin cục bộ hay trong các bộ nhớ đệm ngoại tuyến.

Hệ thống tập tin mã hóa (EFS - Encrypting File System)

EFS cung cấp khả năng mã hóa mạnh và rõ ràng đối với người dùng cho bất kỳ tập tin hay thư mục nào trên một ổ đĩa NTFS. EFS làm việc chung với dịch vụ EFS, CryptoAPI của Microsoft và Thư viện thực thi hệ thống tập tin EFS (FSRTL). EFS hoạt động bằng cách mã hóa một tập tin với một khóa đối xứng khối (còn được gọi là Khóa mã hóa tập tin hay FEK), khóa này được sử dụng vì nó cần một khoảng thời gian nhỏ tương đối để mã hóa và giải mã số lượng lớn của dữ liệu, hơn là nếu một mã khóa không đối xứng được sử dụng. Khóa đối xứng được sử dụng để mã hóa tập tin sau đó sẽ được mã hóa với một khóa dùng chung, tiếp theo kết hợp với người dùng đã mã hóa tập tin, và dữ liệu được mã hóa này được lưu trữ trong một dòng dữ liệu luân phiên của tập tin được mã hóa. Để giải mã tập tin, hệ thống tập tin sử dụng khóa riêng của người sử dụng để giải mã khóa đối xứng mà được lưu trữ trong phần mào đầu của tập tin. Sau đó sử dụng khóa đối xứng để giải mã tập tin. Vì điều này được thực hiện ở mức độ hệ thống tập tin, nó được minh bạch đối với người sử dụng. Ngoài ra, trong trường hợp một người dùng bị mất quyền truy cập vào chính khóa của mình, các khóa giải mã thêm vào nhằm hỗ trợ cũng được tạo ra trong hệ thống EFS, để một tác nhân khôi phục vẫn có thể truy cập các tập tin nếu cần. Việc nén và mã hóa do NTFS cung cấp loại trừ lẫn nhau - NTFS có thể được sử dụng cho một và công cụ của bên thứ ba dành cho hãng khác.
Sự hỗ trợ của EFS không có sẵn trong các phiên bản Basic, Home và MediaCenter của Windows, và nó phải được kích hoạt sau khi cài đặt các phiên bản Professional, Ultimate và Server của Windows hay bằng cách sử dụng các công cụ đặc biệt.

Cấp hạn ngạch

Cấp hạn ngạch cho ổ đĩa được giới thiệu trong NTFS v3. Chúng cho phép người quản trị máy tính chạy một phiên bản của Windows có hỗ trợ NTFS để thiết lập một ngưỡng của không gian ổ đĩa mà những người dùng có thể sử dụng. Nó cũng cho phép những người quản trị duy trì kiểm tra không gian ổ đĩa mà mỗi người dùng đã sử dụng. Một người quản trị có thể chỉ định một mức nhất định của không gian ổ đĩa mà một người dùng có thể sử dụng trước khi họ nhận được một cảnh báo, và sau đó từ chối truy cập đối với người dùng một khi họ đạt tới giới hạn sử dụng không gian ổ đĩa. Cấp hạn ngạch ổ đĩa không dùng cho trương mục tập tin nén minh bạch của NTFS, điều này sẽ được kích hoạt. Các ứng dụng truy vấn dung lượng không gian ổ đĩa trống cũng sẽ thấy dung lượng không gian ổ đĩa còn trông mà người dùng được cấp.
Sự hỗ trợ của cấp hạn ngạch ổ đĩa không có sẵn trong các phiên bản Basic, Home và MediaCenter của Windows, và phải được kích hoạt sau khi cài đặt các phiên bản Professional, Ultimate và Server của Windows hay bằng cách sử dụng các công cụ đặc biệt.

Các điểm phân tích

Tính năng này được giới thiệu trong NTFS v3. Tính năng này được sử dụng kết hợp một thẻ phân tích trong các thuộc tính không gian người dùng của một tập tin hay thư mục. Khi trình quản lý đối tượng phân tích một quá trình tra cứu tên hệ thống tập tin và gặp một thuộc tính phân tích, nó phân tích lại tên tra cứu, truyền dữ liệu phân tích do người dùng điều khiển đến tất cả các trình lọc hệ thống tập tin đã được nạp vào Windows. Mỗi trình điều khiển lọc kiểm tra tương quan của dữ liệu phân tích với điểm phân tích đó, và nếu có, trình điều khiển lọc sẽ xác định so khớp sau đó nó chặn hướng gọi hệ thống tập tin và thực hiện chức năng đặc biệt của nó. Điểm phân tích được sử dụng để thực hiện Các điểm cài ổ đĩa, Liên kết thư mục, Quản lý lưu trữ phân bậc, Lưu trữ cấu trúc tự nhiên, Lưu trữ trường hợp riêng và Các liên kết biểu tượng.

Sự tương kết

Các chi tiết về các đặc tính bổ sung không được đưa ra, điều này khiến nó khó khăn hơn cho các hãng bên thứ ba cung cấp các công cụ để xử lý NTFS.

Mac OS X

Mac OS X v10.3 và các phiên bản sau này gồm hỗ trợ chỉ đọc cho các phân vùng định dạng NTFS. NTFS-3G có giấy phép GPL cũng làm việc trên Mac OS X thông qua FUSE và cho phép đọc và ghi vào các phân vùng NTFS. Một giải pháp độc quyền cho Mac OS X với truy cập đọc/ghi là "Paragon NTFS cho Mac OS X". Hỗ trợ ghi NTFS được phát hiện trong Mac OS X 10.6, nhưng chưa được kích hoạt như phiên bản 10.6.1, dù việc bẻ khóa để kích hoạt chức năng này đã được thực hiện.

Microsoft Windows

Trong khi các phiên bản NTFS khác nhau dành cho hầu hết các phần đều hoàn toàn tương thích ngược và tương thích xuôi, cần cân nhắc kỹ thuật cho việc cài các ổ đĩa NTFS mới trong các phiên bản cũ của Microsoft Windows. Điều này ảnh hưởng tới khả năng khởi động kép, và ổ cứng di động gắn ngoài.
Ví dụ, cố gắng sử dụng một phân vùng NTFS với "Các phiên bản trước" (còn gọi là Volume Shadow Copy) trên một hệ điều hành mà không hỗ trợ nó, sẽ khiến các nội dung của những phiên bản trước đó bị mất.

Những hệ điều hành khác

eComStation, KolibriOS, và FreeBSD đưa ra khả năng hỗ trợ chỉ đọc NTFS (đây là trình điều khiển NTFS beta cho phép ghi/xóa cho eComStation, nhưng nó không hoàn toàn an toàn). Một công cụ miễn phí của bên thứ ba cho BeOS, mà dựa trên NTFS-3G cho phép đọc và ghi hoàn toàn NTFS. NTFS-3G cũng làm việc trên Mac OS X, FreeBSD, NetBSD, Solaris và Haiku, cộng với Linux dùng FUSE. Một trình điều khiển đọc.ghi cá nhân miễn phí cho MS-DOS được gọi là "NTFS4DOS" cũng được phát hành.

Tương thích với FAT

Microsoft hiện đang cung cấp một công cụ (convert.exe) để chuyển đổi HPFS (chỉ có trên Windows NT 3), FAT16 và FAT32 (trên Windows 2000 và phiên bản Windows cao hơn) thành NTFS. Các công cụ của nhà phát triển thứ ba có mọi khả năng để thay đổi kích thước phân vùng NTFS an toàn. Microsoft thêm vào khả năng thu hẹp hoặc mở rộng một phân vùng với Windows Vista, nhưng khả năng này bị giới hạn bởi nó sẽ không di chuyển các mảnh tập tin trang nhớ hoặc tập tin đã được đánh dấu là cố định, do đó hạn chế khả năng thu hẹp một phân vùng. Khởi động lại mà không có tập tin trang nhớ hay sử dụng một công cụ của nhà phát triển thứ ba để chống phân mảnh, nó có thể làm giảm bớt trạng thái nếu tập tin trang nhớ này là tập tin cố định.
Vì lý do lịch sử, các phiên bản của Windows mà không hỗ trợ NTFS đều giữ thời gian bên trong như múi giờ địa phương, và do đó mọi hệ thống tập tin khác ngoài NTFS được hỗ trở bởi các phiên bản hiện nay của Windows cũng làm vậy. Tuy nhiên, Windows NT và các hệ điều hành Windows sau này đều giữ nhãn giờ như UTC và làm cho các chuyển đổi thích hợp cho các mục đích hiển thị. Do đó, các nhãn giờ NTFS là UTC. Điều này có nghĩa là khi các tập tin được sao chép hoặc di chuyển giữa các phân vùng NTFS và không phải NTFS, hệ điều hành cần chuyển đổi các nhãn giờ cho phù hợp. Nhưng nếu một số tập tin được di chuyển khi tiết kiệm ánh sáng ngày (DST) có hiệu lực, và các tập tin khác được di chuyển khi giờ chuẩn có hiệu lực, có thể có một số điều không rõ ràng trong việc chuyển đổi. Kết quả là, đặc biệt là ngay sau khi một trong các ngày mà múi giờ địa phương thay đổi, người dùng có thể quan sát một số tập tin có nhãn giờ lệch một giờ. Do sự khác biệt trong việc thực hiện DST giữa bán cầu bắc và nam, điều này có thể gây lỗi nhãn giờ lên tới 4 giờ trong 12 tháng.