在成功安装双引导环境,将 Ubuntu 13.10 添加到预安装的 Windows 8 配置后,我决定在阅读过度配置的好处后增加未分配的 SSD 磁盘空间。因此,在 Windows 中使用 miniTools 分区向导,我稍微缩小了 NTFS Windows 分区。这似乎已经成功完成。但是,当我启动 Linux 并启动 GParted 时,它在启动时给出以下错误消息:
备份 GPT 表已损坏,但主表显示正常,因此将使用该表。
系统的一切似乎都很好,但我担心如果主 GPT 表由于某种原因损坏,我会遇到问题。
我已经使用 gdisk 将 GPT 表备份到文件中,但是有没有办法创建一个新的备份 GPT 表?
old*_*red 49
最好先备份分区表,以防更改不正确。那么就可以恢复旧的分区表。如果驱动器是 sda 并保存到另一个驱动器:
sudo sfdisk -d /dev/sda > PT_sda.txt
Run Code Online (Sandbox Code Playgroud)
使用gdisk并使用验证分区是否正确p
,并使用w
写入分区表。如果不正确,请使用q
退出。这应该更新主要、备份和保护 MBR。
sudo gdisk /dev/sda
Command (? for help):
Run Code Online (Sandbox Code Playgroud)
b
将 GPT 数据备份到文件
c
更改分区名称
d
删除分区
i
显示分区
l
列表的详细信息已知分区类型
n
添加新分区
o
创建新的空 GUID 分区表 (GPT)
p
打印分区表
q
退出而不保存更改
r
恢复和转换选项(仅限专家)
s
对分区进行排序
t
更改分区的类型代码
v
验证磁盘
w
写入表到磁盘并退出
x
额外功能(仅限专家)
?
打印此菜单
请务必查看下面 Rod Smith 的评论,他是他的Rodbooks 站点上 gdisk 的作者。
修复备份 GPT 的最简单方法是:
sgdisk -e <target-device>
Run Code Online (Sandbox Code Playgroud)
例如:
sgdisk -e /dev/sda
Run Code Online (Sandbox Code Playgroud)
如手册中所述,该-e
选项:
-e, --move-second-header:将备份 GPT 数据结构移动到磁盘末尾。如果您已将磁盘添加到 RAID 阵列,从而创建一个具有遵循备份 GPT 数据结构的空间的虚拟磁盘,请使用此选项。此命令将备份 GPT 数据结构移动到它们所属的磁盘末尾。