如何缩小 SD 卡的图像以适合较小的卡?

How can I shrink an image of an SD card to fit a smaller card?

我一直在 Raspberry Pi 上慢慢构建家庭自动化框架(Python 和 SQL)。我对它非常满意,并且正在尝试将它部署到家里其他几个 Pi 上。

我已经使用 win32diskimager 创建了 SD 卡的 .img 存档并且(有几次我把东西塞满了)能够恢复到同一张卡。

问题是(仅供参考)我当前的“8GB”SD 卡是 7.88GB,但我购买的新 SD 卡是 7.86GB。图像是 7.88,所以它拒绝写入 7.86GB 卡(即使大约一半的图像只是空白 space)。

我可以调整图片大小吗?尝试在 nix 中使用 "truncate" 但(出于某种原因)重要数据存储在末尾,或者有校验和,因为砍掉几百 mb 足以破坏文件并阻止安装/写入。

也很高兴为 SD 卡克隆采用替代解决方案。我可以访问 OSX / Ubuntu / W8.1,但 Windows 是首选,因为那是我目前获得 img 的地方。

感谢任何提示!

山姆

有点晚了,但我找到了一个有效的设置:

运行树莓派里面的SD卡并使用

sudo apt-get install -y gparted
sudo gparted

编辑分区。查找主分区,将其卸载并将其调整为所需大小。我还没有确认它是否重要,但我确保相关数据在“左边”,未分配的数据在右边。

这里有更详细的操作指南: https://learn.adafruit.com/resizing-raspberry-pi-boot-partition/edit-partitions

如果您出于某种原因无法执行此操作,另一种方法是使用新安装的 say Raspbian lite 设置新的 SD 卡并删除扩展到剩余 space 的选项cmdline.txt 中的 SD 卡(在我的例子中,这是列表中的最后一个选项)在 运行 Raspberry pi 中的新安装之前。然后您可以在较小的分区内按照您喜欢的方式设置 Pi。

缩小所需的分区后,您可以轻松制作小映像: 在 Windows 中,您可以使用 Win32DiskImager 制作映像,同时确保选中“Read Only Allocated Partitions”,为您提供一个省略了未分配数据的映像。