无法使用 gdisk 恢复我的 gpt 数据

无法使用 gdisk 恢复我的 gpt 数据

所以我在 GPT 中的 SSD 上预装了 Windows 7 EFI 启动

Ubuntu 安装程序无法识别 SSD,因此我发现我应该尝试使用 gdisk 来 zap gpt,在执行此操作之前,我将 gpt 数据备份到文件中。

现在 SSD 没有 gpt,Windows 7 根本无法启动,所以我回到 gdisk 来恢复 gpt 数据,但我无法

kubuntu@kubuntu:~$ sudo gdisk /dev/sda GPT fdisk (gdisk) 版本 0.8.8

分区表扫描:MBR:保护性 BSD:不存在 APM:不存在 GPT:不存在

创建新的 GPT 条目。

命令(?获取帮助):r

恢复/转换命令(?获取帮助):l 输入要加载的备份文件名:gpt_original

恢复/转换命令(?获取帮助):w

警告!辅助分区表与最后一个分区重叠 33 个块!您需要删除此分区或在另一个实用程序中调整其大小。

中止写入新的分区表。

请注意,在删除 gpt 之前,我已经将 33 个块重叠,并且 Windows 7 启动正常。有没有办法强制 gdisk 使用我的备份恢复我的 gpt?

答案1

重叠的数据表明你确实不是一开始有一个 GPT 磁盘,但实际上有一个 MBR 磁盘并以 BIOS 模式启动。(gdisk的功能之一是,当您在 MBR 磁盘上启动它时,它会自动从 MBR 转换为 GPT。)如果我是对的,您可以按如下方式恢复 MBR:

  1. 启动gdisk,如您的示例所示。
  2. 加载(转换为)GPT 备份数据,如您的示例所示。
  3. 键入r以进入恢复和转换菜单。
  4. 键入g将 GPT 数据转换为 MBR 格式(在内存中)。您将看到一个新的MBR command提示。
  5. 键入p以查看转换为 MBR 的分区表。
  6. 检查输出以确保所有分区都存在 - 不应列出任何分区,omittedStatus列中列出任何分区。您可能需要检查FixParts 文档,因为 FixParts 使用相同的菜单,并且文档对选项进行了更详细的描述。
  7. 一旦您确信所有分区均已存在且按应有的方式设置,请键入w以保存更改并退出。

另一方面,如果您确信磁盘是 GPT 格式,并且计算机以 EFI 模式启动 Windows,那么您的分区表从一开始就已损坏。在这种情况下,您可能需要删除最后一个分区,然后重新创建稍小的分区以使其适合;gdisk不会让您保存损坏的分区表。

答案2

在我看来,当我从 W7 中删除数据分区时,在 GParted 中我收到一条有关损坏的 gpt 表的消息,但当我将这个未分配的空间与其他 linux 分区合并时,一切都正常。我是新手,不要扔 roks :)

相关内容