是否有一个工具可以查询 FAT 文件系统详细信息?

是否有一个工具可以查询 FAT 文件系统详细信息?

我可以使用什么文件系统工具来显示 FAT 卷的详细信息?

我没有丢失数据,不需要数据取证级别的详细信息,也不需要更改 FAT 卷上的任何内容。我只想打印出如下数据:

  • 该卷上使用的 FAT 类型(FAT12、FAT16、FAT32),
  • 卷上使用的文件分配表的数量,
  • 每个扇区的字节数,
  • 每簇块大小的字节数,
  • 每簇扇区数,
  • 根目录条目的数量限制。

FAT64(又名 ExFAT)支持会很好。FreeBSD、Linux、MacOS X 或 Windows 上的任何可用版本都可以。

我尝试在网上搜索该主题,但得到的都是假阳性结果,主要是针对超重人群的工具(FAT 一词)以及如何格式化任何大小的 FAT 卷或如何增加 FAT 卷的说明。还发现了一些用于操作 FAT 文件系统映像的 github 项目,但它们没有显示我想要的详细信息,而是允许数据恢复或文件系统更改。Windows 上的 Fsutil 和 FreeBSD 上的 gpart 不提供我想要的 FAT 详细信息(或者至少我没有找到它如何提供这些信息)。

如果您知道任何提供上述 FAT 详细信息的内置 OS 工具或第三方实用程序,请给我指点!

答案1

Linux 上的 dosfstools fsck.fat(可能fsck.vfat在旧版本的软件包中调用) 显示与 MS-DOS 上的 chkdsk 类似的信息:

# fsck.fat -v -n /dev/sda1
fsck.fat 4.2 (2021-01-31)
Boot sector contents:
System ID "mkfs.fat"
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
      4096 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
    524288 bytes per FAT (= 1024 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 1064960 (sector 2080)
    130812 data clusters (535805952 bytes)
63 sectors/track, 255 heads
      2048 hidden sectors
   1048576 sectors total
/dev/sda1: 8 files, 1341/130812 clusters

GNU mtools 诞生于 Linux 与 MS-DOS 双启动的时代,因此它坚持使用 DOS 风格的驱动器号(必须在 中预先定义/etc/mtools.conf)。不过 -i 选项minfo -i /dev/sdb1 ::可能有效。

# cat /etc/mtools.conf
drive a: file="/dev/sda1" exclusive
drive b: file="/dev/sdb1" exclusive

# minfo -v b:
device information:
===================
filename="/dev/sdb1"
sectors per track: 63
heads: 255
cylinders: 66

media byte: f8

mformat command line: mformat -T 1048576 -h 255 -s 63 -H 0 b:

bootsector information
======================
banner:"mkfs.fat"
sector size: 512 bytes
cluster size: 8 sectors
reserved (boot) sectors: 32
fats: 2
max available root directory slots: 0
small size: 0 sectors
media descriptor byte: 0xf8
sectors per fat: 0
sectors per track: 63
heads: 255
hidden sectors: 2048
big size: 1048576 sectors
physical drive id: 0x80
reserved=0x0
dos4=0x29
serial number: 3F14F81D
disk label="NO NAME    "
disk type="FAT32   "
Big fatlen=1024
Extended flags=0x0000
FS version=0x0000
rootCluster=2
infoSector location=1
backup boot sector=6

Infosector:
signature=0x41615252
free clusters=130811
last allocated cluster=2

exFAT 不是“又名”FAT64。(微软,其作者,将其命名为“exFAT”——因此它是“exFAT”。)它与原始 FAT 有很大不同,不仅有自己的名称,而且还有不同的工具。

有两个用于 exFAT 的 Linux 工具集 - exfat-utils(较旧,基于 FUSE 的免费驱动程序的一部分)和 exfatprogs(较新,我相信由三星维护)。

exfat-utils 有dumpexfat

$ dumpexfat /tmp/exfat.img
Volume label
Volume serial number      0x765cf1c4
FS version                       1.0
Sector size                      512
Cluster size                    4096
Sectors count                 262144
Free sectors                  261728
Clusters count                 32720
Free clusters                  32716
First sector                       0
FAT first sector                 128
FAT sectors count                256
First cluster sector             384
Root directory cluster             5
Volume state                  0x0000
FATs count                         1
Drive number                    0x80
Allocated space                   0%

类似地,exfatprogs 附带dump.exfat

$ dump.exfat /tmp/exfat.img
exfatprogs version : 1.1.0
-------------- Dump Boot sector region --------------
Volume Length(sectors):                 262144
FAT Offset(sector offset):              128
FAT Length(sectors):                    256
Cluster Heap Offset (sector offset):    384
Cluster Count:                          32720
Root Cluster (cluster offset):          5
Volume Serial:                          0x765cf1c4
Sector Size Bits:                       9
Sector per Cluster bits:                3

----------------- Dump Root entries -----------------
Volume entry type:                      0x3
Volume label:
Volume label character count:           0
Bitmap entry type:                      0x81
Bitmap start cluster:                   2
Bitmap size:                            4090
Upcase table entry type:                0x82
Upcase table start cluster:             3
Upcase table size:                      5836

---------------- Show the statistics ----------------
Cluster size:                           4096
Total Clusters:                         32720
Free Clusters:                          32716

相关内容