=pod

=head1 NAME

virt-convert - convert virtual machines between formats

=head1 SYNOPSIS

B<virt-convert> [OPTION]... INPUT.VMX|INPUT-DIR [OUTPUT.XML|OUTPUT-DIR]

=head1 DESCRIPTION

B<virt-convert> is a command line tool for converting virtual machines
from one format to another. Pass in either a VM definition file (such
as VMWare vmx format) or a directory containing a VM. By default, a new
VM definition file, and converted disk images, will be placed in a new
output directory.

If an output directory is specified, it will be created if necessary,
and the output VM definition placed within, along with any disk images
as needed.

If an output VM definition file is specified, it will be created
alongside any disks in the same directory.

=head1 OPTIONS

Any of the options can be omitted, in which case B<virt-convert> will
use defaults when required. An input VM definition or containing directory
must be provided. By default, an output directory is generated based upon
the name of the VM. The default input format is VMWare vmx, and the
default output format is a libvirt "image" XML definition
(see L<virt-image(5)>).

=over 4

=item -h, --help

Show the help message and exit

=item --version

Show program's version number and exit

=back

=head2 Conversion Options

=over 2

=item  -i format

Input format. Currently, C<vmx>, C<virt-image>, and C<ovf> are supported.

=item  -o format

Output format. Currently, C<vmx>  and C<virt-image> are supported.

=item  -D format

Output disk format, or C<none> if no conversion should be performed. See
L<qemu-img(1)>.

=back

=head2 Virtualization Type options

Options to override the default virtualization type choices.

=over 2

=item  -v, --hvm      Create  a fully virtualized guest image

Convert machine to a hvm/qemu based image (this is the default if paravirt
is not specified)

=item  -p, --paravirt      Create  a paravirtualized guest image

Convert machine to a paravirt xen based image

=back

=head2 General Options

General configuration parameters that apply to all types of guest installs.

=over 2

=item -a ARCH, --arch=ARCH

Architecture of the virtual machine (i686, x86_64, ppc). Defaults to
that of the host machine.

=item --os-variant=OS_VARIANT

Optimize the guest configuration for a specific operating system (ex.
'fedora18', 'rhel7', 'winxp'). While not requires, specifying this
options is HIGHLY RECOMMENDED, as it can greatly increase performance
by specifying virtio among other guest tweaks.
See L<virt-install(1)> for valid values.

=back

=head2 Miscellaneous Options

=over 2

=item -q, --quiet

Avoid verbose output.

=item -d, --debug

Print debugging information

=item --dry-run

Proceed through the conversion process, but don't convert disks or actually
write any converted files.

=back

=head1 EXAMPLES

Convert a paravirt guest from C<image.vmx>:

  # virt-convert --arch=i686 --paravirt image.vmx

Convert a 64-bit hvm guest:

  # virt-convert --arch=x86_64 vmx-appliance/ hvm-appliance/

=head1 BUGS

Please see http://virt-manager.org/page/BugReporting

=head1 COPYRIGHT

Copyright (C) Red Hat, Inc, and various contributors.
This is free software. You may redistribute copies of it under the terms
of the GNU General Public License C<http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

=head1 SEE ALSO

L<virt-image(5)>, the project website C<http://virt-manager.org>

=cut

