In my previous article KVM Guests: Using Virt-Install to Import an Existing Disk Image  we discussed how to use virt-install to import an existing disk image,  which already has an OS installed into it.  Additionally in KVM Guests: Using Virt-Install to Install Debian and Ubuntu Guests  I documented how to initiate an install directly off of the apt mirror  of your choice for Debian and Ubuntu Guests using virt-install.  In this  article we will use virt-install to create a guest and begin the  installation using a CD or ISO image for installation media.
 Assumptions I Have Made
 - My KVM host is Ubuntu 10.10 and I am assuming that yours is as    well.  If it is not then the syntax might be slightly different or may    not include the same features.
 - That you have kvm installed on the host and you can manually create VMs using virt-manager and they work perfectly.
 - That you have a bridge configured and working on other guests.
 - That you have virt-install and libvirt-bin installed as well as    virt-manager or virt-viewer so that you can complete the install after    the virt-install command has completed.
 - That you are trying to import disk images that support VirtIO   devices (most recent Linux distributions, Windows does not natively   support the VirtIO interface, so you will had to have manually installed   the VirtIO drivers into your disk image).
 
 The Basic Command
 # virt-install -n vmname -r 2048 --os-type=linux --os-variant=ubuntu --disk /kvm/images/disk/vmname_boot.img,device=disk,bus=virtio,size=40,sparse=true,format=raw -w bridge=br0,model=virtio --vnc --noautoconsole -c /kvm/images/iso/ubuntu.iso
 Parameters Detailed
 - -n vmname [the name of your VM]
 - -r 2048 [the amount of RAM in MB for your VM]
 - –os-type=linux [the type of OS linux or windows]
 - –os-variant=ubuntu [the distribution or version of Windows for a full list see man virt-install]
 - –disk    /kvm/images/disk/vmname_boot.img,device=disk,bus=virtio,size=40,sparse=true,format=raw   [this is a long one you define the path, then comma delimited options,    device is the type of storage cdrom, disk, floppy, bus is the  interface   ide, scsi, usb, virtio - virtio is the fastest but you need  to install   the drivers for Windows and older versions of Linux don't  have  support]
 - -w bridge=br0,model=virtio [the network    configuration, in this case we are connecting to a bridge named br0, and    using the virtio drivers which perform much better if you are using  an   OS which doesn't support virtio you can use e1000 or rtl8139.  You   could  alternatively use --nonetworks if you do not need networking]
 - –vnc [configures the graphics card to use VNC allowing you to use    virt-viewer or virt-manager to see the desktop as if you were at the a    monitor of a physical machine]
 - –noautoconsole [configures the installer to NOT automatically try    to open virt-viewer to view the console to complete the installation -    this is helpful if you are working on a remote system through SSH]
 - -c /kvm/images/iso/ubuntu.iso [this option specifies the  cdrom device or iso image with which to boot off of.  You could  additionally specify the cdrom device as a disk device, and not use the  -c option, it will then boot off of the cdrom if you don't specify  another installation method]
 
 LVM Disk Variation
 # virt-install -n vmname -r 2048 --os-type=linux --os-variant=ubuntulucid  --disk  /dev/vg_name/lv_name,device=disk,bus=virtio  -w bridge=br0,model=virtio --vnc --noautoconsole -c  /kvm/images/iso/ubuntu.iso
 No VirtIO Variation (Uses IDE and e1000 NIC Emulation)
 # virt-install -n vmname -r 2048 --os-type=linux  --os-variant=ubuntulucid --disk  /kvm/images/disk/vmname_boot.img,device=disk,bus=ide,size=40,sparse=true,format=raw  -w bridge=br0,model=e1000 --vnc --noautoconsole -c  /kvm/images/iso/ubuntu.iso
 Define VM Without Installation Method
 # virt-install -n vmname -r 2048 --os-type=linux --os-variant=ubuntulucid --disk /kvm/images/disk/vmname_boot.img,device=disk,bus=virtio,size=40,sparse=true,format=raw --disk /kvm/images/iso/ubuntu.iso,device=cdrom -w bridge=br0,model=virtio --vnc --noautoconsole