Questions tagged [ntfs]

NTFS (New Technology File System) is the primary file system used by Windows.

NTFS (New Technology File System) is a proprietary file system developed by Microsoft Corporation for its Windows line of operating systems, beginning with Windows NT 3.1 and Windows 2000, including Windows XP, Windows Server 2003, and all their successors to date.

NTFS supersedes the file system as the preferred file system for Microsoft’s Windows operating systems.

NTFS has several improvements over FAT and HPFS such as improved support for metadata and the use of advanced data structures to improve performance, reliability, and disk space utilization, plus additional extensions such as security access control lists (ACL) and file system journaling.

Versions

The NTFS on-disk format has five released versions:

  • v1.0 with NT 3.1, released mid-1993
  • v1.1 with NT 3.5, released fall 1994
  • v1.2 with NT 3.51 (mid-1995) and NT 4 (mid-1996)
  • v3.0 from Windows 2000 ("NTFS V5.0" or "NTFS5")
  • v3.1 from Windows XP (autumn 2001; "NTFS V5.1")

NTFS Log

NTFS is a journaling file system and uses the NTFS Log ($LogFile) to record metadata changes to the volume. It is a critical functionality of NTFS (a feature that FAT/FAT32 does not provide) for ensuring that its internal complex data structures, or data moves performed by the defragmentation API, the modifications to MFT records, and indices will remain consistent in case of system crashes, and allow easy rollback of uncommitted changes to these critical data structures when the volume is remounted.

NTFS on other operating systems

Linux

The ability to read and write to NTFS is provided by the NTFS-3G driver. It is included in most distributions.

Mac OS X

Mac OS X 10.3 and later include read-only support for NTFS-formatted partitions.

References

961 questions
23
votes
2 answers

Files loading slower on second run of application, with repro code

Application Description I have an offline data processing tool. This tool loads hundreds of thousands of files. For each one it performs some calculations and when done writes a single index file. It is all C++ (all IO is via standard library…
0xC0DEFACE
  • 8,825
  • 7
  • 34
  • 35
22
votes
5 answers

Any real-world, enterprise-grade experience with Transactional NTFS (TxF)?

Background: I am aware of this SO question about Transactional NTFS (TxF) and this article describing how to use it, but I am looking for real-world experience with a reasonably high-volume enterprise system where lots of blob data (say documents…
Jerry Bullard
  • 6,116
  • 18
  • 27
22
votes
5 answers

Create NTFS junction point in Python

Is there a way to create an NTFS junction point in Python? I know I can call the junction utility, but it would be better not to rely on external tools.
Rafał Dowgird
  • 43,216
  • 11
  • 77
  • 90
21
votes
6 answers

NTFS alternate data streams

Today I have seen this weird magic NTFS system supports: each file can have multiple data streams. Basically one could have a file a.txt of 0b size but there can be any number of bytes hidden in a separate data stream for that file. This is strictly…
Peter Perháč
  • 20,434
  • 21
  • 120
  • 152
20
votes
1 answer

Create copy-on-write directory on Windows 7 with NTFS

I have a directory containing source code, which I compile to produce object files. I want to quickly apply a patch and rebuild in such a way that I have simultaneous access to both the old and new object files. One way to do that is: cd old &&…
Neil Mitchell
  • 9,090
  • 1
  • 27
  • 85
19
votes
10 answers

Check if file system is case-insensitive in Python

Is there a simple way to check in Python if a file system is case insensitive? I'm thinking in particular of file systems like HFS+ (OSX) and NTFS (Windows), where you can access the same file as foo, Foo or FOO, even though the file case is…
Lorin Hochstein
  • 57,372
  • 31
  • 105
  • 141
19
votes
6 answers

Windows XP vs Vista: NTFS Junction points

Problem: I relied heavily on NTFS Junction points in Windows XP, even though they apparently were not an "official" feature of the operating system. Now MSFT has generously made NTFS Junction points an official part of Vista, but apparently they…
dreftymac
  • 31,404
  • 26
  • 119
  • 182
18
votes
1 answer

NTFS Junctions vs. Symbolic Links (for directories)

From a high-level standpoint (meaning only worrying about the results and the interface, not the implementation), what is the difference in behavior, if any, between an NTFS reparse point that points to a directory and a symbolic link that points to…
user541686
  • 205,094
  • 128
  • 528
  • 886
18
votes
4 answers

How to obtain the target of a symbolic link (or Reparse Point) using .Net?

In .NET, I think I can determine if a file is a symbolic link by calling System.IO.File.GetAttributes(), and checking for the ReparsePoint bit. like so: var a = System.IO.File.GetAttributes(fileName); if ((a & FileAttributes.ReparsePoint) != 0) { …
Cheeso
  • 189,189
  • 101
  • 473
  • 713
18
votes
3 answers

Is there any length-limits of file path in NTFS?

Why can not I create a deep path whose characters in path is more than 255 in NTFS File System? It seems a limits of FAT32, but also exist in NTFS? Can anyone provide some documents? Many Thanks!
user25749
  • 4,825
  • 14
  • 61
  • 83
18
votes
4 answers

In .NET, how do I Create a Junction in NTFS, as opposed to a Symlink?

I'm trying to create an NTFS Junction. From the cmd line I can do this using the junction.exe tool from sysinternals. The output of a DIR cmd for a junction looks like this: Volume in drive C has no label. Volume Serial Number is C8BC-2EBD …
Cheeso
  • 189,189
  • 101
  • 473
  • 713
18
votes
1 answer

Programmatically Adding Permissions to a Folder

I have an issue where I need to add give access to a folder for all authenticated users to store application related settings. I have found that this can be done with the below code... var Info = new DirectoryInfo(settingsdir); var Security =…
Matthew Sanford
  • 1,069
  • 1
  • 13
  • 21
15
votes
6 answers

Compress a folder using NTFS compression in .NET

I want to compress a folder using NTFS compression in .NET. I found this post, but it does not work. It throws an exception ("Invalid Parameter"). DirectoryInfo directoryInfo = new DirectoryInfo( destinationDir ); if( ( directoryInfo.Attributes &…
decasteljau
  • 7,655
  • 10
  • 41
  • 58
14
votes
2 answers

How do the UNIX commands mv and rm work with open files?

If I am reading a file stored on an NTFS filesystem, and I try to move/rename that file while it is still being read, I am prevented from doing so. If I try this on a UNIX filesystem such as EXT3, it succeeds, and the process doing the reading is…
jl6
  • 6,110
  • 7
  • 35
  • 65
14
votes
2 answers

How to create a sparse file on NTFS?

I'm testing a sparse file. But my test code doesn't work well. HANDLE h = CreateFileW(L"D:\\sparse.test", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, CREATE_ALWAYS, …
Benjamin
  • 10,085
  • 19
  • 80
  • 130
1
2
3
63 64