KVM 虚拟机镜像修复流程(guestfish 操作)

📌 场景说明

适用于以下问题:

  • 虚拟机开机失败,无法通过 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

如需制作为脚本或系统化批量工具,请联系后续支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值