Tuesday, July 08, 2008

重新调整 qemu 镜像文件大小一法

qemu 的镜像文件格式 raw, qcow2 采用了文件系统的打孔技术,镜像文件实际大小同实际写入的数据扇节相关。因为担心硬盘空间不足,之前创建的镜像文件仅为 2G,现在看来完全没有必要,尝试重新调整到 10G。

qemu 没有提供调整硬盘镜像文件的工具,google "qemu disk resize" 说法各异。我的 guest 文件系统为 NTFS,按照此法调整成功,记录一下:

转换为 raw 格式

$qemu-img convert hda.qcow2 -O raw hda.raw

增大raw镜像文件到 10G

$dd if=/dev/zero of=hda.raw seek=10 obs=1GB count=0

修正 NTFS BPB

$hexedit hda.raw

转到 7E00: 7E00
替换 7E1A 的 80 为 FF
保存退出:Ctrl-x --> y

gparted livecd 启动 guest 重新调整 NTFS 分区大小

$kvm -hda hda.raw -cdrom gparted-livecd-0.3.4-11.iso -boot d

重启 windows,windows 将进入自检

 
$qemu hda system.raw

重新转换为 qcow2 格式

$qemu-img convert hda.raw -O qcow2 hda.qcow2

No comments:

Post a Comment