必要条件:
使用系统centos8以上
内核版本4.18以上
[root@node0 ~]# uname -a
Linux node0 4.18.0-372.9.1.el8.x86_64 #1 SMP Tue May 10 08:57:35 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@node0 ~]# cat /etc/redhat-release
AlmaLinux release 8.6 (Sky Tiger)
安装qemu
编辑过程
#1.新建目录
mkdir -p /iso
#2.使用qemu-nbd 挂载要编辑的镜像到指定的nbd的设备
##查看当前的nbd设备
[root@node0 ~]# ls /dev/n
nbd0 nbd1 nbd10 nbd11 nbd12 nbd13 nbd14 nbd15 nbd2 nbd3 nbd4 nbd5 nbd6 nbd7 nbd8 nbd9 net/ ng0n1 null nvme0 nvme0n1 nvram
##挂载镜像
/usr/local/qemu-4.2.0/bin/qemu-nbd -c /dev/nbd0 CentOS-6-x86_64-GenericCloud-1608.qcow2
#3将挂载的镜像手动mount
mount /dev/nbd0 /iso
chroot /iso
#然后就可以进行编辑操作了
#4 编辑完成后,卸载挂载的镜像
exit
umout -l /iso
/usr/local/qemu-4.2.0/bin/qemu-nbd -d /dev/nbd0
需要注意的一点是,因为系统的差异, 部分指令可能没有加载到系统路径下,需要使用绝对路径进行执行
例如centos6 挂载过来之后找不到ln 命令,需要使用/bin/ln 进行操作