You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

TF卡第三个分区无法识别且文件系统创建无效,求助排查问题

TF卡第三个分区无法识别且文件系统创建无效,求助排查问题

看起来你在给新TF卡分区时遇到了挺棘手的问题——明明用fdisk建了三个分区,前两个都能正常识别文件系统,但第三个分区不管是做FAT32还是ext4,系统都认不出有效文件系统,甚至复制文件都会出错,这确实让人头疼!我来帮你梳理下可能的问题点和排查方向:

一、先排查硬件层面的可能性

从你测试cp /bin/bash /dev/sdd3后对比文件不一致的结果来看,大概率存在数据写入/读取异常,优先检查硬件:

  • 读卡器兼容性/故障:很多廉价USB读卡器对大容量TF卡的支持不好,尤其是250G这种偏大的容量。建议换一个不同品牌的USB3.0读卡器试试,或者直接用电脑内置的读卡器(如果有的话),同时尽量插在主板原生USB端口上,避免供电不足。
  • TF卡本身故障:新卡也可能存在出厂瑕疵,用badblocks扫描整个卡的坏块:
    badblocks -v /dev/sdd
    
    扫描过程可能会比较久,如果发现大量坏块,基本可以确定是卡的问题。

二、重新梳理分区与格式化流程

硬件没问题的话,试试彻底重置分区表,避免残留数据干扰:

  1. 先删除所有现有分区:
    fdisk /dev/sdd
    # 输入d删除所有分区,重复d直到所有分区都被删除
    # 输入o重新创建DOS类型分区表
    # 依次创建三个分区:
    n → p → 1 → 2048 → +3.9G → t → c(设置为W95 FAT32(LBA))
    n → p → 2 → 回车 → +3.9G → t → 2 → 83(设置为Linux)
    n → p → 3 → 回车 → 回车(默认到磁盘末尾)→ t → 3 → c
    # 输入w保存分区表并退出
    
  2. 格式化前先清零分区开头的残留数据:
    dd if=/dev/zero of=/dev/sdd3 bs=1M count=10
    
  3. 重新创建文件系统,给大容量FAT32分区指定合适的簇大小(避免默认参数适配问题):
    mkfs.fat -F 32 -s 64 -n GAMES /dev/sdd3
    
    (-s 64对应32KB簇,是200G+FAT32分区的合理参数)

三、其他排查小技巧

  • 每次操作后重新扫描设备,清空系统缓存:
    umount /dev/sdd*  # 如果分区已挂载先卸载
    echo 1 > /sys/block/sdd/device/rescan
    echo 3 > /proc/sys/vm/drop_caches
    
  • 试试用parted替代fdisk分区,部分场景下对大容量磁盘的支持更稳定:
    parted /dev/sdd mklabel msdos
    parted /dev/sdd mkpart primary fat32 2048s 8194047s
    parted /dev/sdd mkpart primary ext4 8194048s 16386047s
    parted /dev/sdd mkpart primary fat32 16386048s 100%
    

另外你提到创建ext4后dmesg里出现FAT-fs的错误,这是系统自动尝试多种文件系统类型识别导致的,不用在意,重点看对应文件系统的错误提示即可。

备注:内容来源于stack exchange,提问作者seirov

火山引擎 最新活动