方式一: 创建一个新的镜像,然后复制内容
1. 新建一个镜像文件new.img
- dd if=/dev/zero of=new.img bs=1M count=4096
2. 分别创建新旧镜像文件的挂载点
- mkdir oldmnt
- mkdir newmnt
3. 分别将新旧镜像文件与loop设备相关联
- losetup /dev/loop0 old.img losetup /dev/loop1 new.img
4. 创建新镜像的文件系统
- mke2fs -j /dev/loop1
5. 挂载镜像
- mount /dev/loop0 oldmnt
- mount /dev/loop1 newmnt
6. 将数据填充到新镜像中
- (cd oldmnt; tar czf - .) | (cd newmnt; tar xzf -)
7. 卸载文件系统及释放loop设备
- umount /dev/loop0
- umount /dev/loop1
- losetup -d /dev/loop0 losetup -d /dev/loop1
方式二 直接修改镜像大小
- $ sudo fsck.ext3 -f IMAGE
- $ sudo resize2fs IMAGE SIZE
其中,SIZE是镜像文件空间大小,以GB为单位。