我一直在使用 parted-magic 来备份我的计算机的系统磁盘。
到目前为止,我一直在使用 sfdisk 或 sgdisk 来保存分区表;大多数情况下,如果 sfdisk 失败,我会使用 sgdisk 并且一切正常,但我买了一台带有 32 GB 闪存的新笔记本电脑(显示为 /dev/mmcblk0),我真的不明白发生了什么。
正如您在下面的屏幕截图中看到的,sfdisk 确实有效,但设备的标签是“GPT”...所以我尝试使用 sgdisk,结果出现了大量“确定扇区大小时出现错误 38”
我认为由于“磁盘”很小,他们使用了“旧式” MBR 分区表,但经过一番谷歌搜索后,我尝试了命令“gdisk -l”,它说它确实有一个 GPT 分区表。
事情变得更加奇怪的是,现在“sgdisk --backup”似乎可以正常工作……
我的问题是:
- 确定新计算机的分区表类型(以及备份/恢复它)的最佳方法是什么?
- 为什么 sgdisk 不再出现“错误 38”消息?(我是否意外修改了分区上的某些内容?)
- 我如何检查 sgdisk 备份文件是否正确?(对于 sfdisk,这是一个 ascii 文件,因此您可以查看它,但它似乎不适用于 sgdisk)
- 奖励:sgdisk 和 gdisk 有什么区别?
答案1
经过一番搜索,我能够部分回答这些问题,以下是我的发现:
确定新计算机的分区表类型(以及备份/恢复它)的最佳方法是什么?
gdisk -l device_name
似乎是找出使用哪个分区表的方法。一旦你得到这个,如果你有 GPT,你可以用 备份它
sgdisk --backup=filename
,如果没有,你可以用sfdisk -d device_name> filename
我如何检查 sgdisk 备份文件是否正确?(对于 sfdisk,这是一个 ascii 文件,因此您可以查看它,但它似乎不适用于 sgdisk)
我认为您应该能够使用恢复菜单命令
l
(小写 L)将其加载到 gdisk 中,然后使用命令打印它p
。只要您不使用该w
命令将新的 GPT 写回设备,它应该是安全的。为了使事情变得简单,我在备份脚本中添加了以下行,以便我可以访问有关 GPT 的重要信息:
gdisk -l device_name >filename 2>&1
。这sgdisk --backup
当然与我使用的文件名不同。奖励:sgdisk 和 gdisk 有什么区别?
sgdisk
是 的可脚本化版本gdisk
。最显著的区别是sgdisk
会在不要求任何确认的情况下执行危险操作...因此使用时要小心。
我仍然不知道为什么“错误 38”消息消失了,所以请随意添加答案,并确认我的回答是正确的……还是错误的。