解决了最小镜像的制作问题以后,就发现手里已经积攒了不少用Win32DiskImager制作的完整sd卡镜像。虽然压缩过了以后很小,但是在恢复镜像时32G大小的写入速度简直慢到龟速,所以我通过Ubuntu来裁剪一下完整的sd卡镜像。
首先,准备镜像与系统。我用的是Ubuntu 14。
然后安装必要的软件
sudo apt-get install dosfstools dump parted kpartx
一、挂载img
在系统中将镜像挂载到loop设备中
sudo losetup /dev/loop0 shumeipai.img
二、挂载boot分区与root分区
创建img_temp文件夹将镜像文件挂载到该文件夹
mkdir -p img_temp/boot/
mkdir -p img_temp/root/
sudo kpartx -av /dev/loop0
这时候可以看到镜像的分区这时候我们需要将boot与root加载到临时文件夹中。
boot分区的结尾为12880,root分区为磁盘结尾。
#loop0p6、loop0p7根据实际情况修改
boot="/dev/mapper/loop0p6"
root="/dev/mapper/loop0p7"
sudo mount $boot img_temp/boot/