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

Dus*_*yte 4 gparted unallocated gpt

几个月来,我一直很高兴地使用我的 3TB 硬盘,现在仍然如此。今天我发现 GParted 将整个驱动器 (/dev/sdb) 显示为未分配。驱动器工作正常。在 GParted 中单击以获取更多信息会给我以下警告文本:

备份 GPT 表不在磁盘的末尾,因为它应该是。这可能意味着另一个操作系统认为磁盘更小。修复,通过将备份移到最后(并删除旧备份)?

并非所有可用于 /dev/sdb 的空间似乎都已使用,您可以修复 GPT 以使用所有空间(额外的 4294967296 块)还是继续当前设置?

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

驱动器上只有一个 ext4分区,大概填满了整个驱动器。如果我没记错的话,我是很久以前使用 GParted 对其进行格式化的人。我不记得创建 GPT 表的详细信息。该驱动器仅用于数据,不包含系统文件或任何内容。我确实使用 fstab 自动挂载它。

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

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

在此处输入图片说明 在此处输入图片说明

跑步

sudo gdisk -l /dev/sdb
Run Code Online (Sandbox Code Playgroud)

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  
Run Code Online (Sandbox Code Playgroud)

Rod*_*ith 10

看起来有些东西已经将 GPT 的备份分区表移动到磁盘上大约 700GiB 的标记处。这可能会导致数据损坏(尽管可能只有一两个文件),因此您应该将其移回它所属的位置。您可以gdisk通过使用专家菜单e上的gdisk选项(即启动gdisk,然后键入x,然后键入e,然后键入w以保存更改)来执行此操作。GParted 并且parted还应该提供解决此问题的选项,但我对它们不太熟悉,并且不知道可能适用哪些警告(如果有的话)。(我是gdisk作者,所以我熟悉它的作用!)

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