恢复被删除的 GPT

恢复被删除的 GPT

我在 Windows 8 旁边双启动了 Ubuntu 13.10,并且遇到了安装程序无法检测到 Windows 8 的问题。我遵循了此答案中的建议:https://askubuntu.com/a/287862/118240使用 gdisk 删除 GPT 表。之后,我无法启动 Windows 8;启动直接进入装有 Ubuntu 的 USB 驱动器。无论如何,幸运的是,我使用 gdisk 'b' 命令创建了一个备份。我使用 'r'、'l' 和 'w' 恢复了备份。

现在,加载时,GParted 显示错误:/dev/sda contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted - possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?

当我单击“是”时,GParted 会显示我的分区,但会出现让我感到紧张的红色错误:

分区

运行sudo gdisk /dev/sda结果如下:

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

Found valid GPT with corrupt MBR; using GPT and will write new protective MBR on save.

我没有证据,但我有 95% 的把握,在我删除 GPT 表之前,MBR 显示的不是not present。我有 50% 的把握,它不是present,但我记不清是什么了(几天后这个问题解决后我可能会记得……)。

我在 Windows 上没有任何重要数据(我刚购买了电脑),但我不想重新安装它(我不知道是否必须重新购买 Windows 8,因为它已经安装在电脑上了,而我没有 CD?)。

无论如何,我可以用 gdisk 安全地写入新的保护性 MBR 吗?这样能保留我的分区吗,还是我已经造成了太大的损坏?如果不能,我可以采取什么措施吗?

答案1

您最后输入的内容显示 gdisk 将使用写入来写入保护性 MBR。因此使用 gdisk 并写入分区表。

sudo gdisk /dev/sda
Command (? for help):

at 命令使用 p 列出分区,如果它们看起来没问题,则执行 write at gdisk 命令。如果不行,使用 q 退出。? 将显示命令。它只会重写 gpt 数据,但也会自动写入正确的保护性 MBR 条目。

保护性 MBR 只有一个分区表条目,因此像 fdisk 这样的旧分区工具不会尝试写入它,除非至少显示它是 gpt。只有在 BIOS 模式下安装 Windows 时,您才会删除所有 gpt 数据。但您的 Windows 是 UEFI,因此只能是 UEFI。

您举的备份分区表的例子就说明了这一点的重要性。如果没有备份,恢复将非常困难,甚至不可能。

相关内容