在 Vista 中如何查看 NTFS 分区的分配单元大小?
Posted
技术标签:
【中文标题】在 Vista 中如何查看 NTFS 分区的分配单元大小?【英文标题】:How can I view the allocation unit size of a NTFS partition in Vista? 【发布时间】:2010-09-10 00:31:51 【问题描述】:我可以使用哪个内置(如果有)工具来确定某个 NTFS 分区的分配单元大小?
【问题讨论】:
这个Q明显属于超级用户。 【参考方案1】:打开管理员命令提示符,然后执行以下命令:
fsutil fsinfo ntfsinfo [your drive]
每簇字节数相当于分配单元。
【讨论】:
手动命令,但我认为这只是给出驱动器每个扇区的字节数而不是实际的分配单元? 据我所知,“每个文件记录段的字节数”是您可以在“格式”对话框中指定为“分配单元大小”的值。 @KirillOsenkov:不,William 是正确的,它是“每簇字节数”。我刚刚格式化了一个驱动器并检查了。 你必须有管理员权限才能执行命令 这很好,但不适用于可移动驱动器:“FSUTIL 实用程序需要本地 NTFS 卷。”【参考方案2】:使用diskpart.exe
。
进入磁盘部分select volume <VolumeNumber>
后,输入filesystems
。
它应该告诉你文件系统类型和分配单元大小。它还会告诉您支持的大小等。之前提到的fsutil
确实有效,但答案并不那么清楚,我找不到为连接点获取相同信息的语法。
【讨论】:
很好的答案!由于此方法不需要 NTFS 卷并且可以是其他类型。 +1 它工作得很好,除了它看不到任何 USB 闪存或硬盘驱动器。 它适用于 USB 闪存驱动器。我几乎专门将这种方法用于便携式存储设备。我今天刚刚使用它来获取我 15 岁(2006 年型号)2 GB SanDisk Cruzer Titanium USB 闪存驱动器的分配单元大小,使用 Windows 10 build 21390.2025(Dev channel Insider build)。至少自 Windows XP 时代以来,这一直适用于 USB 闪存驱动器。【参考方案3】:在任何 Windows 系统上通过 GUI 快速找到它的另一种方法:
创建一个文本文件,在其中键入一两个单词(或随机文本),然后保存。
右键单击文件以显示属性。
“磁盘大小”= 分配单元。
【讨论】:
对大多数人来说可能很明显,但“随机文本”需要小于您的集群大小,即不要放入几 KB 的随机文本。目前单个字符应该没问题。 我试过这个,但它显示磁盘大小 = 0 字节,而大小 = 15 字节(即我写的字符数)。 : \ 这在 Windows Server 2012 R2 上不起作用。大小显示为 9 个字节,磁盘上的大小为 0 个字节 @BorisHuriek,这是因为答案是灾难性的无效。 NTFS 将小文件直接存储到 MFT 的 FileRecord.trailer 中。 20 年的 Windows 管理员和 TIL。【参考方案4】:我知道这是一个旧线程,但有一种更新的方法,然后必须使用 fsutil 或 diskpart。
运行这个 powershell 命令。
Get-Volume | Format-List AllocationUnitSize, FileSystemLabel
【讨论】:
不错的解决方案,但我也会添加 DriveLetter 作为参数 对于在这里遇到的 Windows 10 用户,在 powershell 中:Get-Disk | Format-List
今天在取证课上,我在讨论如何计算驱动器上的集群大小时遇到了这个问题。人们尝试了一个答案中描述的“制作小文件并查看属性”方法,并且不再适用于现代版本的 Windows。【参考方案5】:
每个集群的字节数 - 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
【讨论】:
我最喜欢的是,虽然这假设分配了一个驱动器号,并且如果使用路径安装,则不适用于“驱动器”。作为一种解决方法,当然可以临时分配一个驱动器号。【参考方案6】:最简单的方法,在 2012r2 上确认。
-
转到“这台电脑”
右键单击磁盘
点击格式
在下拉“分配单元大小”下将是单元大小磁盘的分配值。
【讨论】:
无法在我的 Win 10 Pro v2004 上运行...只是对所有驱动器说“默认”。 哇,这是一个显示此信息的好答案,Get-Disk | Format-List
不显示此信息,但 Get-Volume | Format-List
显示。这很有趣,因为您会认为分配单元会与 Get-Disk | Format-List
上的 Blocksize 相关,但事实并非如此。分配单元是为什么您的文件在磁盘上大于它们所代表的实际数据的原因。【参考方案7】:
根据Microsoft,分配单元大小“指定文件系统的集群大小” - 所以它是“Bytes Per Cluster”显示的值,如下所示:
fsutil fsinfo ntfsinfo C:
【讨论】:
【参考方案8】:J Y 在上一个答案中提供的简单 GUI 方式:
-
创建一个小文件(非空)
右键单击,选择属性
检查“磁盘大小”(在“常规”选项卡中),仔细检查您的文件大小是否小于该大小的一半,从而确定它使用的是单个分配单元。
这很好用,并提醒您分配单元大小的重要性。但它确实有一个警告:如先前答案的 cmets 所示,对于一个非常小的文件,Windows 有时会将“磁盘大小”显示为 0。在我的测试中,分配单元大小为 4096 字节的 NTFS 文件系统要求文件为 800 字节,以始终避免此问题。在 FAT32 文件系统上,这个问题似乎不存在,即使是单字节文件也可以工作 - 只是不能为空。
【讨论】:
【参考方案9】:您可以从命令行使用 Mark Russinovich 的 SysInternals NTFSInfo,它将 fsutil fsinfo ntfsinfo 转换为更易读的信息,尤其是 MFT 表信息。
【讨论】:
【参考方案10】:从命令行:
chkdsk l:(等待扫描完成)
sizdir32 http://www.ltr-data.se/opencode.html/
【讨论】:
【参考方案11】:在CMD
(作为管理员)中,首先运行diskpart
。在打开的程序中,输入list disk
。它将列出所有连接的磁盘。
根据磁盘大小选择合适的磁盘。如果它是闪存,通常它会是列表中的最后一项。就我而言,我使用以下命令选择Disk 2
:select disk 2
。
选择磁盘后,使用list partion
命令列出分区。您将获得如下图所示的列表。
现在,是时候根据其大小选择正确的分区了。就我而言,我使用以下命令选择分区 1:select partition 1
。
最后,您可以运行filesystem
命令来获取Allocation Unit Size
。
注意:此过程适用于 NTFS 和 FAT32。
【讨论】:
【参考方案12】:开始 > 运行 > MSINFO32
转到组件
转到存储
转到磁盘
在右侧查找字节/扇区
【讨论】:
这是您磁盘的属性,而不是该磁盘上特定分区的分配大小。 这不会显示文件系统的集群大小,而是显示底层物理媒体的扇区大小。以上是关于在 Vista 中如何查看 NTFS 分区的分配单元大小?的主要内容,如果未能解决你的问题,请参考以下文章