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
14
votes
2 answers

How to create a Junction Point using WinApi?

There is CreateHardLink function to create Hardlinks.(Since Win2000) And there is CreateSymbolicLink function since Vista has been released. But why isn't there a CreateJunction? How does mklink make a junction? And How do I write codes to make…
Benjamin
  • 10,085
  • 19
  • 80
  • 130
13
votes
4 answers

Deleting a file based on disk ID

As described here, using SetFileInformationByHandle with FILE_DISPOSITION_INFO allows one to set a file with an open handle to be deleted upon all handles being closed. However, I am trying to delete a file based on its file index (disk ID)…
Alyssa Haroldsen
  • 3,652
  • 1
  • 20
  • 35
13
votes
3 answers

In Windows file systems, is there a pre-computed hash for each file?

I want to search a file duplicate by its hash. For performance purposes I want to know if there is a stored hash/checksum for each file in NTFS/FAT file systems. If there is, I don't have to compute them all to search my file. If there is, how to…
Jader Dias
  • 88,211
  • 155
  • 421
  • 625
13
votes
3 answers

Move folder between drives on NTFS and preserve timestamps

Sorry, I know this sounds like a newbie question. But seriously, I'm an experienced developer, and I understand that Windows 7 Pro 64-bit and the like will say, "Oh, if you move an NTFS tree from one drive to another, when I write the children files…
Garret Wilson
  • 18,219
  • 30
  • 144
  • 272
12
votes
3 answers

How do I copy a locked file directly from the disk and make sure that the file is intact?

The application I am writing needs to be able to copy files that are locked. We attempted to use Volume Shadow Copy, and while it was successful in copying the file, the application that had the lock on the file crashed because it could not acquire…
Eric Milas
  • 1,807
  • 2
  • 18
  • 29
12
votes
3 answers

Large scale image storage

I will likely be involved in a project where an important component is a storage for a large number of files (in this case images, but it should just act as a file storage). Number of incoming files is expected to be around 500,000 per week…
Holstebroe
  • 4,993
  • 4
  • 29
  • 45
12
votes
2 answers

FILESYSTEM vs SQLITE, while storing up-to 10M files

I would like to store up-to 10M files, 2TB storage unit. The only properties which I need restricted to filenames, and their contents (data). The files max-length is 100MB, most of them are less than 1MB. The ability of removing files is required,…
Doori Bar
  • 873
  • 2
  • 13
  • 20
12
votes
2 answers

Windows NTFS and case sensitivity

According to Wikipedia NTFS allows two similar names with different case (like Readme.txt vs. readme.txt) and it is only prevented by the windows file API. Current Windows file systems, like NTFS, are case-sensitive; that is a readme.txt and a…
Martin Kersten
  • 5,127
  • 8
  • 46
  • 77
12
votes
2 answers

PowerShell Setting advanced NTFS permissions

I'm trying to apply NTFS permissions that are defined in the 'Advanced' tab of the Windows security settings. One ACL $Rule is for This folder only and another one is for the Subfolders and files only. The permissions are heavily modified as you can…
DarkLite1
  • 13,637
  • 40
  • 117
  • 214
11
votes
3 answers

Encountering a FileSystemRights value that isn't defined in enumeration

I've written an application that examines all of the file system permissions on a directory. A directory has a number of access rules (of type FileSystemAccessRule). Each access rule has a property FileSystemRights, which is a flag enumeration. When…
Andrew Shepherd
  • 44,254
  • 30
  • 139
  • 205
11
votes
1 answer

Checking folder/file ntfs permissions using python

As the question title might suggest, I would very much like to know of the way to check the ntfs permissions of the given file or folder (hint: those are the ones you see in the "security" tab). Basically, what I need is to take a path to a file or…
shylent
  • 10,076
  • 6
  • 38
  • 55
11
votes
1 answer

Duplicate GetAccessRules, FileSystemAccessRule entries

I'm getting a duplicate FileSystemAccessRule from this code below: C:\inetpub\wwwroot\AspInfo\Account BUILTIN\IIS_IUSRS : Allow : ReadAndExecute, Synchronize BUILTIN\IIS_IUSRS : Allow : -1610612736 NT SERVICE\TrustedInstaller : Allow :…
jradxl
  • 535
  • 1
  • 4
  • 20
11
votes
1 answer

Getting the cluster size of a hard drive (through code)

I need to find the cluster size of the users hard drive, through C or C++. The hard drive uses NTFS (though I'd appreciate knowing how it's done on other file systems as well). I guess what I need is some combination of win32 API calls, but I don't…
larspars
  • 1,640
  • 1
  • 15
  • 30
10
votes
1 answer

What's "EXISTS WIN://SYSAPPID" condition in "C:\Program Files\WindowsApps" ACL?

I noticed that access rights in C:\Program Files\WindowsApps for Users have a special "condition" applied: EXISTS WIN://SYSAPPID. I didn't find anything about ACL conditions or how I could create and utilize such kind of thing. How can I create and…
AxD
  • 2,714
  • 3
  • 31
  • 53
10
votes
5 answers

How to see fragmentation of a specific file?

Is there a tool that would show me for a specific file on disk, how fragmented it is? (How many seeks does physical disk need to make if I were to read that file in a linear fashion)
Ghostrider
  • 7,545
  • 7
  • 30
  • 44
1 2
3
63 64