如何将整个Ubuntu系统移动(复制)到另一个硬盘?

我安装了Ubuntu的硬盘即将发生故障。 我宁愿不失去3年的数据,定制和应用程序。 我正在寻找一种方法来移动整个系统(包括SWAP,因为我不确定我是否可以将系统重新连接到新的SWAP分区)到另一个HDD。 但不是完整的HDD <只包含Ubuntu的分区,而是另一个硬盘上的分区。 基本上我想做我能用Norton Ghost做我的Windows安装。 我想过使用Clonezilla,但我想我会遇到GRUB问题(特别是尝试从不同于conf文件的UUID启动)。 你知道怎么办?

PS,我的主目录是加密的,但这不是一个问题,因为我可以解决这个问题。

编辑:改变了解释,使其更清晰

我实际上最终使用Live CD中的Gparted。 我复制了分区并将其粘贴到另一个硬盘上的未分配空间中。 然后我使用blkid检查UUID并编辑了fstab文件。 像魅力一样工作!

好吧,我刚用过usb stick + ubuntu live。

我正在将ubuntu 13.10从较大的hdd转移到较小的sdd,而clonezilla“说”由于目标分区小于源分区,所以不能这样做。

所以我开始ubuntu直播,安装了两个hdd(新磁盘,当然早先分区,不要忘记交换;)),只是:

cd /media/ubuntu/old-hdd-uuid/ 

然后:

 sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/ 

上面你可以看到它只是将所有目录从一个硬盘复制到另一个硬盘,递归地保留所有权限和内容。

 cd /media/ubuntu/new-hdd-uuid/ 

然后我不得不在新磁盘的根目录中创建两个符号链接:

 sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img 

下一步是安装grub,所以:

 sudo grub-install --boot-directory=boot/ /dev/sdxy 

其中x – 设备,y – 分区号(如果不确定使用cfdisk或fdisk打印分区表…)

最后一步是,将旧硬盘的uuid从旧硬盘更改为uuid(这是欺骗grub配置,fstab或其他没有搜索和修复配置的最简单方法)

 sudo tune2fs /dev/sdxy -U OLD-UUID 

设备重新安装后将显示新的UUID。 所以现在重新启动,如果一切正常,你的ubuntu应该开始……

你可以使用dd来做到这一点。 有关完整信息,请查看该站点。

使用Ubuntu Live CD克隆硬盘

警告 dd是一个非常强大的低级工具,甚至一个小错字就足以消灭整个磁盘。 请谨慎使用,尽可能使用更高级别的工具。
另请注意,此方法仅在目标磁盘大小相同或更大时才有效


克隆硬盘驱动器是一项常见的维护任务。 不要费心刻录新的启动CD或支付新软件 – 您可以使用Ubuntu Live CD轻松完成。

您不仅可以使用Ubuntu Live CD执行此操作,而且可以立即执行此操作 – 无需其他软件! 我们将使用的程序称为dd,它几乎包含在所有Linux发行版中。 dd是一个用于执行低级复制的实用程序 – 它不是处理文件,而是直接处理存储设备上的原始数据。

您还可以使用:

Clonezilla,一款免费的硬盘克隆软件。 Clonezilla从live CD运行,并具有简单的用户界面。 当然,你仍然需要知道自己在做什么,但是这个工具可以通过逐步细分来极大地简化你的工作。

你可以在这里下载Clonezilla

警告确保在开始之前查看Clonzilla的限制。

您还提到您已经使用Ghost for Windows,您也可以使用Ghost for Linux 。

资料来源: http : //www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

资料来源: http : //www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/

几年前我成功使用这个工具来“克隆”我的分区: G4L 。 一切都适用于一些安装后的更正,例如调整分区大小(我克隆了不同大小的HD分区)和grub重新安装(这很简单,你只需要一张Live CD就可以在MBR中重新安装)。

您可以安全地忽略您的交换分区(您将能够在第二次重新开始它)或克隆它并稍后激活它,手动编辑/etc/fstab或从命令行。

在过去的几周里,我再次使用clonezilla进行克隆,并且一切顺利,使用相同的克隆后修正。 所以不要担心并试一试,原始高清上的任何内容都不会被触及!

编辑:

我找到了一封旧邮件,我描述了第一个克隆过程。 我的行动如下:

  • 分区我的新高清通过USB连接完全与旧的高清连接
  • 使用G4L以原始模式克隆分区
  • 使用Live CD启动并使用resize2fs调整分区大小
  • 断开HD与USB的连接并安装在SATA / PATA上。
  • 使用Live CD再次启动并安装新磁盘:

     mkdir disk mount /dev/sda1 disk (where sda1 contains boot and root partitions) mount /dev/sda2 disk/boot (if you have a different boot partition) mount --bind /dev/ disk/dev/ mount -t proc none disk/proc chroot disk /bin/bash grub-install /dev/sda (to install GRUB on sda MBR) 
  • 重启,检查交换

  • 请享用

@boywithaxe – 关于你对Mitch 答案的评论你可以通过dd if=/dev/sdb3 of=/dev/sda3复制相关的分区。 这实际上是最容易的部分。 最棘手的部分是你还必须安装新复制的分区,以及其他几个分区并安装grub( grub-install /dev/sda )( 在重启之前添加一个交换分区(如果你是克隆可引导分区))。 使用此方法也无需resize2fs

我自己必须这样做,并且在Ubuntu 14.04(非RAID)和jasmines 回答 Windows升级后使用了Boot修复的组合。

所以,从liveCD启动后:

 dd if=/dev/sdb3 of=/dev/sda3 

完成后,那么

 sudo mount /dev/sda3 /mnt 

其中sda3包含最近复制的引导和根分区)

 sudo mount --bind /dev/ /mnt/dev/ sudo mount -t /proc none /mnt/proc sudo chroot /mnt sudo grub-install /dev/sda 

注意这是sda而不是sda3

 update-grub exit