闲者博客 - qcow2 https://bk1314.com/tag/qcow2/ 修改qcow2文件镜像和压缩的教程 https://bk1314.com/13.html 2022-02-23T17:09:00+08:00 一、 修改镜像内容步骤guestfish --rw -a qcow2 #镜像文件绝对路径 (例子:guestfish --rw -a /home/kvm/images/CentOS-7.8.2003-x64.qcow2) 进入后先执行run; 随后执行list-filesystems 查看分区信息; 以魔方centos7.8镜像为例,分区信息为 /dev/sda1: ext4 ,执行mount /dev/sda1 / 进行分区挂载; 接下来可以修改任意文件,例如操作ssh登录提示 vi /etc/motd 执行exit 退出 目前发现一个重点问题:在挂载xfs分区时会出现分区格式不兼容的情况。例如CentOS8官方的云镜像,默认是xfs分区格式,CentOS8与CentOS7的xfs格式不相同,会出现兼容问题 运行不成功或挂载不成功,请注意区分。1.另外一种挂载到宿主机目录方式guestmount -a qcow2 -m 分区 /宿主机目录 #镜像文件绝对路径 (例子:guestmount -a /home/kvm/images/CentOS-7.8.2003-x64.qcow2 -m /dev/sda1 /mnt) #卸载命令 guestunmount /mnt二、 清除磁盘空洞virt-sparsify -x 原qcow2镜像文件路径 --convert qcow2 新qcow2镜像文件路径 (例子:virt-sparsify -x /home/kvm/images/CentOS-7.8.2003-x64.qcow2 --convert qcow2 /home/kvm/images/tmp.qcow2)如果出错提示tmp不足可以参考下面这个文章[post cid="134" /]操作完成后,可先进行重装验证是否可以正常引导启动,最后修改新qcow2镜像文件名称三、对qcow2镜像文件进行打包压缩qemu-img convert -c -O qcow2 需要压缩的镜像文件路径 压缩后的镜像文件路径 (例子:qemu-img convert -c -O qcow2 /home/kvm/images/tmp.qcow2 /home/kvm/images/CentOS-7.8.2003-x64.qcow2)