我无法恢复我最初问问题的另一个帐户,所以我希望我可以在这里问一些后续的问题
我希望使用dd救援克隆一个失败的驱动器,我曾经从它启动,以恢复所有的应用程序/设置,等等,我有。我计划在一个ubuntu的活动usb上运行快速救援,将失败的驱动器连接到我的计算机的SATA接口,并通过USB机箱将所有内容复制到新的驱动器上。
从@的回答来看,似乎有一些微妙的问题,但是USB外壳可能报告错误的物理扇区大小。如果这种情况发生在我通过USB机箱写入新磁盘时,那么我可能无法从它启动,因为
副本中的分区表与目标磁盘使用的逻辑扇区大小不对应。
如果是这种情况,建议我将失败的驱动器复制到新驱动器的分区中,而不是直接将失败的驱动器复制到新驱动器上。如果我这样做,那么即使目标磁盘的逻辑扇区大小与分区表中列出的不同,也仍然可以挂载映像文件。
我的问题是
如果是GPT,那么您需要修复二级GPT。源磁盘中的辅助GPT的副本现在位于目标磁盘的中间;通常应该在末尾。它可能是在和,有一个旧的从/dev/sdc的第二GPT,它与副本无关。
只有当目标硬盘不是全新的并且碰巧已经有了第二个GPT时,才会发生这种情况吗?如果我使用的是新买的目标驱动器,我不需要担心这个吗?
发布于 2020-07-31 04:38:50
关于二级GPT:是的,即使新驱动器还没有包含现有的GPT,问题仍然存在,除非新驱动器与源驱动器的大小完全相同,这是不可能的。辅助GPT必须位于驱动器的末尾,如果您将源驱动器的图像复制到更大的目标驱动器(包括辅助GPT )的开头,则不会在驱动器的末尾结束。
创建图像文件是解决不同逻辑扇区大小问题的一种方法。另一个想法是:在开始复制之前,使用fdisk或gdisk在目标设备上重新创建分区表。您不需要进行精确的复制,只需创建一个与要复制的分区大小相同的分区即可,磁盘上的位置(启动扇区)也不重要。然后,与其复制整个磁盘,不如将源分区中的数据复制到目标分区。
例如,假设源磁盘是/dev/sda,要复制的分区是/dev/sda1。如果附件中的目标磁盘是/dev/sdb,则创建一个分区表和一个与/dev/sda1大小相同的分区/dev/sdb1。然后,不要尝试从/dev/sda复制到/dev/sdb,而是从/dev/sda1复制到/dev/sdb1。
编辑:这个解决方案消除了二级GPT的问题,并且您不需要处理图像文件。然而,逻辑扇区大小不匹配的潜在问题仍然存在。分区表的结构取决于扇区大小。如果存在不匹配,则当将磁盘从外壳中取出时,不能使用在外壳中分区的磁盘,反之亦然。您可以在附件中对磁盘进行分区,并将文件复制到分区(包括前面提到的映像文件),但是如果不重新分区磁盘,磁盘就无法在外壳外使用。
您可以使用sudo blkid /dev/XXX -o NAME,LOG-SEC检查磁盘的扇区大小。
https://unix.stackexchange.com/questions/601156
复制相似问题