如何提取qcow2虚拟磁盘镜像并转换为raw格式导出到外接硬盘查看文件结构
qcow2虚拟磁盘镜像转raw格式并导出查看文件结构操作指南
前置准备
- 提前安装qemu-img工具:
- Debian/Ubuntu 系执行:
apt install qemu-utils - CentOS/RHEL 系执行:
yum install qemu-img - Windows 系统可直接安装QEMU官方客户端,将执行路径添加到系统环境变量即可
- Debian/Ubuntu 系执行:
- 确认待转换的qcow2镜像未被运行中的虚拟机占用,避免转换后的数据损坏
第一步:转换qcow2为raw格式
执行转换命令,基础用法:qemu-img convert -f qcow2 -O raw <源qcow2文件路径> <输出raw文件路径>
参数说明:
-f qcow2:指定源镜像的格式为qcow2-O raw:指定输出镜像的格式为raw- 如需查看转换进度,可添加
-p参数:qemu-img convert -p -f qcow2 -O raw 源文件.qcow2 输出文件.raw
第二步:导出到外接硬盘
两种导出方案按需选择:
方案1:直接将raw文件存储到外接硬盘
转换时直接把输出路径指定为外接硬盘的挂载路径即可,以Linux系统外接硬盘挂载到/mnt/usb为例:qemu-img convert -p -f qcow2 -O raw ~/虚拟机镜像/test.qcow2 /mnt/usb/test.raw
方案2:将镜像直接写入外接硬盘块设备(可直接作为普通硬盘读取)
警告:该操作会清空外接硬盘的所有原有数据,操作前请确认设备路径完全正确,避免误操作导致数据丢失
- 先查询外接硬盘的块设备路径,通常为
/dev/sdb、/dev/sdc这类路径,可通过lsblk命令确认 - 执行写入命令:
qemu-img convert -p -f qcow2 -O raw ~/虚拟机镜像/test.qcow2 /dev/sdb
第三步:查看镜像内的文件结构
若使用方案1(raw文件存放在外接硬盘)
- Linux系统:
- 先查询raw镜像的分区偏移量,执行
fdisk -l /mnt/usb/test.raw,记录目标分区的Start值(起始扇区) - 计算偏移量=起始扇区*512,比如起始扇区为2048,偏移量就是
2048*512=1048576 - 执行挂载命令:
mount -o offset=1048576 /mnt/usb/test.raw /mnt/img(/mnt/img需提前创建) - 进入
/mnt/img目录即可查看完整的文件和文件夹结构
- 先查询raw镜像的分区偏移量,执行
- Windows系统:可直接用DiskInternals Linux Reader、7-Zip等工具打开raw文件直接读取内容
若使用方案2(镜像写入外接硬盘)
直接重新插拔外接硬盘,系统会自动识别硬盘内的分区并挂载,打开对应分区即可查看文件结构。
注意事项
- 如果镜像内包含加密分区,挂载/读取时需要输入对应解密密钥才能正常访问内容
- 大体积镜像转换耗时较长,建议操作前确认设备剩余存储空间充足
内容的提问来源于stack exchange,提问作者Brandon Thomason
相关产品推荐
相关产品推荐

