正确地将分区数据复制到另一个磁盘?

我有一个磁盘为每个文件夹(/ usr,/ var,/ home等)分开的分区,并希望将整个事情转移到另一个稍大的磁盘,现在我不希望保留分区scheme,所以应该我挂载所有的分区(所以他们填充正确的文件夹位置),然后rsync,或cp -avx整个partiton(当然在运行级别1)到新的驱动器?

我需要使用dd将根分区/和/ boot复制到磁盘,然后手动复制所有其他文件?

我真的只是想多个分区,所以我可以使用LVM,但我不知道如何将其转换为“正确”的方式。

通常我通过两个硬盘之间的rsync来进行这种传输,所以你对rsync或者cp -avx的预感看起来不仅仅是对我而言。

为了从新磁盘启动,你只需要在新的启动扇区重新安装grub(我假设你在这里使用grub)。

对于基于RedHat的Linux发行版(CentOS,RHEL,Fedora),您可以通过以root身份执行grub-install /dev/hdX ,只是告诉您新硬盘的位置。

对于Debian系统,您需要执行sudo update-grub

有时候重新安装grub是一个试验/错误,所以要小心。

如果您想按照以下步骤执行手动操作:

检查你的新磁盘是否出现在grub device.map文件中

 (fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdc 

一旦您知道新驱动器位于从旧驱动器引导的操作系统的device.map中,请执行以下命令

 # grub grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded Done. 

BE AWARE:您需要用合适的磁盘和分区replace(hd0,0)您的内核映像

如果你的内核在分区/ dev / hdX1 – >(hdX,0)中,如果你的内核在分区/ dev / hdX2 – >(hdX,1)

等等…

如果你的驱动器声明为(hd1),你需要将它设为(hd1,X)