Proč potřebujeme NTFS v jádře? Nemůže Microsoft konečně vyhodit tento absolutně zbastlený kus softwaru a třeba používat BTRFS nebo XFS?
Tak já musím disk, flash disk naformátovat na NTFS, protože když to udělám na exFAT, tak Windows doporučuje nesmysly typu, že bych měl dané médium naformátovat, ale přidat tam podporu EXT4, XFS nemohou.
I kdyby se na NTFS vybodli a prisli s novym systemem nebo adoptovali existujici, tak tady s nami NTFS bude jeste dlouha leta ;-(
Pokial tento dotaz je mysleny vazne a neni to len pokus o vtip, tak rad odpovim. Nejsem zastanca ntfs, to vubec.
Ntfs ma vybornu podporu pro implementaci extremne rychleho vyhledavani suboru cez cely fs. Vyuziva teho program Everything a pro mna je to na windows must have. (a nechapem proc to nevyuziva sam windows). Ide o MFT, ktere zadny iny oblubeny fs (ext4, btrfs, bcachefs) nema. Ani nic co by posluzilo na bleskurychle natahnuti zezamu vsetkych metadat. Nenasel sem teda ani zadny konkurencny ekvivalent k Everything pod linux ktery by fungoval bez demona alebo indexace vseobecne.
Hmm, super, rychle se v něm hledá. Jo, to i na mém XFS s SSD NVME.
- Má immutability? Ne
- Má kompresi? Ano, ale BTRFS umí mnohem lépe.
- Je odolný proti fragmentaci? Ne, např. EXT4 a XFS ano.
- Je rychlý (Např. čtení/zápis hromady malých souborů) Ne, XFS toto zvládá lépe a vlastně i EXT4.
- Umí snapshoty? Jo, ale je to k ničemu, protože obnova snapshotu je pomalá, zatímco BTRFS toto zvládá lépe.
Eh, takže... co je super na NTFS? NIC?!
Hmm tak tento výčet zní jako, že když vezmeme všechny FS z Linuxu a zkombinujeme je dohromady (což je naprostá utopie) bude mít Linux konečně lepší FS jak Windows, good job ;)
BTW NTFS je historicky opravdu starý (1993) FS a stále je využívaný! Wokna mají i ReFS (2012) který je novější, ale nevím jak hodně se využívá...
Ne, to zní, že linux má na každý použití svůj FS, který je v daném směru dobrý. Zatímco NTFS má jeden, co dělá všechno a nic pořádně, takže k ničemu. :)
MFT je dvojsecna zbran (ma problem s fragmentaciou, malymi subormi, velkym poctom suborov, atd).
Suborove filesystemy ako zfs alebo btrfs optimalizovali po inej osi: metadata vedia dynamicky rast (su alokovane rovnako ako extenty pre subory, ale z ineho poolu), vedia metadata dat na separatne zariadenie ("special vdev" v zfs), alebo mat ich ukladat s definovanou redundanciou / paritou na definovany pocet zariadeni. Potom maju tunables, kam ukladat niektore metadata: ci ich alokovat separatne, alebo ich ukladat priamo v dentry (niektore xattr mozu obsahovat objemne data, ale zase acl je tiez xattr a to chceme mat blizko...). Alebo naopak tunables, ze maju ukladat bloky do urcitej velkosti spolu s metadatami (zfs -- takze v poole s tiered storage vie davat metadata a male bloky na rychlejsi storage a velke bloky na pomalsi).
No a indexovanie je tak ci tak nutnost. Dnes pouzivatela nezaujima len nazov suboru, ale aj jeho obsah, ktory este k tomu treba aj parsovat usermode a idealne sandboxovanym parserom (pdf, docx, atd). Na toto ma windows tiez separatny service.
MFT má prealokovaný prostor MFT Zone, ze kterého alokuje. Metadata se ukládají v MFT, a extended attributes i soubory do jisté velikosti (1kB minus file information, typicky cca 900 bytů) zůstávají přímo v MFT recordu. Mimochodem, pokud dojde k fragmentaci MFT, lze ji defragmentovat pomocí API na živém FS, tak jako skoro cokoliv jiného.
Ukládání metadat na separátní zařízení NTFS by default neumí, ale asi by se to dalo udělat pomocí filter driveru, který by operace směřující na MFT přesměroval. Použil byste to někdy? Já ne, a nejspíš skoro nikdo ne.
Pokud jde o tunables, tak to je velmi dvojsečné. Je fajn pokud něco *můžete* nastavit, ale hrozné pokud to nastavovat *musíte*. Znám řadu odstrašujících příkladů toho *musíte*, většinou v unixových prostředích.
> Použil byste to někdy? Já ne, a nejspíš skoro nikdo ne.
Ano, pouzivam. Na NAS so zfs mam special device z ssd (mirror), samotny datovy vdev je potom rotujuca hrdza.
Podobne Synology ponuka podobnu funkcnost nad btrfs jednym checkboxom v nastaveniach ("Pin all Btrfs metadata to SSD cache"). Trufam si povedat, ze velke percento z tych, co maju v Synology SSD cache maju zaskrtnutu aj tuto volbu.
V SSD cache by mělo být to, co má smysl, aby tam bylo. MFT jsou typická hot data, takže nejspíš skončí v SSD cache.
Mně teda přijde, že to indexaci dělá, sami to píšou (a Wikipedie taky): When Everything first runs, it creates an index of the names of every file and folder on all NTFS and ReFS volumes on the system from file metadata, in the case of NTFS from the NTFS Master File Table.
Na Linuxu mi většinou úplně stačí fd, zkoušel jsi ho?
20. 4. 2026, 05:57 editováno autorem komentáře
No to dělají Windows a nemá to s FS nic společného, ne? Teda indexovalo by to i FAT32 i síťové disky. Někdo si to vypíná, protože to zpomaluje.
Je nejuniverzálněji použitelný. Použiji ho outofbox všude, kde potřebuji jen s výjimkou panenských Win98/DOS stanic. To o žádném jiném FS říct nemohu.
Tak nejuniverzálnější není ani náhodou i proto se nepoužívá na přenosná média. Out of box se používá jenom na Windows, ale to není v dnešní době ani většina. Android, iOS a spousta serverů a dalších zařízeních ho nepoužívá.
Přečte se na linuxových zařízeních a na všech běžně používaných Windows od W2K. Přečtou ho i televize na kterých jsem ho zkoušel. Univerzálnější je snad jen FAT16 (32), ale ten už má limitující omezení na velikost souborů a disků.
Dnes je na výměnná média lepší exFAT, ale ještě před pár lety něco, kam lze zapsat soubory >4GB byl problém.
exFAT je lepší i proto, že do něj umí macOS zapisovat (NTFS jen za peníze, bezplatné verze už všechny umřely).
1. Cože? Halooo, je rok 2026, ty systémy co si popsal již nikoho nezajímají, až na nějakých legacy místech.
2. NTFS je jen pod Windows, pod Android, iOS, MacOS a Linux je NTFS naprostý pain a o nervy boží.
"NTFS je jen pod Windows"
no rozbít NTFS umí i Windows (s drobnou pomocí nějaké součásti Win11, která na disku čmuchala a nechtěla disk pustit). FAT32 se dá také rozbít, ale zatím to vždy šlo opravit.
JJ jsem nikdo... NTFS používám i v Clonezille na ukládání image, nevím proč o ní lžou, že je založena na linuxové distribuci, když teda tvrdíte, že NTFS je jen pod Windows. No a co, že je rok 2026? To znamená, že přestaneme číst knížky a budeme používat pro čtení jen monitory nebo displeje mobilů, či čtečky ebooků?
Možná byste mohl přesvědčit naše vedení, že je potřeba vyházet stávající linky a předělat je adekvátně roku 2026. Možná by na to stačilo jen pár let a pár vyšších desítek miliónů. Asi máte pravdu. Těch pár 486 už by to vyměnit chtělo. Ty NTFS opravdu neumí.
20. 4. 2026, 13:01 editováno autorem komentáře
Z mě je pěkné třeba to, že NTFS má už víc než čtvrt století defragmentační API. User mode aplikace přes API načte alokační informace, a může přesouvat bloky na FS jak chce, samozřejmě již na úrovni API transakčně. To znamená, že jde provést defrag za běhu. Potom mi přijde pěkná kombinace ACL, žurnálování, transakčního zpracování, komprese, šifrování, sparse files a kvót v jednom FS. Jasně, skvělé to bylo tak před dvaceti lety, kdy se na Linuxu řešilo to že jeden FS umí žurnálovat, další kompresi a třetí má funkční fsck :), ale i dnes je NTFS velmi slušný standard. Když jsem u toho fsck, tak chkdsk umí například multithreadovou kontrolu a opravu FS, což je výrazné zrychlení.
NTFS rozhodně zbastlený není. To, jak ho používaj Windows je věc druhá, a jak ho používaj ne-windows (včetně dokumentace) třetí.
"To, jak ho používaj Windows je věc druhá, a jak ho používaj ne-windows (včetně dokumentace) třetí."
A kdo ho tedy používá správně?
Mám si z toho vzít, že Vám ve Windows nefunguje exFAT flaska? Používáte nějakou normální velikost clusteru? Máte tam GPT? To by muselo dát dost práci, aby to nešlo...
Už vám někomu při přerušení zápisu zhavaroval systém NTFS tak, že se ho nepodařilo obnovit do původního stavu? (Chybný MFT záznam).
Problém NTFS je taky v tom, že ho pořádně nepodporují ani samotné Widle - viz např. různé znaky v názvech souborů, které WIN32 api nepodporuje, ale NTFS ano. Zkuste pak z takového disku něco načíst. :)
Ano, potvrzuji. A dokonce takový soubor tvořil jeden soft od Microsoftu a pak s ním nešlo Windowsími prostředky pracovat.
Pokud Win32 nějaký název nepodporuje, tak ho ve Win32 asi nevytvoříte. Jinak na Linuxu můžete zkusit například jména souborů obsahující invalid UTF-8 sequences, včetně "Java null" 0xC0 0x80.
O názvoch súborov by bolo taktné mlčať, a tváriť sa, že sme o nijakých ťažkostiach nikde nepočuli ;-)
https://dwheeler.com/essays/fixing-unix-linux-filenames.html
On človek ani nemusí použiť nejaké obskurné znaky. Stačí pod Linuxom vytvoriť súbory: "Data" a "data" a vo Windows sa začnú diať zvláštne veci. NTFS js case-sensitive ale to Widlie API sa to snaží ignorovať.
To je logikce, on to totiz neni zadny NTFS od M$ ale ves skutecnosti je to HPFS - 386 (v2) z OS/2 Warp ... a ja skodolibe cekal, zda zkopiroval uz HPFS 386 nebo ten stary, co ma kapaictni limit a pak se zhriuti ;-) a hadejte, kdyz ty disky fakt prisly, tak se to hned zhroutilo - a pak to prekopali na HPFS 386 a tim tam pridali kupu fetures ;-)
Btw NTFS plno veci neumi a tak vznikl novy FS - ReFS - a ten je velmi srandovni, deduplikace a kompresi dava do ad. .NECO a z nej dela linky - ale jednu doby mel MS defender chybu a nepreskakoval tento adresar a tak kazdy vetsio zapis server kompletne pretizil a plno veci padalo, dokonce i cetni mu casto delali problem - nebot to tam scanoval a tim pusobil pady mnoha aplikaci atd. - vesely to OS ;-)
Když má NTFS tolik negativ, proč ho tedy linux chce mít v jádře? Stačí jej ignorovat, když je to takový pain.
Protože je to po spousty uživatelů pořád důležitý souborový systém kvůli interoperabilitě s majoritním deskopovým operačním systémem (nemusí jít jen o Windows).
https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Desktop_and_laptop_computers
Nejde o to, aby ho někdo používal místo Btrfs, XFS nebo ZFS v serveru, ale tam kde si potřebuje vyměňovat a sdílet data na přímo připojeném disku.
Takže nechce ho primárně Linux (a zřejmě Linus), ale uživatelé. A vývojáři jako Namjae Jeon se snaží udělat rozumnou a výkonnou implementaci.
Navíc spousta těch problémů jde na triko tomu, že současné open-source implementace např. nepodporují žurnálování (resp. jen replay při mountu, ale nemají to v Linuxu prointegrované třeba s obecným JBD a transakcemi tam). Což by bylo skvělé, pokud se podařilo dořešit (všichni to mají na TODO listu).
Jen tak pro zajímavost, podařilo se někomu skutečně zkontrolovat a opravit NTFS na Linuxu, pokud je nastaven dirty bit (a nemyslím použití ntfsfix -d)? Běžně se mi stane, že se špatně odpojí a nejde pak připojit bez riskování force, což u externího disku nechci riskovat a nezbývá než jej vzít k PC s Windows a opravit.
Exfat jsem zavrhl kvůli absenci uživatelů, skupin a řízení přístupu a BTRFS na Windows má u výměnných disků zase své mouchy na Windows. Jinak mě docela vadí, že symbolické odkazy na NTFS oddílu nejsou mezi ntfs-3g a ntfs3 vzájemně kompatibilní, snad ten nový ovladač nezavede 3 způsob jejich realizace...
No, našel jsem appku od Paragonu pro Android, x86 verzi a v ní to je (chkufsd, je to staticky linkované).
Zdá se, že to něco celkem rozumně spraví, ale spíš po takových věcech jak ntfsresize apod. Zbouraný NTFS jsem s tím zachraňovat nezkoušel.
20. 4. 2026, 14:09 editováno autorem komentáře