1virt-resize(1)              Virtualization Support              virt-resize(1)
2
3
4

NAME

6       virt-resize - Resize a virtual machine disk
7

SYNOPSIS

9        virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]
10          [--expand /dev/sdaN] [--shrink /dev/sdaN]
11          [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk
12

DESCRIPTION

14       Virt-resize is a tool which can resize a virtual machine disk, making
15       it larger or smaller overall, and resizing or deleting any partitions
16       contained within.
17
18       Virt-resize cannot resize disk images in-place.  Virt-resize should not
19       be used on live virtual machines - for consistent results, shut the
20       virtual machine down before resizing it.
21
22       If you are not familiar with the associated tools: virt-filesystems(1)
23       and virt-df(1), we recommend you go and read those manual pages first.
24

EXAMPLES

26       1.  This example takes "olddisk" and resizes it into "newdisk",
27           extending one of the guest’s partitions to fill the extra 5GB of
28           space:
29
30            virt-filesystems --long -h --all -a olddisk
31
32            truncate -r olddisk newdisk
33            truncate -s +5G newdisk
34
35            # Note "/dev/sda2" is a partition inside the "olddisk" file.
36            virt-resize --expand /dev/sda2 olddisk newdisk
37
38       2.  As above, but make the /boot partition 200MB bigger, while giving
39           the remaining space to /dev/sda2:
40
41            virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
42              olddisk newdisk
43
44       3.  As in the first example, but expand a logical volume as the final
45           step.  This is what you would typically use for Linux guests that
46           use LVM:
47
48            virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \
49              olddisk newdisk
50
51       4.  As in the first example, but the output format will be qcow2
52           instead of a raw disk:
53
54            qemu-img create -f qcow2 -o preallocation=metadata newdisk.qcow2 15G
55            virt-resize --expand /dev/sda2 olddisk newdisk.qcow2
56

DETAILED USAGE

58   EXPANDING A VIRTUAL MACHINE DISK
59       1. Shut down the virtual machine
60       2. Locate input disk image
61           Locate the input disk image (ie. the file or device on the host
62           containing the guest’s disk).  If the guest is managed by libvirt,
63           you can use "virsh dumpxml" like this to find the disk image name:
64
65            # virsh dumpxml guestname | xpath /domain/devices/disk/source
66            Found 1 nodes:
67            -- NODE --
68            <source dev="/dev/vg/lv_guest" />
69
70       3. Look at current sizing
71           Use virt-filesystems(1) to display the current partitions and
72           sizes:
73
74            # virt-filesystems --long --parts --blkdevs -h -a /dev/vg/lv_guest
75            Name       Type       Size  Parent
76            /dev/sda1  partition  101M  /dev/sda
77            /dev/sda2  partition  7.9G  /dev/sda
78            /dev/sda   device     8.0G  -
79
80           (This example is a virtual machine with an 8 GB disk which we would
81           like to expand up to 10 GB).
82
83       4. Create output disk
84           Virt-resize cannot do in-place disk modifications.  You have to
85           have space to store the resized output disk.
86
87           To store the resized disk image in a file, create a file of a
88           suitable size:
89
90            # rm -f outdisk
91            # truncate -s 10G outdisk
92
93           Or use lvcreate(1) to create a logical volume:
94
95            # lvcreate -L 10G -n lv_name vg_name
96
97           Or use virsh(1) vol-create-as to create a libvirt storage volume:
98
99            # virsh pool-list
100            # virsh vol-create-as poolname newvol 10G
101
102       5. Resize
103           virt-resize takes two mandatory parameters, the input disk and the
104           output disk (both can be e.g. a device, a file, or a URI to a
105           remote disk).  The output disk is the one created in the previous
106           step.
107
108            # virt-resize indisk outdisk
109
110           This command just copies disk image "indisk" to disk image
111           "outdisk" without resizing or changing any existing partitions.  If
112           "outdisk" is larger, then an extra, empty partition is created at
113           the end of the disk covering the extra space.  If "outdisk" is
114           smaller, then it will give an error.
115
116           More realistically you'd want to expand existing partitions in the
117           disk image by passing extra options (for the full list see the
118           "OPTIONS" section below).
119
120           "--expand" is the most useful option.  It expands the named
121           partition within the disk to fill any extra space:
122
123            # virt-resize --expand /dev/sda2 indisk outdisk
124
125           (In this case, an extra partition is not created at the end of the
126           disk, because there will be no unused space).
127
128           "--resize" is the other commonly used option.  The following would
129           increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to
130           fill the rest of the available space:
131
132            # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
133                indisk outdisk
134
135           If the expanded partition in the image contains a filesystem or LVM
136           PV, then if virt-resize knows how, it will resize the contents, the
137           equivalent of calling a command such as pvresize(8), resize2fs(8),
138           ntfsresize(8), btrfs(8) or xfs_growfs(8).  However virt-resize does
139           not know how to resize some filesystems, so you would have to
140           online resize them after booting the guest.
141
142            # virt-resize --expand /dev/sda2 nbd://example.com outdisk
143
144           The input disk can be a URI, in order to use a remote disk as the
145           source.  The URI format is compatible with guestfish.  See "ADDING
146           REMOTE STORAGE" in guestfish(1).
147
148           Other options are covered below.
149
150       6. Test
151           Thoroughly test the new disk image before discarding the old one.
152
153           If you are using libvirt, edit the XML to point at the new disk:
154
155            # virsh edit guestname
156
157           Change <source ...>, see
158           http://libvirt.org/formatdomain.html#elementsDisks
159
160           Then start up the domain with the new, resized disk:
161
162            # virsh start guestname
163
164           and check that it still works.  See also the "NOTES" section below
165           for additional information.
166
167       7. Resize LVs etc inside the guest
168           (This can also be done offline using guestfish(1))
169
170           Once the guest has booted you should see the new space available,
171           at least for filesystems that virt-resize knows how to resize, and
172           for PVs.  The user may need to resize LVs inside PVs, and also
173           resize filesystem types that virt-resize does not know how to
174           expand.
175
176   SHRINKING A VIRTUAL MACHINE DISK
177       Shrinking is somewhat more complex than expanding, and only an overview
178       is given here.
179
180       Firstly virt-resize will not attempt to shrink any partition content
181       (PVs, filesystems).  The user has to shrink content before passing the
182       disk image to virt-resize, and virt-resize will check that the content
183       has been shrunk properly.
184
185       (Shrinking can also be done offline using guestfish(1))
186
187       After shrinking PVs and filesystems, shut down the guest, and proceed
188       with steps 3 and 4 above to allocate a new disk image.
189
190       Then run virt-resize with any of the --shrink and/or --resize options.
191
192   IGNORING OR DELETING PARTITIONS
193       virt-resize also gives a convenient way to ignore or delete partitions
194       when copying from the input disk to the output disk.  Ignoring a
195       partition speeds up the copy where you don't care about the existing
196       contents of a partition.  Deleting a partition removes it completely,
197       but note that it also renumbers any partitions after the one which is
198       deleted, which can leave some guests unbootable.
199
200   QCOW2 AND NON-SPARSE RAW FORMATS
201       If the input disk is in qcow2 format, then you may prefer that the
202       output is in qcow2 format as well.  Alternately, virt-resize can
203       convert the format on the fly.  The output format is simply determined
204       by the format of the empty output container that you provide.  Thus to
205       create qcow2 output, use:
206
207        qemu-img create -f qcow2 -o preallocation=metadata outdisk [size]
208
209       instead of the truncate command.
210
211       Similarly, to get non-sparse raw output use:
212
213        fallocate -l size outdisk
214
215       (on older systems that don’t have the fallocate(1) command use "dd
216       if=/dev/zero of=outdisk bs=1M count=..")
217
218   LOGICAL PARTITIONS
219       Logical partitions (a.k.a. /dev/sda5+ on disks using DOS partition
220       tables) cannot be resized.
221
222       To understand what is going on, firstly one of the four partitions
223       /dev/sda1-4 will have MBR partition type 05 or "0f".  This is called
224       the extended partition.  Use virt-filesystems(1) to see the MBR
225       partition type.
226
227       Logical partitions live inside the extended partition.
228
229       The extended partition can be expanded, but not shrunk (unless you
230       force it, which is not advisable).  When the extended partition is
231       copied across, all the logical partitions contained inside are copied
232       over implicitly.  Virt-resize does not look inside the extended
233       partition, so it copies the logical partitions blindly.
234
235       You cannot specify a logical partition (/dev/sda5+) at all on the
236       command line.  Doing so will give an error.
237

OPTIONS

239       --help
240           Display help.
241
242       --align-first auto
243       --align-first never
244       --align-first always
245           Align the first partition for improved performance (see also the
246           --alignment option).
247
248           The default is --align-first auto which only aligns the first
249           partition if it is safe to do so.  That is, only when we know how
250           to fix the bootloader automatically, and at the moment that can
251           only be done for Windows guests.
252
253           --align-first never means we never move the first partition.  This
254           is the safest option.  Try this if the guest does not boot after
255           resizing.
256
257           --align-first always means we always align the first partition (if
258           it needs to be aligned).  For some guests this will break the
259           bootloader, making the guest unbootable.
260
261       --alignment N
262           Set the alignment of partitions to "N" sectors.  The default in
263           virt-resize < 1.13.19 was 64 sectors, and after that is 128
264           sectors.
265
266           Assuming 512 byte sector size inside the guest, here are some
267           suitable values for this:
268
269           --alignment 1 (512 bytes)
270               The partitions would be packed together as closely as possible,
271               but would be completely unaligned.  In some cases this can
272               cause very poor performance.  See virt-alignment-scan(1) for
273               further details.
274
275           --alignment 8 (4K)
276               This would be the minimum acceptable alignment for reasonable
277               performance on modern hosts.
278
279           --alignment 128 (64K)
280               This alignment provides good performance when the host is using
281               high end network storage.
282
283           --alignment 2048 (1M)
284               This is the standard alignment used by all newly installed
285               guests since around 2008.
286
287       --colors
288       --colours
289           Use ANSI colour sequences to colourize messages.  This is the
290           default when the output is a tty.  If the output of the program is
291           redirected to a file, ANSI colour sequences are disabled unless you
292           use this option.
293
294       -d
295       --debug
296           (Deprecated: use -v option instead)
297
298           Enable debugging messages.
299
300       --delete PART
301           Delete the named partition.  It would be more accurate to describe
302           this as "don't copy it over", since virt-resize doesn't do in-place
303           changes and the original disk image is left intact.
304
305           Note that when you delete a partition, then anything contained in
306           the partition is also deleted.  Furthermore, this causes any
307           partitions that come after to be renumbered, which can easily make
308           your guest unbootable.
309
310           You can give this option multiple times.
311
312       --expand PART
313           Expand the named partition so it uses up all extra space (space
314           left over after any other resize changes that you request have been
315           done).
316
317           If virt-resize knows how, it will expand the direct content of the
318           partition.  For example, if the partition is an LVM PV, it will
319           expand the PV to fit (like calling pvresize(8)).  Virt-resize
320           leaves any other content it doesn't know about alone.
321
322           Currently virt-resize can resize:
323
324           ·   ext2, ext3 and ext4 filesystems.
325
326           ·   NTFS filesystems, if libguestfs was compiled with support for
327               NTFS.
328
329               The filesystem must have been shut down consistently last time
330               it was used.  Additionally, ntfsresize(8) marks the resized
331               filesystem as requiring a consistency check, so at the first
332               boot after resizing Windows will check the disk.
333
334           ·   LVM PVs (physical volumes).  virt-resize does not usually
335               resize anything inside the PV, but see the --LV-expand option.
336               The user could also resize LVs as desired after boot.
337
338           ·   Btrfs filesystems, if libguestfs was compiled with support for
339               btrfs.
340
341           ·   XFS filesystems, if libguestfs was compiled with support for
342               XFS.
343
344           ·   Linux swap partitions.
345
346               Please note that libguestfs destroys the existing swap content
347               by recreating it with "mkswap", so this should not be used when
348               the guest is suspended.
349
350           Note that you cannot use --expand and --shrink together.
351
352       --format raw
353           Specify the format of the input disk image.  If this flag is not
354           given then it is auto-detected from the image itself.
355
356           If working with untrusted raw-format guest disk images, you should
357           ensure the format is always specified.
358
359           Note that this option does not affect the output format.  See
360           "QCOW2 AND NON-SPARSE RAW FORMATS".
361
362       --ignore PART
363           Ignore the named partition.  Effectively this means the partition
364           is allocated on the destination disk, but the content is not copied
365           across from the source disk.  The content of the partition will be
366           blank (all zero bytes).
367
368           You can give this option multiple times.
369
370       --LV-expand LOGVOL
371           This takes the logical volume and, as a final step, expands it to
372           fill all the space available in its volume group.  A typical usage,
373           assuming a Linux guest with a single PV /dev/sda2 and a root device
374           called /dev/vg_guest/lv_root would be:
375
376            virt-resize indisk outdisk \
377              --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root
378
379           This would first expand the partition (and PV), and then expand the
380           root device to fill the extra space in the PV.
381
382           The contents of the LV are also resized if virt-resize knows how to
383           do that.  You can stop virt-resize from trying to expand the
384           content by using the option --no-expand-content.
385
386           Use virt-filesystems(1) to list the filesystems in the guest.
387
388           You can give this option multiple times, but it doesn't make sense
389           to do this unless the logical volumes you specify are all in
390           different volume groups.
391
392       --machine-readable
393           This option is used to make the output more machine friendly when
394           being parsed by other programs.  See "MACHINE READABLE OUTPUT"
395           below.
396
397       -n
398       --dry-run
399           Print a summary of what would be done, but don’t do anything.
400
401       --no-copy-boot-loader
402           By default, virt-resize copies over some sectors at the start of
403           the disk (up to the beginning of the first partition).  Commonly
404           these sectors contain the Master Boot Record (MBR) and the boot
405           loader, and are required in order for the guest to boot correctly.
406
407           If you specify this flag, then this initial copy is not done.  You
408           may need to reinstall the boot loader in this case.
409
410       --no-extra-partition
411           By default, virt-resize creates an extra partition if there is any
412           extra, unused space after all resizing has happened.  Use this
413           option to prevent the extra partition from being created.  If you
414           do this then the extra space will be inaccessible until you run
415           fdisk, parted, or some other partitioning tool in the guest.
416
417           Note that if the surplus space is smaller than 10 MB, no extra
418           partition will be created.
419
420       --no-expand-content
421           By default, virt-resize will try to expand the direct contents of
422           partitions, if it knows how (see --expand option above).
423
424           If you give the --no-expand-content option then virt-resize will
425           not attempt this.
426
427       --no-sparse
428           Turn off sparse copying.  See "SPARSE COPYING" below.
429
430       --ntfsresize-force
431           Pass the --force option to ntfsresize(8), allowing resizing even if
432           the NTFS disk is marked as needing a consistency check.  You have
433           to use this option if you want to resize a Windows guest multiple
434           times without booting into Windows between each resize.
435
436       --output-format raw
437           Specify the format of the output disk image.  If this flag is not
438           given then it is auto-detected from the image itself.
439
440           If working with untrusted raw-format guest disk images, you should
441           ensure the format is always specified.
442
443           Note that this option does not create the output format.  This
444           option just tells libguestfs what it is so it doesn't try to guess
445           it.  You still need to create the output disk with the right
446           format.  See "QCOW2 AND NON-SPARSE RAW FORMATS".
447
448       -q
449       --quiet
450           Don’t print the summary.
451
452       --resize PART=SIZE
453           Resize the named partition (expanding or shrinking it) so that it
454           has the given size.
455
456           "SIZE" can be expressed as an absolute number followed by b/K/M/G
457           to mean bytes, Kilobytes, Megabytes, or Gigabytes; or as a
458           percentage of the current size; or as a relative number or
459           percentage.  For example:
460
461            --resize /dev/sda2=10G
462
463            --resize /dev/sda4=90%
464
465            --resize /dev/sda2=+1G
466
467            --resize /dev/sda2=-200M
468
469            --resize /dev/sda1=+128K
470
471            --resize /dev/sda1=+10%
472
473            --resize /dev/sda1=-10%
474
475           You can increase the size of any partition.  Virt-resize will
476           expand the direct content of the partition if it knows how (see
477           --expand above).
478
479           You can only decrease the size of partitions that contain
480           filesystems or PVs which have already been shrunk.  Virt-resize
481           will check this has been done before proceeding, or else will print
482           an error (see also --resize-force).
483
484           You can give this option multiple times.
485
486       --resize-force PART=SIZE
487           This is the same as --resize except that it will let you decrease
488           the size of any partition.  Generally this means you will lose any
489           data which was at the end of the partition you shrink, but you may
490           not care about that (eg. if shrinking an unused partition, or if
491           you can easily recreate it such as a swap partition).
492
493           See also the --ignore option.
494
495       --shrink PART
496           Shrink the named partition until the overall disk image fits in the
497           destination.  The named partition must contain a filesystem or PV
498           which has already been shrunk using another tool (eg. guestfish(1)
499           or other online tools).  Virt-resize will check this and give an
500           error if it has not been done.
501
502           The amount by which the overall disk must be shrunk (after carrying
503           out all other operations requested by the user) is called the
504           "deficit".  For example, a straight copy (assume no other
505           operations) from a 5GB disk image to a 4GB disk image results in a
506           1GB deficit.  In this case, virt-resize would give an error unless
507           the user specified a partition to shrink and that partition had
508           more than a gigabyte of free space.
509
510           Note that you cannot use --expand and --shrink together.
511
512       --unknown-filesystems ignore
513       --unknown-filesystems warn
514       --unknown-filesystems error
515           Configure the behaviour of virt-resize when asking to expand a
516           filesystem, and neither libguestfs has the support it, nor virt-
517           resize knows how to expand the content of the filesystem.
518
519           --unknown-filesystems ignore will cause virt-resize to silently
520           ignore such filesystems, and nothing is printed about them.
521
522           --unknown-filesystems warn (the default behaviour) will cause virt-
523           resize to warn for each of the filesystem that cannot be expanded,
524           but still continuing to resize the disk.
525
526           --unknown-filesystems error will cause virt-resize to error out at
527           the first filesystem that cannot be expanded.
528
529           See also "unknown/unavailable method for expanding the TYPE
530           filesystem on DEVICE/LV".
531
532       -v
533       --verbose
534           Enable debugging messages.
535
536       -V
537       --version
538           Display version number and exit.
539
540       -x  Enable tracing of libguestfs API calls.
541

MACHINE READABLE OUTPUT

543       The --machine-readable option can be used to make the output more
544       machine friendly, which is useful when calling virt-resize from other
545       programs, GUIs etc.
546
547       There are two ways to use this option.
548
549       Firstly use the option on its own to query the capabilities of the
550       virt-resize binary.  Typical output looks like this:
551
552        $ virt-resize --machine-readable
553        virt-resize
554        ntfsresize-force
555        32bitok
556        ntfs
557        btrfs
558
559       A list of features is printed, one per line, and the program exits with
560       status 0.
561
562       Secondly use the option in conjunction with other options to make the
563       regular program output more machine friendly.
564
565       At the moment this means:
566
567       1.  Progress bar messages can be parsed from stdout by looking for this
568           regular expression:
569
570            ^[0-9]+/[0-9]+$
571
572       2.  The calling program should treat messages sent to stdout (except
573           for progress bar messages) as status messages.  They can be logged
574           and/or displayed to the user.
575
576       3.  The calling program should treat messages sent to stderr as error
577           messages.  In addition, virt-resize exits with a non-zero status
578           code if there was a fatal error.
579
580       Versions of the program prior to 1.13.9 did not support the
581       --machine-readable option and will return an error.
582

NOTES

584   "Partition 1 does not end on cylinder boundary."
585       Virt-resize aligns partitions to multiples of 128 sectors (see the
586       --alignment parameter).  Usually this means the partitions will not be
587       aligned to the ancient CHS geometry.  However CHS geometry is
588       meaningless for disks manufactured since the early 1990s, and doubly so
589       for virtual hard drives.  Alignment of partitions to cylinders is not
590       required by any modern operating system.
591
592   GUEST BOOT STUCK AT "GRUB"
593       If a Linux guest does not boot after resizing, and the boot is stuck
594       after printing "GRUB" on the console, try reinstalling grub.
595
596        guestfish -i -a newdisk
597        ><fs> cat /boot/grub/device.map
598        # check the contents of this file are sensible or
599        # edit the file if necessary
600        ><fs> grub-install / /dev/vda
601        ><fs> exit
602
603       For more flexible guest reconfiguration, including if you need to
604       specify other parameters to grub-install, use virt-rescue(1).
605
606   RESIZING WINDOWS BOOT PARTITIONS
607       In Windows Vista and later versions, Microsoft switched to using a
608       separate boot partition.  In these VMs, typically /dev/sda1 is the boot
609       partition and /dev/sda2 is the main (C:) drive.  Resizing the first
610       (boot) partition causes the bootloader to fail with 0xC0000225 error.
611       Resizing the second partition (ie. C: drive) should work.
612
613   WINDOWS CHKDSK
614       Windows disks which use NTFS must be consistent before virt-resize can
615       be used.  If the ntfsresize operation fails, try booting the original
616       VM and running "chkdsk /f" on all NTFS partitions, then shut down the
617       VM cleanly.  For further information see:
618       https://bugzilla.redhat.com/show_bug.cgi?id=975753
619
620       After resize Windows may initiate a lengthy "chkdsk" on first boot if
621       NTFS partitions have been expanded.  This is just a safety check and
622       (unless it find errors) is nothing to worry about.
623
624   WINDOWS UNMOUNTABLE_BOOT_VOLUME BSOD
625       After sysprepping a Windows guest and then resizing it with virt-
626       resize, you may see the guest fail to boot with an
627       "UNMOUNTABLE_BOOT_VOLUME" BSOD.  This error is caused by having
628       "ExtendOemPartition=1" in the sysprep.inf file.  Removing this line
629       before sysprepping should fix the problem.
630
631   WINDOWS 8
632       Windows 8 "fast startup" can prevent virt-resize from resizing NTFS
633       partitions.  See "WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP" in
634       guestfs(3).
635
636   SPARSE COPYING
637       You should create a fresh, zeroed target disk image for virt-resize to
638       use.
639
640       Virt-resize by default performs sparse copying.  This means that it
641       does not copy blocks from the source disk which are all zeroes.  This
642       improves speed and efficiency, but will produce incorrect results if
643       the target disk image contains unzeroed data.
644
645       The main time this can be a problem is if the target is a host
646       partition (eg. "virt-resize source.img /dev/sda4") because the usual
647       partitioning tools tend to leave whatever data happened to be on the
648       disk before.
649
650       If you have to reuse a target which contains data already, you should
651       use the --no-sparse option.  Note this can be much slower.
652
653   "unknown/unavailable method for expanding the TYPE filesystem on DEVICE/LV"
654       Virt-resize was asked to expand a partition or a logical volume
655       containing a filesystem with the type "TYPE", but there is no available
656       nor known expanding method for that filesystem.
657
658       This may be due to either of the following:
659
660       1.  There corresponding filesystem is not available in libguestfs,
661           because there is no proper package in the host with utilities for
662           it.  This is usually the case for "btrfs", "ntfs", and "xfs"
663           filesystems.
664
665           Check the results of:
666
667            virt-resize --machine-readable
668            guestfish -a /dev/null run : available
669            guestfish -a /dev/null run : filesystem_available TYPE
670
671           In this case, it is enough to install the proper packages adding
672           support for them.  For example, "libguestfs-xfs" on Red Hat
673           Enterprise Linux, CentOS, Debian, Ubuntu, and distributions derived
674           from them, for supporting the "xfs" filesystem.
675
676       2.  Virt-resize has no support for expanding that type of filesystem.
677
678           In this case, there’s nothing that can be done to let virt-resize
679           expand that type of filesystem.
680
681       In both cases, virt-resize will not expand the mentioned filesystem;
682       the result (unless --unknown-filesystems error is specified) is that
683       the partitions containing such filesystems will be actually bigger as
684       requested, but the filesystems will still be usable at the their older
685       sizes.
686

ALTERNATIVE TOOLS

688       There are several proprietary tools for resizing partitions.  We won't
689       mention any here.
690
691       parted(8) and its graphical shell gparted can do some types of resizing
692       operations on disk images.  They can resize and move partitions, but I
693       don't think they can do anything with the contents, and they certainly
694       don't understand LVM.
695
696       guestfish(1) can do everything that virt-resize can do and a lot more,
697       but at a much lower level.  You will probably end up hand-calculating
698       sector offsets, which is something that virt-resize was designed to
699       avoid.  If you want to see the guestfish-equivalent commands that virt-
700       resize runs, use the --debug flag.
701
702       dracut(8) includes a module called "dracut-modules-growroot" which can
703       be used to grow the root partition when the guest first boots up.
704       There is documentation for this module in an associated README file.
705

EXIT STATUS

707       This program returns 0 if successful, or non-zero if there was an
708       error.
709

SEE ALSO

711       virt-filesystems(1), virt-df(1), guestfs(3), guestfish(1), lvm(8),
712       pvresize(8), lvresize(8), resize2fs(8), ntfsresize(8), btrfs(8),
713       xfs_growfs(8), virsh(1), parted(8), truncate(1), fallocate(1), grub(8),
714       grub-install(8), virt-rescue(1), virt-sparsify(1),
715       virt-alignment-scan(1), http://libguestfs.org/.
716

AUTHOR

718       Richard W.M. Jones http://people.redhat.com/~rjones/
719
721       Copyright (C) 2010-2012 Red Hat Inc.
722

LICENSE

724       This program is free software; you can redistribute it and/or modify it
725       under the terms of the GNU General Public License as published by the
726       Free Software Foundation; either version 2 of the License, or (at your
727       option) any later version.
728
729       This program is distributed in the hope that it will be useful, but
730       WITHOUT ANY WARRANTY; without even the implied warranty of
731       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
732       General Public License for more details.
733
734       You should have received a copy of the GNU General Public License along
735       with this program; if not, write to the Free Software Foundation, Inc.,
736       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
737

BUGS

739       To get a list of bugs against libguestfs, use this link:
740       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
741
742       To report a new bug against libguestfs, use this link:
743       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
744
745       When reporting a bug, please supply:
746
747       ·   The version of libguestfs.
748
749       ·   Where you got libguestfs (eg. which Linux distro, compiled from
750           source, etc)
751
752       ·   Describe the bug accurately and give a way to reproduce it.
753
754       ·   Run libguestfs-test-tool(1) and paste the complete, unedited output
755           into the bug report.
756
757
758
759libguestfs-1.38.2                 2018-05-15                    virt-resize(1)
Impressum