AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1231020
Accepted
Cyan
Cyan
Asked: 2020-04-26 10:54:23 +0800 CST2020-04-26 10:54:23 +0800 CST 2020-04-26 10:54:23 +0800 CST

如何在 Ubuntu 上查询 FAT32 集群大小

  • 772

我必须专门使用 64 KB 簇大小将 SD 卡格式化为 FAT32。

这可以使用mkdosfs, 使用 command -s 128。它似乎按预期工作,它遵循所有与文档一致的在线帮助,并且生成的分区可用。

但是一旦分区被格式化,我就无法“读取”集群大小信息,这让我想知道如何检查集群大小是否是预期的。disks不提供此信息。fdisk -l不提供此信息。gparted不提供此信息。

有没有办法在 Linux 上查询格式化 FAT32 分区的簇大小?如果格式化的分区在 SD 卡上,是否还有其他问题?

format fat32 sd-card
  • 4 4 个回答
  • 4475 Views

4 个回答

  • Voted
  1. Cyan
    2020-04-30T16:38:56+08:002020-04-30T16:38:56+08:00

    我找到了另一个解决方案,dosfsck.

    更具体地说,添加-v以查看 FS 详细信息,并-n确保它不做任何其他事情,并且它提供了非常完整的描述:

    > sudo dosfsck -v -n /dev/sde1
    
    fsck.fat 4.1 (2017-01-24)
    Checking we can access the last sector of the filesystem
    0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
     Automatically removing dirty bit.
    Boot sector contents:
    System ID "mkfs.fat"
    Media byte 0xf8 (hard disk)
           512 bytes per logical sector
         65536 bytes per cluster
           128 reserved sectors
    First FAT starts at byte 65536 (sector 128)
             2 FATs, 32 bit entries
      15663104 bytes per FAT (= 30592 sectors)
    Root directory start at cluster 2 (arbitrary size)
    Data area starts at byte 31391744 (sector 61312)
    
    • 5
  2. Best Answer
    WinEunuuchs2Unix
    2020-04-26T14:52:55+08:002020-04-26T14:52:55+08:00

    只需使用该ll命令,目录的大小将是您的块大小(Windows 中的集群大小):

    $ ll /
    total 40972
    drwxr-xr-x  25 root root     4096 Apr  8 16:30 ./
    drwxr-xr-x  25 root root     4096 Apr  8 16:30 ../
    drwxr-xr-x   2 root root     4096 Mar 31 16:44 bin/
    drwxr-xr-x   4 root root     4096 Apr  8 16:32 boot/
    drwxrwxr-x   2 root root     4096 Aug  2  2018 cdrom/
    

    我的块大小是 4,096 (4K),这对于ext4Linux 文件系统来说是正常的。在您的情况下,它将是 64K,即使是 1 字节的文件也会在磁盘上占用 64K 字节。

    • 4
  3. eadmaster
    2020-06-13T04:30:40+08:002020-06-13T04:30:40+08:00

    利用:

    file -s /dev/partition
    

    或者:

    minfo -i /dev/partition
    

    来源:FAT – 检测 FAT 类型 | ArchWiki

    • 2
  4. Siu Ching Pong -Asuka Kenji-
    2022-05-12T12:51:17+08:002022-05-12T12:51:17+08:00

    找到 FAT 文件系统的簇大小的方法不止一种:

    • 使用包中的fsck.fat命令dosfstools
    • 使用包中的minfo命令mtools

    两者dosfstools和mtools都是特定于 FAT 的实用程序。由于dosfstools默认安装在 Ubuntu(以及许多其他发行版,我敢打赌)上,因此建议使用。事实上,mkdosfs(aka mkfs.fat) 也来自同一个包。正如您在下面的示例中所见,dosfstools感觉更干净,同时mtools提供了更多低级信息。


    fsck.fat 示例

    请注意dosfsck(如Cyan 的回答中所述)是指向fsck.fat. 实际上,dosfstools包中只有 3 个可执行文件。其他名称只是符号链接:

                          dosfslabel → fatlabel
    dosfsck / fsck.msdos / fsck.vfat → fsck.fat
    mkdosfs / mkfs.msdos / mkfs.vfat → mkfs.fat
    

    执行以下命令:

    sudo fsck.fat -n -v /dev/sdb1
    

    macOS 格式的 USB 随身碟

    该设备是使用 macOS 上的磁盘工具初始化的 USB 笔式驱动器。文件系统是新的(刚刚格式化)和干净的(正确卸载)。结果如下所示:

    fsck.fat 4.2 (2021-01-31)
    Checking we can access the last sector of the filesystem
    Boot sector contents:
    System ID "BSD  4.4"
    Media byte 0xf0 (5.25" or 3.5" HD floppy)
           512 bytes per logical sector
           512 bytes per cluster
            32 reserved sectors
    First FAT starts at byte 16384 (sector 32)
             2 FATs, 32 bit entries
       1613312 bytes per FAT (= 3151 sectors)
    Root directory start at cluster 2 (arbitrary size)
    Data area starts at byte 3243008 (sector 6334)
        403266 data clusters (206472192 bytes)
    32 sectors/track, 16 heads
             0 hidden sectors
        409600 sectors total
    Checking for unused clusters.
    Checking free cluster summary.
    /dev/sdb1: 1 files, 1/403266 clusters
    

    这一行告诉你集群大小是 512 字节:

           512 bytes per cluster
    

    Linux 格式的 USB 随身碟

    这是在 Ubuntu Linux 上分区和格式化的相同 USB 笔式驱动器的结果:

    fsck.fat 4.2 (2021-01-31)
    Checking we can access the last sector of the filesystem
    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)
        130811 data clusters (535801856 bytes)
    63 sectors/track, 255 heads
          2048 hidden sectors
       1048572 sectors total
    Checking for unused clusters.
    Checking free cluster summary.
    /dev/sdb1: 0 files, 1/130811 clusters
    

    这一行告诉你集群大小是 4096 字节:

          4096 bytes per cluster
    

    以 minfo 为例

    执行以下命令:

    sudo minfo -i /dev/sdb1
    

    macOS 格式的 USB 随身碟

    该设备是使用 macOS 上的磁盘工具初始化的 USB 笔式驱动器。文件系统是新的(刚刚格式化)和干净的(正确卸载)。结果如下所示:

    Hidden (40) does not match sectors (32)
    device information:
    ===================
    filename="/dev/sdb1"
    sectors per track: 32
    heads: 16
    cylinders: 800
    
    media byte: f0
    
    mformat command line:
      mformat -t 800 -h 16 -s 32 -r 0 -c 1 -i "/dev/sdb1" ::
    
    bootsector information
    ======================
    banner:"BSD  4.4"
    sector size: 512 bytes
    cluster size: 1 sectors
    reserved (boot) sectors: 32
    fats: 2
    max available root directory slots: 0
    small size: 0 sectors
    media descriptor byte: 0xf0
    sectors per fat: 0
    sectors per track: 32
    heads: 16
    hidden sectors: 0
    big size: 409600 sectors
    physical drive id: 0x0
    reserved=0x0
    dos4=0x29
    serial number: 67E317ED
    disk label="EFI        "
    disk type="FAT32   "
    Big fatlen=3151
    Extended flags=0x0000
    FS version=0x0000
    rootCluster=2
    infoSector location=1
    backup boot sector=6
    
    Infosector:
    signature=0x41615252
    free clusters=403265
    last allocated cluster=3
    

    这些行告诉你集群大小是 512 字节:

    sector size: 512 bytes
    cluster size: 1 sectors
    

    Linux 格式的 USB 随身碟

    这是在 Ubuntu Linux 上分区和格式化的相同 USB 笔式驱动器的结果:

    Hidden (2048) does not match sectors (63)
    device information:
    ===================
    filename="/dev/sdb1"
    sectors per track: 63
    heads: 255
    cylinders: 66
    
    media byte: f8
    
    mformat command line:
      mformat -T 1048572 -h 255 -s 63 -H 0 -r 0 -c 8 -L 1024 -i "/dev/sdb1" ::
    
    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: 1048572 sectors
    physical drive id: 0x80
    reserved=0x0
    dos4=0x29
    serial number: 8B7B3859
    disk label="EFI        "
    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=130810
    last allocated cluster=2
    

    这些行告诉你集群大小是 4096 字节:

    sector size: 512 bytes
    cluster size: 8 sectors
    
    • 0

相关问题

  • 我无法登录到我的 Ubuntu 机器或重新安装

  • 当我在 USB 密钥上 rsync 时如何替换冒号?

  • 有没有办法在 Linux 下恢复/格式化 iPod?

  • 为什么新分区和格式化的 298 GB 驱动器上有 4.86(可能是 15.1)GB 的已用空间(如 Gparted 的 ext4)

  • 使用加密的主目录重新安装 Ubuntu?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve