修复破坏的qcow2文件
1.检查是否有错误
# qemu-img check bad_file.img
2.尝试修复文件
# qemu-img check -r all bad_file.img
方法一 转换qcow2文件
1.将损坏的文件再转一次格式
# qemu-img convert -f qcow2 -O qcow2 bad_file.img restore.img
2.检查restore.img是否正常
# qemu-img check restore.img
方法二 基于损坏的文件创建一个新文件
1.创建新文件
# qemu-img create -f qcow2 -b bad_file.img restore.img
2.检查restore.img是否正常
# qemu-img check restore.img
方法三 将qcow2损坏视为具有坏块的硬盘驱动器
1.使用nbd连接损坏的文件
# qemu-nbd -c /dev/nbd10 bad_file.qcow2
2.将qcow2文件转换为raw
# ddrescue /dev/nbd10 test_file.raw
3.断开nbd连接
# qemu-nbd -d /dev/nbd0
4.将raw文件再转换为qcow2文件
# qemu-img convert -O qcow2 test_file.raw test_file.qcow2
一般可以先试试 方法 1和2,对于破坏性的操作,例如 qemu-img check -r 这种,在操作前必须得备份文件; 文件修复风险都高,一旦坏了就回不来了
网友评论