Loading... 一、 修改镜像内容步骤 ```shell 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.另外一种挂载到宿主机目录方式 ```shell guestmount -a qcow2 -m 分区 /宿主机目录 #镜像文件绝对路径 (例子:guestmount -a /home/kvm/images/CentOS-7.8.2003-x64.qcow2 -m /dev/sda1 /mnt) #卸载命令 guestunmount /mnt ``` 二、 清除磁盘空洞 ```shell 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不足可以参考下面这个文章 `<div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://bk1314.com/134.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://bk1314.com/usr/themes/handsome/assets/img/sj/2.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">virt-sparsify compress压缩镜像告警tmp不足</p> <div class="inster-summary text-muted"> virt-sparsify –compress ${ori_img_path} ${dest_img_path} ... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div>` 操作完成后,可先进行重装验证是否可以正常引导启动,最后修改新qcow2镜像文件名称 三、对qcow2镜像文件进行打包压缩 ```shell 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) ``` 最后修改:2022 年 06 月 06 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