Tamás Ferenc: Az NTFS fájlrendszer


A Windows NT 4.0-hoz bevezetett NTFS (New Technology File System) fájlrendszer (illetve ennek újabb verziói) a Microsoft legmegbízhatóbb és leggyakrabban használt fájlrendszere, amit a FAT előnyeit kihasználva tettek biztonságosabbá, ám az áttekinthetőségét mégis sikerült megőrizni. A Unix/Linux rendszerekkel összehasonlítva elég gyenge mind a szervezettsége, mind a biztonsága, a lemezkihasználtságról nem is szólva; ám a FAT-es rendszerekhez képest mégis sokkal jobb mutatói vannak. Előnyök:
- A HPFS-rendszerekhez hasonlóan sorrendben álló könyvtárakba rendezi a fájlokat.
- Nincsenek speciális objektumok a lemezen és megszűnt az alaphardver-függőség is, így például nem kötelező az 512 bájtos szektorok használata.
- Nincsenek a lemezen speciális adathelyek, például FAT-táblák vagy HPFS-adatblokkok.

Az NTFS céljai:
- Megbízhatóság.
- További szolgáltatások nyújtása.
- POSIX követelmények támogatása.
- A FAT és a HPFS korlátjainak megszüntetése.

Megbízhatóság szempontjából lényegesek voltak a helyreállíthatóság, a súlyos szektorhibák kiküszöbölése és a megfelelően gyors javítás támogatása. A helyreállíthatósággal minden rendben van, hiszen míg a FAT és HPFS rendszereken a CHKDSK vizsgálódik könyvtárakon, fájlrendszereken belül található mutatók egységességét keresve, addig az NTFS-ben a rendszer naplófájlt hoz létre az összes lényeges lemezműveletről, így a CHKDSK-nek csak az utolsó végrehajtási pontig kell visszaállítania a lemezt. Sokan nem szeretik ezt a biztonsági szelepet (rendszer-visszaállítási pont létrehozása néven), de így a rendszer biztonságosabb lett!
Kicsit részletesebben: a Windows 95/98-rendszerekben a gyakori rendszerlefagyások után az egyes adatok elveszett clusterként tűntek fel. Ezzel szemben az NTFS-rendszerekben a rendszer automatikusan naplóba vezeti a fájlműveletek közben megnyitott állományokat. Ha a fájlművelet során a gép lefagy, akkor a bootolás közben már a rendszer képes megállapítani az említett naplófájlok segítségével, hogy történt-e adatvesztés. Ha nem volt adatvesztés, akkor a rendszernek nem kell lefuttatnia a CHKDSK programot, így egy biztonsági figyelmeztetés után a rendszer azonnal helyreállhat.
Az NTFS egyik hátránya, hogy alapértelmezetten nem rendelkezik fájltitkosítási szolgáltatással, így egy más alapú rendszerindításkor simán bele lehet tekinteni az NTFS-adatokba. Ez mondjuk határozott előny, ha egy NTFS-alapú HDD megsérül és a lehető legtöbb adatot le kell menteni róla. További gond, hogy ez a rendszer elég nagy lemezterületet emészt fel, így a nagyon régi, 400 MB alatti lemezeken nem javasolt létrehozni NTFS-rendszert. Ezt a hátrányt a Windows 2000-től kezdve orvosolták, mivel ott már DESX titkosítás volt, amit a Windows XP-ben a Triple DES, majd a Windows XP SP1-ben az AES követett. A Windows NT 3.51 után a rendszerbe be van építve egy nyilvános, veszteségmentes fájltömörítés, az LZ77 lehetősége. Bár a fájlok írás-olvasási műveletei igen gyorsak és automatikusak, de tömörítés elkerülendő a szervereken és a profilt tároló hálózati megosztásokon, mert ott jelentős CPU-túlterhelést okoz.
Ha a FAT vagy HPFS rendszerekben egy szektor meghibásodott, akkor az kiesett a használatból, ám az NTFS rendszereknél ezt két különböző módszerrel igyekszik kiküszöbölni: nincsenek sérülékeny speciális objektumok a lemezen, továbbá a lemezen tárolt minden objektumot nyomon követi/védi, valamint a mesterfájltábla (Master Boot Record = MBR) a partíció méretétől függően több példányban tárolódik a lemezen. Szintén az NTFS nagy előnye, hogy a a HPFS-rendszer OS/2-es verziójához hasonlóan támogatja a gyorsjavítást.
A Windows NT megjelenése óta a Microsoft célja, hogy az NTFS-rendszerhez további szolgáltatásokat lehessen hozzárendelni. Az NTFS például rugalmasan és könnyen kezel más fájlrendszereket is – mondjuk egy átlagos Linuxhoz képest ez még mindig igen kevés! Az NTFS egyik előnye a FAT-hez képest, hogy a rendszer biztonsága megnőtt, mivel a rendszerben egyidejűleg több adatfolyam is kezelhető. További lehetőség, hogy az NTFS-rendszerekben a felhasználók maguk definiálhatnak a fájlokhoz saját, egyedi attribútumokat. Az NTFS egyik előnye, hogy a felhasználónak nem kell lemez-helyreállítási segédprogramot futtatnia, mivel a rendszer automatikusan megteszi azt lemezhiba esetén. A gyakorlatban azért tapasztaljuk, hogy néha nem árt egy kis segítség, főleg a töredezettség elkerülése miatt. A legtöbb töredezettség-mentesítő program automatikusa megkeresi és a rendszer számára meg is jelöli a lemezhibákat.
Az NTFS-rendszer támogatja a POSIX.1-es szabványt, mivel lehetővé teszi a kis- és nagybetűk megkülönböztetését, bár ezt a Windows-alapú rendszerek nem megfelelően használják ki. Létezik egy kiegészítő dátumbélyegző, amely a fájlhoz való utolsó hozzáférés időpontját tárolja.
A régebbi rendszerekhez képest az NTFS jócskán kitágította a lehetőségeket, mivel például az egyes kötetek elméleti mérete max. 264 byte lehet, ami 16 Exabájtot jelent. (18 446 744 073 709 551 616 bájt). Bár a HPFS rendszerben nincsen fürtkezelés, ám az NTFS-ben visszatértek ehhez a módszerhez, mivel így elkerülhetők a HPFS rögzített méretéből adódó problémák. Erre leginkább akkor van szükség, amikor az egyes NTFS-rendszerű lemezeket áttelepítjük, mivel ezzel a megoldással kevesebb a hardverhiba lehetősége. Mivel az NTFS-rendszerekben a fájlok kivétel nélkül Unicode-alapúak, így a hosszú fájlnevek mellett a konvencionális 8.3-as rendszer is használható, ám a mindennapi gyakorlatban a régi, rövid elnevezési szokás kiveszett.
Az NTFS-alapú rendszernél van néhány elnevezési megkötöttség, így például a fájl és mappanevek hossza max. 255 karakter lehet, de ebbe már bele kell venni a kiterjesztést is. Bár a nevek megőrzik kis- és nagybetűs írásmódjukat, de a rendszer a gyakorlatban nem tesz köztük különbséget, ezért (is)  kell nagyon vigyázni, ha egy Microsoft-os rendszerről másolunk fel valamit egy Linuxosra; így például egy webszerveresetén a helyi (NTFS-alapú Microsoft-os) gépen létrehozott és kipróbált weboldal nem biztos, hogy jól működik a távoli Linux-alapú szerverre feltöltve. A nevekben néhány karakter nem használható, ezek: ?  "  /  \  <  >  *  |  :
Windows NT esetén további korlátozás volt, hogy a rendszerindító partíció legfeljebb 7,8 GB méretű lehetett, míg a partíciós tábla egy 2 TB-os korlátot tartalmazott.

