一 如何缩小一个镜像的分区
假设有一个镜像,大小是40G
1 先用guestfish缩小镜像的文件系统
guestfish -a w2k8.img
run
ntfsresize-size /dev/vda1 29G
quit
2 使用virt-resize 缩小镜像
qemu-img create -f raw w2k8.img.29G
virt-resize --shrink /dev/vda1 w2k8.img w2k8.img.29G
二 突然不能扩展或者缩小镜像
突然不能扩展或者缩小镜像,报错如下:
Fatal error: exception Guestfs.Error("ntfsresize_opts:
通常原因是因为镜像的文件系统有错误,将镜像挂载到虚拟机上,重新运行chkdsk检查文件系统,一般可以修复。
三 ntfs分区在linux下的检查
1 安装最新的ntfs-3g
wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2012.1.15.tgz
tar -zxvf ntfs-3g_ntfsprogs-2012.1.15.tgz
cd ntfs-3g_ntfsprogs-2012.1.15
./configure --bindir=/usr/bin
make
make install
2 检查
注意这样的方式只能检查raw格式的镜像,如果是qcow2的,目前暂时还不行。
losetup /dev/loop0 /w2k8.img
kpartx -av /dev/loop0
ntfsfix -b -d /dev/mapper/loop0p1
参数 -b -d非常重要!
ntfsck /dev/mapper/loop0p1
kpartx -dv /dev/loop0
losetup -d /dev/loop0
四 如何挂载qcow2格式的镜像,一条命令搞定!
guestmount -a w2k8.qcow2 -m /dev/vda1 /mnt/win
欢迎加我微信(ID:xiaolikvm)一起交流。欢迎加入云技术社区KVM/QEMU技术交流QQ,请加QQ:502207183,注明姓名,城市,及要加入KVM群。