GParted 声称整个硬盘未分配并发出有关 GPT 表的警告

GParted 声称整个硬盘未分配并发出有关 GPT 表的警告

几个月来,我一直很开心地使用着我的 3TB 硬盘,现在也是如此。今天我发现 GParted 显示整个驱动器 (/dev/sdb) 未分配。但驱动器工作正常。单击 GParted 中的更多信息时,系统会显示以下警告文本:

备份 GPT 表不在磁盘末尾,而它应该在末尾。这可能意味着另一个操作系统认为磁盘较小。通过将备份移到末尾(并删除旧备份)来解决?

/dev/sdb 的可用空间似乎并未全部使用,您可以修复 GPT 以使用所有空间(额外的 4294967296 个块)或继续使用当前设置?

无法满足分区上的所有约束。

在车道上坐着一个 ext4分区,大概占满了整个驱动器。如果我没记错的话,很久以前我使用 GParted 格式化了它。我不记得创建 GPT 表的细节了。该驱动器仅用于数据,不包含系统文件或任何东西。我确实使用 fstab 自动挂载它。

在 GParted 中,我只能选择单击“关闭”。请参阅所附屏幕截图。GParted 告诉我驱动器是未分配空间,这让我很不开心。我可以/应该做什么来解决这个问题?

我试验时遇到的问题是,我没有其他驱动器可以容纳 3TB 的数据,因此备份是一个问题。(在您告诉我应该始终备份数据之前,这个 3TB 驱动器上的大部分内容都是我从其他驱动器进行的增量备份,因此我不想丢失它。)

在此处输入图片描述 在此处输入图片描述

跑步

sudo gdisk -l /dev/sdb

给出

GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Warning! Secondary partition table overlaps the last partition by
4294966385 blocks!
Try reducing the partition table size by 17179865540 entries.
(Use the 's' item on the experts' menu.)
Disk /dev/sdb: 5860533168 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 04F5DE37-A757-414B-A3E0-F845BD54B767
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1565565838
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      5860532223   2.7 TiB     0700  

答案1

似乎有什么东西将 GPT 的备份分区表移动到了磁盘上大约 700GiB 的位置。这可能会导致数据损坏(尽管可能只有一两个文件损坏),因此您应该将其移回原来的位置。您可以使用gdisk专家菜单e上的选项执行此操作gdisk(即启动gdisk,然后键入x,然后键入e,然后键入w以保存更改)。GParted 也parted应该提供修复此问题的选项,但我对它们不太熟悉,不知道可能适用哪些注意事项(如果有的话)。(我是gdisk的作者,所以我非常熟悉它的作用!)

这种损坏可能是由操作系统或具有内置 32 位限制的驱动程序在磁盘上运行的某些分区工具造成的。由于磁盘有超过 2^32 个扇区,结果就像汽车的里程表翻滚一样 - 软件没有访问到 ~2.7TiB 标记,而是将备份分区表数据写入了 ~0.7TiB(~700GiB)。这种问题最常见于使用时间超过一两年的 Windows 驱动程序以及使用外部 USB 硬盘盒的情况。

答案2

我无法添加评论Rod Smith 的精彩回答但我想补充一点,我已经按照建议的程序完成了,没有问题。

最后 gdisk 对我说:

Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

与 一样fdisk

使用partprobe(包含在 parted 包中)可避免重新启动。这样,添加的磁盘空间就出现了cfdisk(我已经用它来创建分区了;))

相关内容