如何在Vista中查看NTFS分区的分配单元大小?

97

我可以使用哪个内置(如果有的话)工具来确定特定NTFS分区的分配单元大小?


8
这个问题明显属于SuperUser。 - Free Consulting
12个回答

177

打开管理员命令提示符,并执行以下命令:

fsutil fsinfo ntfsinfo [your drive]

每簇字节是分配单元的等价物。


手动命令,但我认为这只是给出驱动器每扇区的字节数,而不是实际的分配单元? - dublintech
据我所知,“每个文件记录段的字节数”是您可以在格式对话框中指定为“分配单元大小”的内容。 - Kirill Osenkov
4
不,William是正确的,它是“每簇字节数”。我刚刚格式化了一块驱动器并进行了检查。 - Allon Guralnek
6
执行该命令需要管理员权限。 - Andrea Antonangeli
5
这很棒,但不适用于可移动驱动器:“FSUTIL实用程序需要本地NTFS卷。” - Gaia
@Gaia,你确定它能在我非Vista系统的可移动驱动器上工作吗? - Skip R

57

使用 diskpart.exe

一旦进入 diskpart,输入 select volume <VolumeNumber>,然后输入 filesystems

它会告诉您文件系统类型和分配单元大小。它还会告诉您支持的大小等信息。之前提到的 fsutil 也可以工作,但是回答不够清晰,并且我找不到一个语法来获取相同信息的连接点。


4
回答很好!因为这种方法不需要NTFS卷,也可以使用其他类型的卷。 +1 - Chef Pharaoh
它的表现很好,但是它无法识别任何USB闪存或硬盘。 - dev101
它可以与USB闪存驱动器一起使用。我几乎专门用这种方法来处理便携式存储设备。我今天刚刚使用它来获取我的15年前(2006年型号)2GB SanDisk Cruzer Titanium USB闪存驱动器的分配单元大小,使用的是Windows 10 build 21390.2025(Dev channel Insider build)。自Windows XP时代以来,它已经可以与USB闪存驱动器一起使用了。 - Samir

32

我知道这篇文章有些老了,但是现在有一种比使用fsutil或diskpart更新的方法。

运行此Powershell命令。

Get-Volume | Format-List AllocationUnitSize, FileSystemLabel


1
不错的解决方案,但我会加上DriveLetter作为参数。 - Thomas Franz
1
对于在Windows 10上遇到此问题的用户,在powershell中输入以下命令:Get-Disk | Format-List - David d C e Freitas
今天在我上取证课时,我们讨论了如何确定驱动器的簇大小。有人尝试了一个答案中描述的“创建小文件并查看属性”的方法,但这种方法在现代版本的Windows上已经不再适用。 - Chuck van der Linden
1
@ChuckvanderLinden,它仍然有效,你只需要写更多的数据。NTFS现在将内容存储到文件记录旁边的属性表中,因此,在磁盘上没有什么需要存储的东西,最多可存储1KB的内容。如果超过1KB,您会发现磁盘上的大小可能会跳到4096字节(或任何您的单位大小)。 - Frankie

20

在任何Windows系统上,快速通过GUI找到它的另一种方法:

  1. 创建一个文本文件,在其中输入一个单词或两个单词(或随机文字),并保存该文件。

  2. 右键单击该文件以显示属性。

  3. "磁盘上的大小" = 分配单元。


5
大多数人可能都知道,但“随机文本”的大小应小于您的集群大小,即不要添加几千字节的随机文本。目前,单个字符就足够了。 - thomasrutter
3
我尝试了这个操作,但是显示的磁盘大小为0字节,而实际大小为15字节(即我输入的字符数)。:\ - KeyC0de
2
这在Windows Server 2012 R2上无法工作。大小显示为9字节,磁盘上的大小为0字节。 - Boris Hurinek
15
@BorisHurinek,这是因为答案的错误程度非常严重。NTFS将微小的文件直接存储在MFT(主文件表)的FileRecord.trailer中。 - Free Consulting
1
20年的Windows管理员和TIL。 - John Homer
显示剩余10条评论

8

每簇字节数的值为65536,即64K。

C:\temp>fsutil fsinfo drives

Drives: C:\ D:\ E:\ F:\ G:\ I:\ J:\ N:\ O:\ P:\ S:\

