virt-p2v-make-disk(1) Build the virt-p2v disk using virt-builder


virt-p2v-make-disk -o /dev/sdX os-version


virt-p2v(1) converts a physical machine to run virtualized on KVM, managed by libvirt, OpenStack, oVirt, Red Hat Enterprise Virtualisation (RHEV), or one of the other targets supported by virt-v2v(1).

virt-p2v-make-disk is a script which creates a bootable disk image or USB key containing virt-p2v. It uses virt-builder(1) to do this, and is just a small shell script around virt-builder.

virt-p2v-make-disk has two required parameters:

The -o parameter specifies where the output should go, for example to a USB key (eg. "-o /dev/sdX") or to a file. If you pass a device name, then the existing contents of the device will be erased.

The "os-version" parameter is the base Linux distro to use for the operating system on the ISO. To list possible "os-version" combinations, do:

 virt-builder -l

Write a virt-p2v bootable USB key on /dev/sdX (any existing content is erased), using Fedora 20 as the base distribution:

 virt-p2v-make-disk -o /dev/sdX fedora-20

Write a virt-p2v bootable virtual disk image, and boot it under qemu:

 virt-p2v-make-disk -o /var/tmp/p2v.img fedora-20
 qemu-kvm -m 1024 -boot c \
   -drive file=/var/tmp/p2v.img,if=virtio,index=0 \
   -drive file=/var/tmp/guest.img,if=virtio,index=1

where /var/tmp/guest.img would be the disk image of some guest that you want to convert (for testing only).


You can inject an SSH identity (private key) file to the image using the --inject-ssh-identity option.

First create a key pair. It must have an empty passphrase:

 ssh-keygen -t rsa -N '' -f id_rsa

This creates a private key ("id_rsa") and a public key ("") pair. The public key should be appended to the "authorized_keys" file on the virt-v2v conversion server (usually to "/root/.ssh/authorized_keys").

The private key should be injected into the disk image and then discarded:

 virt-p2v-make-disk [...] --inject-ssh-identity id_rsa
 rm id_rsa

When booting virt-p2v, specify the URL of the injected file like this:

 │         User name: [root_____________________________] │
 │                                                        │
 │          Password: [    <leave this field blank>     ] │
 │                                                        │
 │  SSH Identity URL: [file:///var/tmp/id_rsa___________] │

or if using the kernel command line, add:


For more information, see ``SSH IDENTITIES'' in virt-p2v(1).


--inject-ssh-identity id_rsa
Add an SSH identity (private key) file into the image. See ``ADDING AN SSH IDENTITY'' above.
--output OUTPUT
Write output to "OUTPUT", which can be a local file or block device. The existing contents of the device will be erased.


The virt-p2v(1) binary which is copied into the bootable disk image.

The location of the binary can be changed by setting the "VIRT_P2V_DATA_DIR" environment variable.

Various data files that are copied into the bootable disk image.

The location of these files can be changed by setting the "VIRT_P2V_DATA_DIR" environment variable.


The directory where virt-p2v-make-disk looks for data files (see ``FILES'' above). If not set, a compiled-in location is used.


Richard W.M. Jones


Copyright (C) 2009-2016 Red Hat Inc.



To get a list of bugs against libguestfs, use this link:

To report a new bug against libguestfs, use this link:

When reporting a bug, please supply:

  • The version of libguestfs.
  • Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
  • Describe the bug accurately and give a way to reproduce it.
  • Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.