[fedora-virt] P2V and grub bootloader
Richard W.M. Jones
rjones at redhat.com
Thu Apr 30 22:27:00 UTC 2009
On Fri, May 01, 2009 at 12:16:29AM +0200, Dennis J. wrote:
> On 04/30/2009 11:39 PM, Richard W.M. Jones wrote:
>> Why not just copy across the whole block device? This is essentially
>> what virt-p2v does (http://et.redhat.com/~rjones/virt-p2v/), although
>> virt-p2v is doing nothing more than automating what you could do by
> virt-p2v's achilles heel for me is that it can only copy on the block
> device level. /dev/sda is 50gb in size, the root logical volume only 10gb
> and copying the files over by piping a tar into ssh allowed me to shrink
> it to 5gb in the process. also I plan to move machines that use regular
> partitioning into VMs that use LVM volumes. Also copying the 3gb of files
> is obviously faster then copying 50gb of mostly empty space.
Right, and that's one of the reasons for writing libguestfs. When
libguestfs is more mature I'll be able to rewrite virt-p2v to make it
>>> How can I install grub from outside the VM?
>> I haven't tried it, but it's possibly something you can do from
>> libguestfs, or if not, it's something that we could add to libguestfs.
> That would be great. What I'm a little confused about is the different
> perspectives of the device-space you get when simply chroot-ing into the
> VMs root filesystem and actually booting the VM. In the VM booting case
> /dev/sda is /dev/sda so a "grub-install /dev/sda" does the trick but in
> the chrooting case /dev/sda is still the physical /dev/sda (if I'm not
> making a mistake in my thinking here). That's why I thought I could
> "grub-install /dev/loop0" to treat the image file as the virtual
> Unfortunately that seems to confuse grub. I think I'll have to dive into
> the grub-install source to see why exactly it is complaining and how to
> get around that.
It's highly doubtful that grub-install would work on a loop device.
Grub needs to query the kernel for the real CHS geometry of the disk,
and I don't think /dev/loop0 will give that information, only the real
In any case, libguestfs boots a mini-VM, so this is a non-issue.
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
More information about the Fedora-virt