首页 > 系统服务 > 详细

Ubuntu命令行下缩小磁盘镜像img文件尺寸

时间:2019-12-20 20:54:45      阅读:231      评论:0      收藏:0      [点我收藏+]

要解决的问题

一个固件包里的system.img, 尺寸是1GB, 里面的内容只有470MB, 在设备上写入的时候报超出大小了, 所以想把这个img调整为512MB

网上查了很多, 没有一个好用的, 最后还是通过gparted在图形界面下完成的. 记录一下过程

步骤

将img挂载到loop设备

sudo losetup -f
sudo losetup /dev/loop18 system.img.old 

用gparted对此loop设备进行修改, 注意一定要在命令行用/dev/loop18 作为参数, 否则直接启动gparted是不显示这个loop设备的

sudo gparted /dev/loop18

处理完成后, 取消loop设备挂载

sudo losetup -d /dev/loop18

.查看img里的分区情况, 进行裁剪, 这个536871424是根据这个算出来的: 原来的块数是2097152, 需要保留的块数是 2097152 / 2 + 1 = 1048577, 每块大小512, 所以 1048577 * 512 = 536871424

fdisk -lu system.img.old 
truncate --size=536871424 system.img.old 

再挂载检查是否正确

sudo losetup /dev/loop18 system.img.old 
sudo fdisk -lu /dev/loop18 
mount /dev/loop18 /mnt/mnt1/
sudo umount /mnt/mnt1
sudo losetup -d /dev/loop18

.

Gparted中操作涉及的命令行

从截图可以看到, 这些是可以通过命令行实现的,

技术分享图片

涉及的命令有:

# check file system
e2fsck -f -y -v -C 0 ‘/dev/loop18‘

# shrink file system
resize2fs -p ‘/dev/loop18‘ 524288K

 

Ubuntu命令行下缩小磁盘镜像img文件尺寸

原文:https://www.cnblogs.com/milton/p/12074890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!