迁移/卷?

在主板和随后的几个磁盘发生硬件故障后,我将根分区迁移到另一个驱动器。 但是,给定/dev和其他特殊位置我想知道我的方法是否合理?:

 rsync -avzPHAKXS /mnt/old/ /mnt/new/ 

请注意,新指定的根驱动器安装为/mnt/new ,旧驱动器安装为/mnt/old

这会起作用还是会失败? 我会在本周晚些时候通过尝试找到答案,但获得权威的答案,也许是一个可行的替代方案可以节省我几个小时。

是的,您描述的方法将起作用,假设两个磁盘都不是您当前的根/活动分区(因为它们都在/ mnt /下,看起来您没问题。

另外,你是对的,因为涉及到md设备,所以最好不要对整个分区进行dd。 这也需要你扩展文件系统,使用rsync可以避免这一步骤,在这种情况下是完全安全的。

一些评论:

  • 无需担心/ dev,/ proc,/ sys,/ run等特殊文件系统; 因为这两个磁盘都不是你当前的根分区,所以这些文件系统没有挂载(假设它们不是“实时”),它们包含的只是文件。 一些文件是“特殊的”(可能是fifos或block / char特殊文件),但这些文件复制正常。

  • 你的rsync行中不需要-z; 因为它是本地副本,我认为硬盘足够快,如果你避免压缩/解压缩开销会更快。

要复制整个分区,您应该使用dd 。 卸载要复制的分区。 您需要知道您的分区被调用了什么。 你可以使用GParted或sudo blkid 。 例如,假设您要复制的分区是sdb1 ,目标是sdc1 。 那么你的dd命令就是

 sudo dd if=/dev/sdb1 of=/dev/sdc1 

dd要非常小心,因为覆盖了使用of参数指定的目标分区。 始终确保您的分区名称正确。 此外,分区名称可以在重新启动后更改,因此重新启动后不要依赖它们。