将单个分区克隆到空磁盘

将单个分区克隆到空磁盘

我想将当前硬盘上的单个分区克隆到更新、更大的 SSHD 上。我想克隆的分区运行的是 Linux Mint 17.1。使用可启动的 Clonezilla USB,我能够将整个旧磁盘克隆到新磁盘,但 Mint 分区前面有一个大而混乱的 Windows 8.1 分区。但是,Windows 8.1 分区在硬盘上出现故障,因此我只想保留 Mint 分区。

我可以使用 Clonezilla、GParted、dd 或它们的某种组合来做到这一点吗?

答案1

不知道 sshd 是什么(与存储相关)...你是指 SSD 吗?

有 50 多种不同的方法可以做到这一点。

  • 救援
  • 部分图像
  • 克隆
  • 档案归档
  • 分区
  • 同步
  • 任何正常的备份/恢复

因此,最好的答案取决于你对上述命令的熟练程度,以及你修改 /etc/fstab 的能力。恢复到新磁盘已完成。如果您熟悉 fstab、grub-install、update-grub 和 blkid,则这些工具中的任何一个都很简单。

无论如何,任何这些工具的手册页都解释了如何使用它们。另外,不要忘记在目标磁盘上创建用于交换的分区。如果您的情况允许,使用 GPT(而不是 MBR)格式是明智之举。如果新系统上没有涉及任何 Windows,那就去做吧 - 使用 GPT 并感到高兴。Windows 仅在 UEFI 启动和 64 位操作系统时才允许使用 GPT。

当然,我们必须在这里对您的设置做出数百个假设 - 如果您使用 LVM、加密或任何奇怪的东西(例如从 xfs 或 zfs 分区启动),那么所有的赌注都将失效。

要获得更准确的建议,请发布输出sudo parted -l请。运行时将两个磁盘都连接起来。

一般步骤如下:

  • 从 liveCD(disto 或救援磁盘)启动
  • 在新磁盘上创建分区表(建议使用 GPT)
  • 在磁盘上创建所需的分区

    • /启动
    • /
    • /家
    • 其他.... /var /opt,....
    • 交换
  • 根据需要调整每个分区的大小,但要明智。另外,留出一些剩余空间也是明智之举,以后可以将其添加到需要的分区中。
  • 使用列出的工具来复制数据...我可能会使用 ddrescue。 sudo ddrescue 源 目标 为两侧使用分区设备。例如 /dev/sda20 /dev/sdb34(这些并不适合你的情况)
  • 将新磁盘安装到临时位置 - /mnt 即可
  • 编辑 /mnt/etc/fstab,使用分区路径、LABEL 或 UUID 将分区指向正确的位置
  • 在新磁盘上安装 grub - 有很多相关操作指南(应该包括 chroot cmd 并且可能包括多个 mount 命令)
  • 重新启动——在第二次启动之前断开 liveCD 的连接即可。

再次,如果您需要更多详细的帮助,请发布所请求的 cmd 的输出。

顺便说一句 - 您可以安全地删除 Windows 分区,前提是旧磁盘仍留在计算机中。这还不清楚。

答案2

您需要挂载两个分区,例如 /old 和 /new。然后使用 rsync 实用程序:

rsync -aruv /old/* /new/

如果旧分区是你的根系统,你将需要不是复制某些目录的内容。只需排除它们即可,例如:

rsync -aruv /* /new/ --exclude=/dev/* --exclude=/proc/* --exclude=/run/* --exclude=/sys/* --exclude=/tmp/* --exclude=/new

不要忘记最后一个!(去过那里,做过那事。;-))。

高血压

答案3

例如你想克隆/dev/sda1ext (linux) 分区到/dev/sdb磁盘。

首次安装分区救援

然后使用分区创造/dev/sdb1大小相同的分区/dev/sda1或更大。

然后在终端中使用以下命令克隆分区并扩展文件系统:

sudo ddrescue -B -v -d -n --force /dev/sda1 /dev/sdb1 ~/ddrescue_clone_sda1-sdb1.log
sudo ddrescue -B -v -d -r 2 --force /dev/sda1 /dev/sdb1 ~/ddrescue_clone_sda1-sdb1.log
sudo e2fsck -f -y -v -C 0 /dev/sdb1
sudo resize2fs -p /dev/sdb1

命令解释:

  1. 克隆分区而无需重试读取坏块
  2. 如果第一个命令读取时出现错误(坏块)(参见日志文件),这个命令将会尝试再读取两次。
  3. 检查克隆分区上的文件系统。
  4. 将文件系统扩大到分区大小。

别忘了,如果你克隆启动分区,你需要设置引导标志克隆后。并安装蛴螬

您可以设置引导标志为了/dev/sdb1分区

安装蛴螬在新的/dev/sdb磁盘运行以下命令:

sudo mount /dev/sdb1 /mnt
sudo grub-install --root-directory=/mnt /dev/sdb
sudo umount /mnt

答案4

我使用上面的 -icds 并保留默认的 -r resize 使其工作,但我确实必须首先在目标驱动器上创建分区(第一个是 FAT32),大小大致与源分区相同,并且在 clonezilla 专家模式下出现上述设置,还有一个分区设置,用于不覆盖目标分区表......等等......我选择按比例调整分区表大小。这样,我就绕过了 OP 消息。多年来一直在使用 CZ 并推荐它,但我从来不知道这些技巧。期待更多的计算机兔子洞地狱,它像源一样直接启动。有时你必须在这些事情中获胜。这应该不重要,但源机器和目标机器是 Ryzen 5 CPU 并且型号和品牌相同。即使我在目标驱动器上只创建了 4 个分区,它也正确地写入了 5 个分区。所以现在我不确定我是否尝试在单个或没有分区目标上使用比例分区表选项执行此操作。

相关内容