我正在尝试使用以下任一方法克隆多个分区克隆兹拉或者dd
不克隆整个驱动器,其包括:
- 启动分区
- 家庭分区
下面显示的是 128GB SSD 上的原始安装,我已成功将其克隆到更大的 250GB。这作为备份,我稍后会尝试调整大小并缩小。
下面是操作系统工作克隆的照片,在使用 Gparted 调整大小后,现在总大小约为 41GB。
我曾尝试将这些分区克隆到我的 64GB USB 磁盘作为可用的便携式备份,但遇到了一些问题。
我曾尝试使用:
sudo -s
dd if=/dev/sdb of=/dev/sdc & pid=$!
while kill -USR1 $pid; do sleep 1; done
这种逐位克隆方法试图复制输入驱动器上未分配的空间,这显然行不通,因为输出磁盘要小得多。在第二次尝试中,我能够在目标磁盘上创建一个与源大小匹配的分区表。然后我尝试使用启动修复,结果此输出
转到克隆兹拉选项;通常disk to disk
我的选择是 a,但由于目标驱动器小于源驱动器,克隆兹拉不会允许这样做。
我确实看到了复制的选项一使用该选项一次可以复制一个分区disk to disk
,但我不知道如何一次性复制所有三个分区。我知道有一个选项可以保存为,image
但我希望 USB可启动。
我能想到的一种方法是制作我想要克隆的分区的映像disk to image
,然后稍后将该映像还原到 64GB USB 磁盘,但尝试此方法后,我遇到了更多错误。
制作图像后,/dev/sdb/
我尝试恢复文件,但出现以下错误/dev/sdb2/
:
(/dev/sdb
是本次会议的目标)
所以也许我的图像没问题,但它没有被正确读取,/dev/sdb2/
所以我再次用 Gparted 检查它并看到以下内容:
我使用 Synaptic Package Manager 进行了检查,发现我已经安装了 e2fsprogs v1.42.9-3。因此我阅读了一些资料,并尝试了以下对其他人有效的解决方案:
sudo fsck.ext4 -f /dev/sda6
sudo touch /forcefsck
Sudo reboot
这似乎暂时有效,因为在重新启动一两次后,问题仍然存在。我现在假设在device to image
Clonezilla 的过程中我的分区/dev/sd2/
没有被正确读取,因为我甚至无法在 Nautilus 或 Gparted 中访问此分区。我想这可能是由驱动器大小调整引起的,但不能确定,因为它仍然允许我启动到此安装。
我认为我实际上可以将这两个分区克隆到映像中,然后恢复它们,但我需要解决这个问题:
ext4 文件系统支持需要以下软件包列表:e2fsprogs v1.41+。
这可能是由于重新调整分区大小造成的吗?如果是这样,如果无法读取,我怎么能够启动此安装?
答案1
仅指dd
从磁盘起始处到最后一个分区结束处的磁盘部分。
在您的情况下,最后一个分区是/dev/sdb3
,因此:
- 使用(列)查找
/dev/sdb3
的结束;sudo fdisk -l /dev/sdb
End
dd
从磁盘开头到结尾的驱动器部分/dev/sdb3
(我们假设结尾/dev/sdb3
位于字节 50000000000,并且/dev/sdc
为了便于举例,目标驱动器为):sudo dd if=/dev/sdb | head -c 50000000000 | sudo tee /dev/sdc
答案2
我能够通过以下步骤克隆到较小的驱动器:
在执行此操作之前,我通过在目标磁盘上创建源分区表的副本来准备目标磁盘,如 Malte Skoruppa 所述这里。(本质上,您在克隆之前在目标驱动器上创建相同大小的分区)。我为此使用了 Gparted。
克隆的方法是插入一个具有我原始安装的工作克隆的外部驱动器,然后使用以下命令复制它:
sudo -s dd if=/dev/sda1 of=/dev/sdb1 & pid=$! while kill -USR1 $pid; do sleep 1; done
dd if=/dev/sda2 of=/dev/sdb2 & pid=$! while kill -USR1 $pid; do sleep 1; done
(这将为您提供数据被复制时的输出)
接下来是重新安装 GRUB,它也需要配置,所以我启动了BOOT 修复 LIVE修复 GRUB。我选择了 ADVANCED 模式来重新安装 GRUB 并清除旧版本。
另请参阅我的帖子这里 因此,在众多 Ubuntu 专家的帮助下,我能够完成克隆到较小驱动器的操作。感谢所有做出贡献的人。