我可以使用 dd 将系统移动到另一个分区吗?

我可以使用 dd 将系统移动到另一个分区吗?

目前,我的整个系统位于硬盘的末尾。我想将该数据移至开头,并且启动和其他细节仍然有效。

dd似乎完全按照我想要的方式进行(准确地复制我的数据的放置方式),但我不确定诸如引导、grub 配置等内容。我稍后需要设置这些东西,还是会dd为我做这项工作?

答案1

(警告:如果你不知道自己在做什么,这是非常危险的)

是的,你可以,但我不推荐它(尽管我做过几次,主要是为了将分区转移到另一个硬盘)。

dd if=/dev/sdaA of=/dev/sdaB

会将数据从 传输sdaAsdaB,但不会进行任何检查,所有分区都将被复制(甚至是空白空间),您必须确保大于sdaB或等于sdaA(否则您会覆盖下一个分区的开头),并且系统最有可能无法启动 - 您必须从救援 CD/USB 启动、挂载/dev/sdaB、修改 grub 配置并重新运行 grub-install。并可以选择调整文件系统的大小以回收任何剩余空间。

最好在 /dev/sdaB 上创建文件系统并复制文件系统内容。您仍然需要重新运行grub-install,但至少这样更安全。

答案2

“dd”本身不会创建分区,也不会修复 grub。我建议为此使用实时救援 CD——例如 RIPlinux 附带 gparted,它可以以图形方式定义移动并且很可能会正确工作。

我还建议在执行此类操作之前备份整个磁盘(如果可能的话)。

相关内容