目前,我的整个系统位于硬盘的末尾。我想将该数据移至开头,并且启动和其他细节仍然有效。
dd
似乎完全按照我想要的方式进行(准确地复制我的数据的放置方式),但我不确定诸如引导、grub 配置等内容。我稍后需要设置这些东西,还是会dd
为我做这项工作?
答案1
(警告:如果你不知道自己在做什么,这是非常危险的)
是的,你可以,但我不推荐它(尽管我做过几次,主要是为了将分区转移到另一个硬盘)。
dd if=/dev/sdaA of=/dev/sdaB
会将数据从 传输sdaA
到sdaB
,但不会进行任何检查,所有分区都将被复制(甚至是空白空间),您必须确保大于sdaB
或等于sdaA
(否则您会覆盖下一个分区的开头),并且系统最有可能无法启动 - 您必须从救援 CD/USB 启动、挂载/dev/sdaB
、修改 grub 配置并重新运行 grub-install。并可以选择调整文件系统的大小以回收任何剩余空间。
最好在 /dev/sdaB 上创建文件系统并复制文件系统内容。您仍然需要重新运行grub-install
,但至少这样更安全。
答案2
“dd”本身不会创建分区,也不会修复 grub。我建议为此使用实时救援 CD——例如 RIPlinux 附带 gparted,它可以以图形方式定义移动并且很可能会正确工作。
我还建议在执行此类操作之前备份整个磁盘(如果可能的话)。