This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
computing:virtmanagerhell [2021/10/30 00:19] – oemb1905 | computing:virtmanagerhell [2022/08/08 06:41] – oemb1905 | ||
---|---|---|---|
Line 60: | Line 60: | ||
At this point, I would probably reboot and then from within the VM, ping 8.8.8.8, and then ping google.com to ensure you have link and upstream DNS. Everything should be rosy ;> | At this point, I would probably reboot and then from within the VM, ping 8.8.8.8, and then ping google.com to ensure you have link and upstream DNS. Everything should be rosy ;> | ||
+ | |||
+ | -- Below, are notes from when I shrunk an .img file / expanded an .img file (cannot remember lol) -- | ||
+ | |||
+ | Resize an .img with virt-manager, | ||
+ | | ||
+ | sudo apt install libguestfs-tools | ||
+ | | ||
+ | After that, confirm the location of your virtual machine. | ||
+ | | ||
+ | virsh dumpxml putnameofimagehere | xpath -e / | ||
+ | |||
+ | Navigate to the directory it spit out, and back up the image and rename it before you proceed: | ||
+ | |||
+ | cd / | ||
+ | sudo cp / | ||
+ | |||
+ | Once you know the name of the .img file and the location of it, prepare the virtual file systems for expansion: | ||
+ | |||
+ | virt-filesystems --long --parts --blkdevs -h -a / | ||
+ | | ||
+ | Build a new, larger, container for the final disk, and set it aside for the merge/ | ||
+ | |||
+ | truncate -s 128G / | ||
+ | |||
+ | Now it is time to resize the existing image, using the container you just created: | ||
+ | |||
+ | virt-resize --expand /dev/sda2 / | ||
+ | | ||
+ | Okay, now we need to rename the new image we created to the name that virt-manager is looking for, i.e., the name of the original image. | ||
+ | |||
+ | cp / | ||
+ | mv / | ||
- | --- // | + | Made yet another attempt to do by command line in 2022. Install packages required for resizing virtual hard disks and for listing partitions inside virtual hard disks. |
+ | |||
+ | apt install qemu-img kpartx | ||
+ | |||
+ | Add 50G of size to the emulated physical hard disk. This is not to be confused with adding space to, or extending, the partition inside it. | ||
+ | |||
+ | qemu-img resize debian10.img +50G | ||
+ | |||
+ | Mount the image file in the present directory, and show all of its mappings. | ||
+ | |||
+ | kpartx -v -a debian10.img | ||
+ | |||
+ | Now, it is time to extend the partition. Your loops might have different #s after, use tab to find the right one (prolly largest #). | ||
+ | |||
+ | parted /dev/loopXX print | ||
+ | |||
+ | You will get output like this: | ||
+ | |||
+ | Model: Unknown (unknown) | ||
+ | Disk / | ||
+ | Sector size (logical/ | ||
+ | Partition Table: loop | ||
+ | Disk Flags: | ||
+ | Number | ||
+ | | ||
+ | |||
+ | Remove the appropriate mapping. In my case, I am extending the boot volume of a virtual machine, so it was entry 1. | ||
+ | |||
+ | parted /dev/loopXX rm 1 | ||
+ | |||
+ | Extend the partition from the start of the mapping you removed to the upper size limit listed in Disk. | ||
+ | |||
+ | parted /dev/loopXX mkpart primary ext4 0.00B 142GB | ||
+ | |||
+ | Verify the new mapping. | ||
+ | |||
+ | parted /dev/loopXX print | ||
+ | |||
+ | Run fsck before resizing the file system. You here appending " | ||
+ | |||
+ | e2fsck -f / | ||
+ | |||
+ | Extend the file system inside the partition to the entirety of the partition table. | ||
+ | |||
+ | resize2fs / | ||
+ | |||
+ | Unmount the image | ||
+ | |||
+ | kpartx -d debian10.img | ||
+ | |||
+ | After messing around with this, and succeeding 1 time in resizing the drive this way, I decided that just issuing '' | ||
+ | |||
+ | --- // |