SD 格式化问题

SD 格式化问题

我有一张 8Gig SD 卡,我一直在尝试对其进行格式化,但由于某种原因,似乎没有任何方法可以做到这一点。我尝试检查重叠的开始位和结束位,但显然它们没有重叠。

我尝试过的事情:
1.fdisk删除分区并创建一个新分区,但是数据仍然存在并且没有显示错误。
2. 使用 GParted 尝试与上面相同的操作,但当gparted只有分区时,也会出现重叠分区错误“写入时查找的参数无效”GParted 生成的错误。
3.用dd0来填充设备,但仍然无法格式化卡。
4. 用作shred替代品,也没有运气。

我想知道问题到底是什么或者我可以尝试哪些其他解决方案。

更新
sgdisk -Z在设备上尝试过,这是我收到的错误:

Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.
GPT data structures destroyed! You may now partition the disk using fdisk     or
other utilities.

尝试使用 GParted 和 Fdisk 调整开始和结束位的大小,但它们不会改变任何内容,并且开始和结束保持不变。

Disk /dev/sdb: 7.5 GiB, 8026849280 bytes, 15677440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        8192 15677439 15669248  7.5G  b W95 FAT32

可见,不存在其他分区。

答案1

您可以通过以下方式销毁有问题的分区表dd if=/dev/zero of=/dev/sdX bs=512 count=2,然后使用 fdisk 或 gparted 创建一个新分区表。确保 X 正确。

答案2

SD卡可以有物理写锁开关。这个有锁吗?抱歉,如果这听起来很愚蠢。

尝试以下命令来完全 Zap 所有分区信息。以 root 身份(或使用 sudo 或系统上有的任何其他解决方案)。警告:SD卡上的所有数据都将丢失,如果您不输入正确的设备,您可能会破坏系统上的所有数据

    sgdisk -Z /dev/XXXX

/dev/XXXX你的SD卡对应的设备在哪里,/dev/sde之类的。 重启并尝试使用常用工具格式化 SD 卡。

如果情况仍然不好,要么你没有使用正确的设备文件,要么你的 lunix 系统无法写入 SD 卡,也许它已损坏。使用dmesg | tail -100.查看系统消息。

更新,(回复您的更新)

您的 SD 卡有一个 GPT 分区表,正如sgdisk警告(顺便说一下,不是错误)所证明的那样:

    Warning! Secondary partition table overlaps the last partition by
    33 blocks!
    You will need to delete this partition or resize it in another 
    utility.

结果是成功的:

    GPT data structures destroyed! You may now partition the disk using fdisk
    or other utilities.

GPT 表(由 gdisk 管理)在设备上写入两次,一次在开始处,另一次在末尾,以相反的顺序。因此,GPT 表比 MBR 分区(使用旧的 fdisk 管理)“更强”,并且可以抵抗诸如 : 之类的命令,dd if=/dev/zero of=/dev/sdx count=20 bs=512因为备份副本是在末尾写入的,不会被删除。

修改分区后sgdisk -Z,您重新启动计算机了吗?如果不这样做,Linux 内核可能仍然在内存中使用它自己的卡分区理念。确保 linux 知道卡已被擦除的最佳方法是重新启动。

在某些情况下可以混合使用 MBR 和 GPT 分区表,但是这两个表必须一致,并且只有非常有经验的用户才可以混合使用 MBR 和 GPT 分区。

不清楚您的 fdisk 版本是否识别 GPT。您可能尝试使用 fdisk 编辑 MBR 分区,而 Linux 内核使用 GPT(备份)分区表。

所以,再一次:

  1. Zap分区表,sgdisk -Z
  2. 暂时不要使用其他分区工具。反而重启
  3. 使用您喜欢的分区工具。

如果问题仍然存在,dmesg可能会有所帮助。

相关内容