GPT PMBR 大小不匹配将通过写操作进行纠正

GPT PMBR 大小不匹配将通过写操作进行纠正

Linux 出现错误“GPT PMBR 大小不匹配将通过 w(rite) 进行纠正。”

错误消息远非不言自明。这是否意味着如果我挂载并尝试写入磁盘,Linux 将(尝试)调整 GPT 分区边界的大小?如果是这样……它如何尝试做到这一点?它是否知道 512e / 4k 扇区大小模拟的问题?

遇到此问题的其他用户已成功手动重写了分区表:

逻辑扇区大小会根据是通过 USB 还是直接 SATA 连接而变化

但如果 Linux 自动执行此操作,那就更好了(并且不容易出现用户输入错误)。我使用的是 Debian Stretch,带有后移植的 4.17 Linux 内核。

如果重要的话,上下文如下:

我有一个外置硬盘,我把它拆下来(拆掉硬盘),然后把它连接到主板上的内置 SATA 端口。但是,它已经格式化,并且上面有来自之前的 SATA 磁盘控制器的数据。

显然这与 512e 4k 扇区大小模拟有关。磁盘报告逻辑扇区大小 512/物理大小 4096 字节。

当然,我的数据已经备份。我只是不想重新格式化然后重写 7TB,因为那会花很长时间。

谢谢。

答案1

Ubuntu 论坛上的一个回答对我有帮助:

https://ubuntuforums.org/showthread.php?t=2277232&p=13280872#post13280872

Fdisk 以前在 gpt 分区驱动器上根本不起作用,它只是报告驱动器是 gpt 分区。最好使用 parted、gparted 或 gdisk。Gdisk 一直是 gpt 驱动器的命令行工具。

发布这些内容:

sudo parted -l

或者

sudo parted /dev/sda unit s print

或者

sudo gdisk -l /dev/sda

答案2

当我将 SATA 磁盘移至 USB 适配器时,也遇到了类似的问题。启动时fdisk

GPT PMBR size mismatch (1953525167 != 1953525166) will be corrected by write.
The backup GPT table is corrupt, but the primary appears OK, so that will be used.

使用 w(rite) 命令不能解决这个问题,它只会抱怨设备上没有剩余空间。

我通过重新创建 gpt 磁盘标签解决了该问题:

  1. 开始fdisk
  2. p显示当前分区
  3. g创建一个新的 gpt 磁盘标签
  4. n添加此磁盘上先前存在的每个分区。对于First sectorLast sector,输入先前命令输出的值p。不要删除分区签名。
  5. w

如果保持所有起始和结束扇区相同,则不会丢失数据。

答案3

这是否意味着如果我安装并尝试写入磁盘,Linux 将(尝试)调整 GPT 分区边界的大小?

不。它的意思是像@Maze 的回答那样写。

工具分开提供对同一问题进行自动修复。如果您运行parted -l(如果您只有一个磁盘)或parted /dev/sda(如果您有多个磁盘,只需将 /dev/sda 更改为您的磁盘)。然后它会询问您是否要修复或忽略该问题。回答Fix让 parted 应用修复。

Parted 非常适合轻松增加分区大小。当我看到与楼主相同的 fdisk 警告消息时,我手头上的任务就是这个。

相关内容