恢复 microSD 分区表

恢复 microSD 分区表

我刚刚发现我的HD2一下子破坏了它的存储卡的分区表。

当我将卡插入 SD 读卡器时,Windows 中只显示整个 RAW(未格式化)分区。Linux 甚至不将其视为/dev/sdXX

我如何尝试恢复旧的 3 个分区(FAT32、sd-ext 和 swap)?

答案1

你可以试试测试磁盘自由的跨平台, 和开源) - 它适用于系统上的几乎所有驱动器,无论驱动器是内置的还是外置的。您可以使用 TestDisk 发现并重写驱动器上的任何分区表 - 它甚至可以找到损坏或丢失的分区,然后修复分区表。

或者,您也可以使用 TestDisk 简单地恢复文件而不修复分区表(如果您只想格式化并从头开始)。我曾成功地使用它从损坏的分区/驱动器(即使有坏扇区)复制文件。

答案2

这对我来说是有用的:

进入adb shell,将SD卡插入插槽并输入: # dmesg

这将返回内核消息。最后,它会告诉你插入了什么设备,并附带其他信息:

<7>[22821.137721] sdhci: card inserted.
<7>[22821.336235] Universal : Card status 1
<6>[22822.591613] mmc2: new high speed SDHC card at address b368
<6>[22822.598715] mmcblk1: mmc2:b368 46608 15.4 GiB
<6>[22822.601085] mmcblk1: unknown partition table

记下设备,在本例中为“mmcblk1”

现在使用 fdisk 创建一个新的分区表,如下所示:

# fdisk /dev/block/mmcblk1

创建一个新的空的 DOS 分区表:
命令(m 表示帮助):o

创建新的主分区:
命令(m 表示帮助):n
命令操作
扩展
p 主分区(1-4)
分区数(1-4):1
第一个柱面(1-505824,默认1):输入
最后一个柱面或 +size 或 +sizeM 或 +sizeK (1-505824,默认 505824):输入

打印分区表并检查更改:
命令(m 获取帮助):p

磁盘 /dev/block/mmcblk1:16.5 GB,16574840832 字节
4 个磁头、16 个扇区/磁道、505824 个磁柱
单位 = 64 * 512 = 32768 字节的柱面

设备启动开始结束块ID系统
/dev/block/mmcblk1p1 1 505824 16186360 83 Linux

请注意,mmcblk1p1 是 mmcblk1 上的分区 1。

将分区表写入磁盘并退出:
命令(m 获取帮助):w

对手机进行电源循环,以便它正确地重新读取分区表并进入“设置”、“存储”并格式化/安装您的卡。

答案3

djechelon,试试这个。下载EaseUS 分区恢复。这应该能够检测到您的 SD 卡,然后您可以重新格式化它以恢复功能。EaseUS 产品 100% 安全。

相关内容