如何将可启动 SD 卡克隆到较小的卡上?

如何将可启动 SD 卡克隆到较小的卡上?

我有一张用于 Raspberry Pi 的 8G 可启动 SD 卡。目前我买了一张一模一样的卡,以便克隆该卡。我尝试了以下步骤:

  1. 从旧卡创建图像:

    sudo dd if=/dev/rdisk3 of=SD.img bs=1m

成功了并且输出显示:

7681+0 records in
7681+0 records out
8054112256 bytes transferred in 386.217068 secs (20853849 bytes/sec)```
  1. 将图像写入新卡:

    sudo dd if=SD.img of=/dev/rdisk3 bs=1m

这里失败了,输出显示:

dd: /dev/rdisk3: Input/output error
7581+0 records in
7580+0 records out
7948206080 bytes transferred in 568.141243 secs (13989842 bytes/sec)```

我认为问题可能是块数不同。这是否意味着这两张卡的大小不完全相同?(新卡看起来更小。)我必须多次克隆这张卡,所以我想知道如何才能使图像更小(其中有可用空间),以便我可以将它们写入其他卡,即使尺寸稍小一些?

答案1

一定要dd克隆吗?对于较小的目标驱动器来说,这并不容易(可能根本不可能)。

如何格式化新卡并将文件复制到上面?如果原来的卡未满,则可能导致写入次数减少(并且速度更快)。dd将愉快地复制未使用的空间。

parted应该能够在脚本中运行,并且可以设置可启动分区和格式等。可以查看man parted或查看gparted运行哪些命令来执行您想要的操作......然后自动执行分区、格式化、复制脚本?

或者,如果您使用gparted或类似方法将当前原始卡的分区缩小到较小的尺寸,那么图像dd可能适合稍微小一点的卡?可能必须告诉在最后一个使用的分区之后停止读取,否则它可能会继续读取到“结尾”。并且它可能会在新卡上留下一些未使用的空间。 -不过,我在将图像(尤其是实时 iso)放到闪存设备上时dd运气不佳。dd

相关内容