如何修复损坏的(太大)的 GPT?

如何修复损坏的(太大)的 GPT?

所以,我买了一个新的 SSD。我决定在上面使用 GPT 而不是 MBR,所以我有点迷茫。它最终被损坏了。我不确定 GPT 是否没有考虑到主机保护区,或者我的 SSD 是否真的丢失了一些数据。所以,我现在正试图让它挂载。问题是我从 gparted 收到此错误,指出分区太大:

问题:辅助头的自指针指示它不在磁盘末尾。如果您已将磁盘添加到 RAID 阵列,请使用专家菜单上的“e”选项调整辅助头和分区表的位置。

问题:磁盘太小,无法保存所有数据!(磁盘大小为 390717734 个扇区,需要 488397168 个扇区。)专家菜单上的“e”选项可能会修复此问题。

问题:GPT 声称磁盘比实际大!(声称最后可用扇区是 488397134,但备份头位于 488397167,磁盘大小为 390717734 个扇区。专家菜单上的“e”选项可能会修复此问题

问题:分区 1 对于磁盘来说太大。

发现4个问题!

(还存在 CRC 错误,但我从备份结构中恢复了 GPT,错误就消失了)

我尝试e在专家模式下执行该选项,但只有 CRC 错误消失了,而这些问题并没有消失。

我该如何修复此问题以尝试修复 FS 并安装它?我有备份,但这意味着我会丢失自上次备份以来的一些工作。

此外,这听起来像是数据损坏还是由于没有考虑 HPA 而产生的某种现象?

答案1

首先,一个小问题:您引用的问题消息来自 GPT fdisk(gdisksgdiskcgdisk),而不是来自 GParted。我只是想澄清这一点,以防将来有人对此感到困惑。

主机保护区 (HPA) 很乱,因为有些操作系统似乎忽略了它,这可能会导致您看到的那种错误。如果您使用的是 HPA,请考虑禁用该功能。如果这是问题的根源,您几乎肯定需要这样做才能恢复数据,因为您引用的消息清楚地表明您的磁盘有一个分区大大超出了可用空间。如果您使用 HPA 无关的操作系统对磁盘进行分区,或者在设置 HPA 之前进行分区,然后随后转移到支持 HPA 的操作系统或设置 HPA,则可能会发生这种情况。

由于您的标签表明您正在使用 Linux,因此您可以使用以下命令检查磁盘的 HPA 状态hdparm

$ sudo hdparm -N /dev/sda

/dev/sda:
 max sectors   = 976773168/976773168, HPA is disabled

这显示了一个禁用 HPA 的磁盘;如果启用了 HPA,则会显示其他内容。

您的 SSD 也可能出现故障。如果是这种情况,您必须备份尽可能多的数据,然后将磁盘送回维修或更换。

相关内容