Az NTFS főbb verziói:

Verzió

Első rendszer

Megjelenés

Megjegyzés

1.0

Windows NT 3.1

1993

 

1.1

Windows NT 3.51

1995

 

1.2

Windows NT 4.0

1996

Néha NTFS 4.0-nak nevezik, mivel a fájlrendszer verziója 4.0 volt.

3.0

Windows 2000

1999

Másik néven: NTFS 5.0

3.1

Windows XP

2001

Másik néven: NTFS 5.1


A fájlkvóta rendszert az NTFS 5-ös verziójában vezették be, azaz a rendszergazda innentől szabályozhatja, hogy az egyes felhasználóknak mekkora lemezterület álljon rendelkezésükre. A szabályozás mellett lehetőség van arra is, hogy a rendszergazda átnézze a jelenlegi foglalt mennyiségeket. Ha a korlátozott felhasználó által futtatott valamilyen alkalmazás lekéri a rendelkezésre álló üres helyet, akkor ezt a (kvóta által szabályozott) mennyiséget kapja meg.

Bár az NTFS-rendszereknél viszonylag ritka az adatvesztés, érdemes a következő vészhelyzeti csomagot lementeni:
Freeware NTFS Data Recovery Toolkit (Ingyenes NTFS adat-visszaállító szerszámkészlet)
Tartalma: Active Disk Editor, Partition Manager, Active File Recovery, Active Partition Recovery,...
Mérete: (2013. márciusában) 15.3 Mbyte.
Helye: http://www.ntfs.com/recovery-toolkit.htm
Pontos letöltési helye: http://www.ntfs.com/downloads/NtfsRecoveryToolkit.exe

Megjegyzés: az eltelt évek folyamán rengeteg új verzió is készült, de egyre többen használják a felhőbe mentést, ahol nem a felhasználónak kell törődnie a fájlrendszer finomságaival.

Az NTFS alapértelmezett cluster-méretei a különféle NTFS-rendszereken:

Partíció méret

Windows NT 3.51

Windows NT 4.0

Egyéb Windows

(lásd lent!)

7 MB–512 MB

512 bytes

4 KB

4 KB

512 MB–1 GB

1 KB

4 KB

4 KB

1 GB–2 GB

2 KB

4 KB

4 KB

2 GB–2 TB

4 KB

4 KB

4 KB

2 TB–16 TB

Nem támogatott az MBR formátuma miatt.

4 KB

16 TB–32 TB

8 KB

32 TB–64 TB

16 KB

64 TB–128 TB

32 KB

128 TB–256 TB

64 KB

> 256 TB

Nem támogatott.


Egyéb NTFS-támogatású Windows-ok: Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP, Windows 2000, Windows 8, Windows 8.1 és Windows 10.

A modernebb Windows-oknál már létezik egy naplózó rendszer, ami a kötetekben bekövetkezett (metaadat) változásokat jegyzi. Ez csak az NTFS-re jellemző, mivel a FAT ezt nem ismeri. Két verziója van:

  • Windows NT 4.0, 2000, XP, Vista, 7 és 8 esetén: 1.1
  • Windows 8.1 és 10 esetén: 2.0




Felhasznált szakirodalom:
- http://support.microsoft.com/kb/100108/hu
- http://www.tldp.org/HOWTO/Filesystems-HOWTO.html
- http://support2.microsoft.com/kb/140365
- http://www.ntfs.com/
- http://prog.hu/cikkek/845/Az+NTFS+fajlrendszerrol-diohejban.html
- http://technet.microsoft.com/en-us/library/cc706993%28WS.10%29.aspx
- http://en.wikipedia.org/wiki/NTFS
- http://hu.wikipedia.org/wiki/NTFS

© TFeri.hu, 2014.

Felújítva: 2020.