zoukankan      html  css  js  c++  java
  • Ubuntu命令行下缩小磁盘镜像img文件尺寸

    要解决的问题

    一个固件包里的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
    
  • 相关阅读:
    简时——Beta冲刺 Day04
    简时——Beta冲刺 Day03
    简时——Beta冲刺 Day02
    SE_WorkX_提问回顾与个人总结
    通过SQL注入获得网站后台用户密码
    缓冲区溢出攻击与防范
    Pytorch_Part7_模型使用
    Pytorch_Part5_迭代训练
    Pytorch_Part2_数据模块
    Pytorch_Part1_简介&张量
  • 原文地址:https://www.cnblogs.com/milton/p/12074890.html
Copyright © 2011-2022 走看看