我有一个8千兆SD卡,我一直试图格式化,但由于某种原因,似乎什么也做不到。我试过检查重叠的开始和结束位,但很明显,它们中没有重叠。
我尝试过的事情:
fdisk可以删除分区,也可以创建新的分区,但是数据仍然存在,并且没有显示错误。gparted会给出一个重叠的分区错误,也有一个由GParted生成的“寻找而写的无效参数”错误。dd以0填充设备,但仍然无法格式化卡。shred作为替代,也没有运气。我想知道问题到底是什么,或者还有什么解决办法(S),我可以试试。
更新
我在设备上尝试了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作为可见的,不存在其他分区。
发布于 2016-12-11 16:24:14
您可以通过执行dd if=/dev/zero of=/dev/sdX bs=512 count=2来销毁违规的分区表,然后使用fdisk或gparted创建一个新的分区表。一定要把X弄对。
发布于 2016-12-11 12:20:31
SD卡可以有物理写锁开关。这个锁上了吗?抱歉,如果这听起来很傻。
尝试下面的命令完全Zap所有分区信息。作为根(或者使用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 (备份)分区表。
所以,再一次:
sgdisk -Z如果问题继续存在,dmesg可能会有所帮助。
https://unix.stackexchange.com/questions/329593
复制相似问题