我无法格式化损坏的 Sandisk SDHC ULTRA 32Gb 微型卡。所以我在Ubuntu系统中使用了gparted。我删除了分区(/dev/sdf1),重新创建它并将其格式化为 fat32。它仍然保留原来的标签和 24% 的已使用空间。
sudo parted /dev/sdf1 unit s print
型号:未知(未知)
磁盘 /dev/sdf1: 62325760s
扇区大小(逻辑/物理):512B/512B
分区表:msdos
编号 开始 结束 大小 类型 文件系统 标志
sudo fdisk -l -u /dev/sdf
磁盘 /dev/sdf:31.9 GB,31914983424 字节 255 个磁头,63 个扇区/磁道,3880 个柱面,总共 62333952 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节/512 字节
I/O 大小(最小/最佳):512 字节/512 字节
磁盘标识符:0x00000000
设备引导开始结束块 ID 系统
/dev/sdf1 * 8192 62333951 31162880 c W95 FAT32 (LBA)
sudo dd if=/dev/zero of=/dev/sdf bs=512 count=1
1+0 条记录
1+0 记录复制了 512 字节 (512 B),0.0122556 s,41.8 kB/s
sudo shred -vzn 0 /dev/sdf
sudo fsck -a /dev/sdf1
来自 util-linux 2.20.1 的 fsck
dosfsck 3.0.12,2011 年 10 月 29 日,FAT32,LFN
引导扇区与其备份扇区之间存在差异。
差异:(偏移:原始/备份)71:33/4e、72:32/4f、73:47/20、74:42/4e、75:5f/41、76:47/4d、77:4f/45 , 78:50/20, 79:4c/20, 80:55/20, 81:53/20
不会自动修复此问题。
孤立的长文件名部分“173GOPRO”
自动删除。…………
自由集群摘要错误(813022 与实际 744969)
自动更正。
执行更改。
/dev/sdf1:417 个文件,228615/973584 个簇
sudo mkfs.vfat -I /dev/sdf
mkfs.vfat 3.0.12(2011 年 10 月 29 日)
此后,刷新 gparted 设备需要很长时间才能显示它们。什么也没有变。
这是出现“重叠”信息的地方
正如 burlian.vlastimil 的回答所建议的,我尝试过
http://gparted.org/h2-fix-msdos-pt.php#overlapping-partitions
$ sudo parted /dev/sda 单位打印
错误:不能有重叠的分区。
但正如您在上面看到的,我的 sdf 单元没有收到此错误消息
所以,我现在被困住了。
编辑 1:在我的 Mac 中,卡被识别并显示目录和文件树、正确的文件大小和日期。在尝试我描述的任何操作之前,我可以恢复一些我需要的 jpg,所以我不想失去一切
编辑 2:添加了 testdisk /log 的一些屏幕截图
答案1
答案2
在相机和手机中工作的多个 SD 上也遇到类似问题,但在 Ubuntu/Mint 上根本无法安装。
在尝试格式化时,得到:
分区不能重叠
无法使用任一方法进行格式化磁盘或者gparted。
解决并安装,一步一步:
首先确保您拥有必要的软件包:
sudo apt-get install exfat-fuse exfat-utils
跑过磁盘gui,可以在应用程序中找到。
请注意 SD 设备磁盘标签:(示例/dev/sde)
运行此命令以获取当前分配的大小:
sudo fdisk -l -u /dev/sde
减去结尾和开始, 例子:
Device Boot Start End Sectors Size Id Type
/dev/sde1 * 8192 15572991 15564800 7.4G b W95 FAT32
所以,在这种情况下:
15572991 - 8192 =15564799
要进行编辑,请将输出写入文件:
sudo sfdisk -d /dev/sde > sde-bckup.txt
打开sde-bckup.txt使用任何文本编辑器在主文件夹上。
输入示例:
label: dos
label-id: 0x00000000
device: /dev/sde
unit: sectors
/dev/sde1 : start= 8192, size= 15564800, type=b, bootable
编辑后:
label: dos
label-id: 0x00000000
device: /dev/sde
unit: sectors
/dev/sde1 : start= 8192, size= 15564799, type=b, bootable
完成后,使用以下命令将分区表写回设备:
sudo sfdisk /dev/sde < sde-bckup.txt
如果成功:
分区表已被更改。
就我而言,立即安装了 SD 卡并可在文件资源管理器中使用。
之后,使用磁盘公用事业,删除所有分区并格式化并完全擦除。此操作对于以后的使用是必需的。奇怪的是,当用其他设备向SD写入数据时,问题又出现了。
可能的原因?