NTFS

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

NTFS (ang. New Technology File System) – standardowy system plików systemu Windows NT i jego następców (Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8 oraz Windows 8.1.

NTFS wywodzi się od systemu plików HPFS, opracowanego przez Microsoft i IBM dla systemu OS/2. Został wprowadzony w celu zastąpienia starszego FAT-u, używanego w MS-DOS. Zaczerpnięte z HPFS ulepszenia w stosunku do FAT-u obejmują obsługę metadanych oraz dodanie struktur poprawiających szybkość pracy z dużą liczbą plików oraz dyskami o dużej pojemności. Dalsze ulepszenia (w stosunku do HPFS) polegają na wprowadzeniu listy kontroli dostępu (ACL) i dziennika operacji dyskowych (ang. journal).

Ponadto NTFS nie ma tak ostrego ograniczenia dotyczącego maksymalnego rozmiaru pliku (do 4GB w FAT32), co umożliwia na przykład przechowanie obrazu płyty DVD na dysku twardym, bez dzielenia go na mniejsze pliki.

Ograniczenia[edytuj | edytuj kod]

Maksymalny rozmiar pliku to:

  • Teoretycznie: 16 EB – 1 KB (264 B – 1 KB)
  • W implementacji: 16 TB – 64 KB (244 B – 64 KB)

Maksymalny rozmiar partycji to:

  • Teoretycznie: 264 klastrów – 1 klaster
  • W implementacji: 256 TB – 64 KB (232 klastrów – 1 klaster)

Przykładowe możliwości NTFS[edytuj | edytuj kod]

  • księgowanie – (od NTFS 3.0 w Windows 2000); wewnętrzny dziennik zmian znacząco poprawia ochronę danych przed błędami zapisu; wspomaga przy tym działanie narzędzi dyskowych, takich jak CHKDSK;
  • szyfrowanie plików i katalogów – (od NTFS 3.0 w Windows 2000) przy pomocy nakładek tworzących EFS – Encrypting File System – nie jest jednak możliwe zaszyfrowanie plików systemowych; od Windows XP, podsystem EFS dostępny jest tylko w wersjach Professional lub wyższych (i ich odpowiednikach, np. Vista Business); nie jest dostępny w wersjach Home i ich derywatach; EFS nie jest przeznaczony do szyfrowania prywatnych danych na komputerach domowych, a raczej do ochrony danych w systemach o wielu użytkownikach w środowiskach korporacyjnych, szczególnie w domenach Windows 2000 i Windows Server 2003; wersja EFS używana przez Windows 2000 różni się od wersji używanej w późniejszych wersjach Windows i jest z nimi niezgodna.
  • kompresja danych "w locie"; pliki kompresowane przy pomocy wbudowanych funkcji NTFS nie mogą być szyfrowane przy pomocy EFS i odwrotnie;
  • prawa dostępu dla grup i użytkowników – dostęp do tej funkcji jest ograniczony w Windows XP Home Edition i późniejszych; pełne wykorzystanie praw dostępu, wraz z możliwością wykonania inspekcji praw dostępu z zapisem do dziennika, możliwe jest w Windows 2000 (wszystkie wersje dla komputerów PC), Windows XP Professional, Windows Server 2003 i nie-domowych wersjach Windows Vista
  • transakcyjność – (od Windows Vista) pozwala na wykonywanie transakcyjnych operacji na systemie plików. Transakcje są optymalizowane tak, aby czas ich zamknięcia był jak najkrótszy, dzięki czemu w normalnych warunkach nie stanowią dodatkowego obciążenia. Transakcje mogą obejmować wiele plików i pozostawać dowolnie długo otwarte.

Wersje[edytuj | edytuj kod]

Według numeru wersji wpisanego w nagłówku woluminu NTFS, system ten miał dotychczas wersje o następującej numeracji wewnętrznej:

  • 1.0 – wersja NTFS używana przez Windows NT 3.1 wydanego w połowie 1993 roku
  • 1.1 – wersja NTFS używana przez Windows NT 3.5 wydanego jesienią 1994 roku
  • 1.2 – wersja NTFS używana przez Windows NT 3.51 (połowa 1995 roku) oraz Windows NT 4.0 (połowa 1996 roku)
  • 3.0 – wersja NTFS używana przez Windows 2000 (1997)
  • 3.1 – wersja NTFS używana przez Windows XP, Windows Server 2003, Windows Vista i Windows 7.

Jest to numeracja używana w oficjalnej dokumentacji Microsoftu (np. Microsoft TechNet). Często spotyka się nieformalną numerację zgodną z wewnętrznym numerem wersji Windows, w którym dana wersja NTFS się pojawiła. Przykładowo dla NTFS używanego w Windows NT 3.51 i 4.0 podaje się numer wersji 3.5, dla Windows 2000 używa się określenia NTFS 5 itd.

Przy instalacji Windows 2000 lub późniejszego Windows na komputerze, na którym istnieją już woluminy NTFS, wszystkie wolumeny zostają przenumerowane do wersji używanej przez właśnie instalowaną wersję Windows lub pozostawione w niezmienionej postaci, jeśli napotkane przez instalator woluminy są późniejszej wersji (dotyczy sytuacji, w której Windows 2000 jest instalowany na komputerze, na którym jest już lub była instalacja Windows XP lub późniejszego i pozostały po niej wolumeny NTFS).

W przypadku podniesienia wersji do 3.0 lub 3.1 z wersji wcześniejszych niż 3,0 nie następuje utrata danych, jednakże system Windows NT 4.0 lub wcześniejszy, jeśli nadal jest zainstalowany na komputerze, a podniesienie wersji NTFS wiąże się z dodaniem nowego systemu zamiast tzw. upgrade'u, nie będzie mógł odczytać danych z wolumenów NTFS i tym samym nie będzie go można uruchomić. Ratunkiem jest zainstalowanie dodatku SP6 dla Windows NT 4.0 przed dodaniem Windows 2000 lub nowszego systemu do listy systemów na danym komputerze bądź rezygnacja z Windows NT 4 przez usunięcie systemu lub przejście do Windows 2000 lub nowszego wykonanie tzw. upgrade'u.

Pomimo numerycznej różnicy wersji 3.0 i 3.1, NTFS w obu wersjach jest zgodny w przód i wstecz w kluczowych rzeczach i system Windows 2000 – pomimo wbudowanej obsługi NTFS 3.0, nie 3.1 – nie ma kłopotów z odczytem i zapisem woluminów NTFS 3.1 utworzonych lub podniesionych przez Windows XP i Windows Server 2003. Dla przykładu, systemowe narzędzie CHKDSK może bezawaryjnie sprawdzić i w razie potrzeby usunąć błędy z woluminów NTFS wersji 3.1. Jedną z nielicznych funkcji, których zgodność pomiędzy NTFS 3.0 i 3.1 jest zachwiana, jest EFS. Jest to podyktowane zmianą techniki szyfrowania plików przez EFS pomiędzy Windows 2000 i Windows XP. Na skutek tego, w komputerze, w którym zainstalowane są zarówno Windows 2000, jak i Windows XP, a użytkownik przy uruchomieniu komputera wybiera system operacyjny za pomocą menu startowego Windows bądź innego programu typu boot manager, stacja robocza 2000 Professional nie może odczytać plików zaszyfrowanych przez XP Professional nawet jeśli użytkownik zaimportował uprzednio odpowiedni klucz EFS ze swojego konta w XP do swojego konta w 2000. Jest to jeden z powodów, dla których niewskazane jest szyfrowanie plików przy pomocy EFS na komputerach domowych. Do szyfrowania danych w środowisku domowym lub firmowym poza domeną Windows 2000 lub Windows Server 2003 bardziej wskazane są programy do szyfrowania danych niezależne od EFS czy NTFS w ogóle.

Linux[edytuj | edytuj kod]

Jądro Linux od wersji 2.2.0 (wydanej w 1999 roku) pozwala na odczyt partycji NTFS (wszystkie aktualne dystrybucje).

Zapis umożliwia sterownik NTFS-3G korzystający z FUSE. Od lutego 2007 sterownik NTFS-3G jest w wersji stabilnej 1.0, poprawnie zapisuje, ale nie zapewnia pełnej zgodności np. praw dostępu.