C:\temp>fsutil fsinfo ntfsInfo N:
NTFS Volume Serial Number :       0xfe5a90935a9049f3
NTFS Version   :                  3.1
LFS Version    :                  2.0
Number Sectors :                  0x00000002e15befff
Total Clusters :                  0x000000005c2b7dff
Free Clusters  :                  0x000000005c2a15f0
Total Reserved :                  0x0000000000000000
Bytes Per Sector  :               512
Bytes Per Physical Sector :       512
Bytes Per Cluster :               4096
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x0000000000040000
Mft Start Lcn  :                  0x00000000000c0000
Mft2 Start Lcn :                  0x0000000000000002
Mft Zone Start :                  0x00000000000c0000
Mft Zone End   :                  0x00000000000cc820
Resource Manager Identifier :     560F51B2-CEFA-11E5-80C9-98BE94F91273

C:\temp>fsutil fsinfo ntfsInfo N:
NTFS Volume Serial Number :       0x36acd4b1acd46d3d
NTFS Version   :                  3.1
LFS Version    :                  2.0
Number Sectors :                  0x00000002e15befff
Total Clusters :                  0x0000000005c2b7df
Free Clusters  :                  0x0000000005c2ac28
Total Reserved :                  0x0000000000000000
Bytes Per Sector  :               512
Bytes Per Physical Sector :       512
Bytes Per Cluster :               65536
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x0000000000010000
Mft Start Lcn  :                  0x000000000000c000
Mft2 Start Lcn :                  0x0000000000000001
Mft Zone Start :                  0x000000000000c000
Mft Zone End   :                  0x000000000000cca0
Resource Manager Identifier :     560F51C3-CEFA-11E5-80C9-98BE94F91273

1
我的最爱,尽管这假定一个驱动器号已被分配,并且对于使用路径挂载的“驱动器”无法工作。当然,可以通过分配临时驱动器号来解决此问题。 - rainabba

7

最简单的方法,适用于2012r2。

  1. 进入 "我的电脑"
  2. 右键单击磁盘
  3. 点击格式化

在下拉菜单 "分配单位大小" 下将显示磁盘分配单位大小的值。


我的Win 10 Pro v2004上无法工作... 所有驱动器都只显示“默认”。 - n00dles
2
哇,这是一个很好的答案,显示了这个信息。Get-Disk | Format-List 不显示这个信息,但 Get-Volume | Format-List 显示了。有趣的是,你会认为分配单元与 Get-Disk | Format-List 上的块大小相关,但实际上并不是这样。分配单元是导致文件在磁盘上比它们所代表的实际数据更大的原因。 - Timothy L.J. Stewart

7
在一个CMD(作为管理员)中,首先运行diskpart。在打开的程序中,输入list disk。它会列出所有连接的磁盘。 list disk 根据磁盘的大小选择正确的磁盘。如果是闪存记忆体,通常会是列表中的最后一项。在我的情况下,我使用这个命令选择了Disk 2:select disk 2。
选择好磁盘后,使用list partition命令列出分区。你会得到一个像下面图片中那样的列表。 list partition 现在,根据分区的大小选择正确的分区。在我的情况下,我使用这个命令选择了Partition 1:select partition 1。

最后,您可以运行filesystem命令来获取分配单元大小分配单元大小

注意:此过程适用于NTFSFAT32文件系统。


4
根据Microsoft,分配单元大小"指定文件系统的簇大小" - 因此它是"每簇字节数"所显示的值,如下所示:
fsutil fsinfo ntfsinfo C:

3

您可以使用Mark Russinovich的SysInternals NTFSInfo从命令行中获取更易读的信息,特别是MFT表信息。


2

以下是 J Y 在之前的回答中提供的简单 GUI 方法:

  1. 创建一个小文件(不要为空)
  2. 右键单击,选择“属性”
  3. 检查“磁盘上的大小”(在“常规”选项卡中),确保您的文件大小不到一半,以确保它肯定使用单个分配单元。

这种方法很有效,并提醒您分配单元大小的重要性。但是需要注意的是,正如在之前的答案评论中所看到的那样,Windows 有时会将非常小的文件的“磁盘上的大小”显示为 0。在我的测试中,具有 4096 字节分配单元大小的 NTFS 文件系统需要文件大小为 800 字节才能始终避免此问题。在 FAT32 文件系统中,这个问题似乎不存在,即使是一个字节的文件也可以 - 只要不是空的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接