guestmount:修改 qcow2 镜像内容
1. 环境准备
(1) 下载 CentOS 镜像
- 官方镜像源:CentOS 7.6.1810 x86_64
(2) 验证虚拟化支持
1 | # 检查 Intel CPU 虚拟化支持 |
示例输出:
1 | flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 |
(3) 安装必要工具
1 | # 安装 EPEL 仓库和 QEMU |
2. 创建和准备镜像
(1) 创建 qcow2 磁盘镜像
1 | qemu-img create -f qcow2 centos7.qcow2 10G |
(2) 查看镜像分区信息
1 | virt-filesystems -a centos7.qcow2 |
示例输出:
1 | /dev/sda1 |
3. 挂载并修改镜像
(1) 挂载镜像分区
1 | # 切换到 root 用户 |
(2) 进行修改操作
1 | # 进入挂载点 |
(3) 解决挂载问题
常见错误处理:
1 | # 错误示例:未知文件系统类型 |
4. 卸载镜像
1 | # 确保所有操作已完成 |
关键注意事项
权限要求:
- 所有
guestmount操作需要 root 权限 - 普通用户使用时需加
sudo
- 所有
分区选择:
- 使用
virt-filesystems -a <image>查看可用分区 - 通常系统根分区为
/dev/sda2或/dev/sda3
- 使用
文件系统类型:
- 如挂载失败,可尝试指定文件系统类型:
1
guestmount -a centos7.qcow2 -m /dev/sda2:/:fs-type=xfs /mnt
- 如挂载失败,可尝试指定文件系统类型:
安全卸载:
- 修改后务必使用
guestunmount而非常规umount - 强制卸载可能导致镜像损坏
- 修改后务必使用
镜像验证:
- 修改后建议启动虚拟机验证更改是否生效:
1
qemu-kvm -hda centos7.qcow2 -m 2048
- 修改后建议启动虚拟机验证更改是否生效: