📌 场景说明
适用于以下问题:
-
虚拟机开机失败,无法通过 virsh console 正常进入系统
-
/etc/fstab UUID 配置错误,导致系统挂载失败
-
想离线修改虚拟机镜像中的配置文件
🛠 使用工具
-
guestfish:libguestfs 提供的交互式工具,可直接操作虚拟机镜像文件系统 -
镜像格式:qcow2
🧵 操作流程
1. 启动 guestfish
guestfish -a A4-devops-harbor-inside.qcow2
2. 初始化镜像(挂载前必须 run)
><fs> run
3. 查看文件系统分区
><fs> list-filesystems
# 输出示例:
# /dev/sda1: unknown
# /dev/sda2: vfat
# /dev/sda3: ext4
4. 挂载根分区(一般是 ext4 的那个)
><fs> mount /dev/sda3 /
5. 编辑 fstab 等配置文件
><fs> vi /etc/fstab
# 例如:修正 UUID 或改为 /dev/sdaX
6. 退出并保存修改
><fs> exit
7. 验证修改(可选)
# 挂载检查修改内容是否生效
guestmount -a A4-devops-harbor-inside.qcow2 -i /mnt
cat /mnt/etc/fstab
umount /mnt
✅ 常见修复建议
-
保证
/etc/fstab中 UUID 与实际磁盘分区一致 -
如果打算用 virsh console 登录,GRUB 启动参数要带上:
console=ttyS0 -
如果 vmlinuz 路径或 initramfs 有问题,可挂载后修复内核软链接或重建 initramfs
📂 分类归属
此操作属于:
KVM 虚拟化平台
├── 镜像管理
├── 故障排查
└── 镜像文件系统修复(guestfish)
文档作者:你当前操作环境 整理时间:2025-04-09
如需制作为脚本或系统化批量工具,请联系后续支持。
120

被折叠的 条评论
为什么被折叠?



