Friday 31 May 2019

linux - Is it possible to resize a QEMU disk image?


Like the title says: Is it possible to resize a QEMU disk image in Linux? And if so, what happens to the partitions within it? Are they automatically resized as well (doubtful) or is there just a new block of unused space following them?



Answer



From here:



!!! Back up your disk image before trying the below !!!


If you are using a sparse raw image, then do


dd if=/dev/zero of=hdd.img seek=N obs=1MB count=0"

where hdd.img is the raw format image that you want to resize and N is the new size that you want the image to be, in megabytes. To change the units of N, change obs to something else such as 1GB for units in gigabytes (1000x1000x1000).


If you want to resize a raw image but you do not want it to become sparse (you actually want those zeros in the file) then do "dd if=/dev/zero of=image seek=S count=N-S obs=1" instead, where N is the new size and S is the old size (in bytes).


If you want to resize a qcow2 image, this is not yet supported.


this email shows some experimenting with resizing qcow images with a hex editor.


Resizing or growing images in other formats (VMware, Bochs, cow, or cloop) is not supported to the best of my knowledge.


On a Windows host it is possible to resize a raw format disk image using the 'copy' command. You can use qemu-img to convert your existing image to raw format if need be. We will use a temporary raw format disk image that will be appended on to the end of your existing raw format disk image. The size of this temporary image is the size the existing image will be expanded by:


qemu-img create -f raw temp.img 300M

You should then issue the below command - orig.img is your existing raw format image that you want to make larger, temp.img is the temporary image file created earlier, and new.img is the resized resultant image:


copy /b orig.img+temp.img new.img

You will then need to repartition and resize the existing partition(s) and filesystem(s) on the new image. One method of doing this is to boot gparted in QEMU with the gparted livecd iso and the new disk image.





Other links you might want to check out if the above doesn't work:



http://qemu-forum.ipi.fi/viewtopic.php?p=12362
http://kev.coolcavemen.com/2007/04/how-to-grow-any-qemu-system-image/
http://bryan-murdock.blogspot.com/2007/12/resize-qemukvm-windows-disk-image.html
http://www.larsen-b.com/Article/329.html
http://www.brabbel.net/wp/archives/174



No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...