正在迁移 / 卷?

正在迁移 / 卷?

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

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

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

这会成功还是会失败?无论如何,本周晚些时候我都会通过尝试找到答案,但获得权威答案和可行的替代方案可能会节省我几个小时。

答案1

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

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

一些评论:

  • 无需担心 /dev、/proc、/sys、/run 等特殊文件系统;由于这两个磁盘都不是当前根分区,因此这些文件系统未安装(假设它们不是“实时”的),并且它们包含的都是文件。有些文件是“特殊的”(可能是 fifos 或 block/char 特殊文件),但这些文件可以正常复制。

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

答案2

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

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

请务必小心,dd因为使用参数指定的目标分区of将被覆盖。务必确保您的分区名称正确。此外,分区名称在重启后可能会更改,因此重启后不要依赖它们。

相关内容