方式一: 创建一个新的镜像,然后复制内容
1. 新建一个镜像文件new.img

  1. dd if=/dev/zero of=new.img bs=1M count=4096

2. 分别创建新旧镜像文件的挂载点

  1. mkdir oldmnt
  2. mkdir newmnt

3. 分别将新旧镜像文件与loop设备相关联

  1. losetup /dev/loop0 old.img losetup /dev/loop1 new.img

4. 创建新镜像的文件系统

  1. mke2fs -j /dev/loop1

5. 挂载镜像

  1. mount /dev/loop0 oldmnt
  2. mount /dev/loop1 newmnt

6. 将数据填充到新镜像中

  1. (cd oldmnt; tar czf - .) | (cd newmnt; tar xzf -)

7. 卸载文件系统及释放loop设备

  1. umount /dev/loop0
  2. umount /dev/loop1
  3. losetup -d /dev/loop0 losetup -d /dev/loop1

方式二  直接修改镜像大小

  1. $ sudo fsck.ext3 -f IMAGE
  2. $ sudo resize2fs IMAGE SIZE

其中,SIZE是镜像文件空间大小,以GB为单位。