[Libguestfs] 答复: python-guestfs

徐展聪 xuzhancong at cloudkc.net
Fri Sep 6 02:28:45 UTC 2013


trace:
>>> g.inspect_os()        
libguestfs: trace: inspect_os
libguestfs: trace: umount_all
libguestfs: trace: umount_all = 0
libguestfs: trace: list_devices
libguestfs: trace: list_devices = ["/dev/vda"]
libguestfs: trace: vfs_type "/dev/vda"
libguestfs: trace: vfs_type = ""
libguestfs: trace: mount_ro "/dev/vda" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: list_partitions
libguestfs: trace: list_partitions = ["/dev/vda1", "/dev/vda2"]
libguestfs: trace: vfs_type "/dev/vda1"
libguestfs: trace: vfs_type = "ntfs"
libguestfs: trace: mount_ro "/dev/vda1" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: vfs_type "/dev/vda2"
libguestfs: trace: vfs_type = "ntfs"
libguestfs: trace: mount_ro "/dev/vda2" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: list_md_devices
libguestfs: trace: list_md_devices = []
libguestfs: trace: available "lvm2"
libguestfs: trace: available = 0
libguestfs: trace: lvs
libguestfs: trace: lvs = []
libguestfs: trace: inspect_os = []
[]

________________________________________
发件人: Richard W.M. Jones [rjones at redhat.com]
发送时间: 2013年9月5日 16:13
收件人: 徐展聪
Cc: libguestfs at redhat.com
主题: Re: [Libguestfs] python-guestfs

On Wed, Sep 04, 2013 at 02:31:08AM +0000, 徐展聪 wrote:
> I use python-guestfs to mount windows image it have some problems .Here is my code:
>
> [root at mfsdata1 ~]# python
> Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
> [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import os
> >>> sheepfs_dir="/tmp/sheepfs"
> >>> os.system("umount " + sheepfs_dir)
> 0
> >>> os.system("sheepfs -n " + sheepfs_dir)
> 0
> >>> vdi_name = "vm1935028.nbregion.ec2.cloudkc.cn"
> >>> os.system("echo " + vdi_name + ">" + sheepfs_dir + "/vdi/mount")
> 0
> >>> import guestfs
> >>> g=guestfs.GuestFS()
> >>> imgfile=sheepfs_dir + "/volume/" + vdi_name
> >>> g.add_drive_opts(imgfile, format="raw", readonly=0)
> >>> g.launch()
> >>> root = g.inspect_os()
> >>> print root
> []

So libguestfs can't find any guest(s) in the disk image.  I suggest
calling g.set_trace(1) after opening the handle, then looking at the
trace output.  If you can't see what is wrong, then post the full
trace output on this list.

> >>> g.list_filesystems()
> [('/dev/vda1', 'ntfs'), ('/dev/vda2', 'ntfs')]

You can also just mount filesystems directly.

Rich.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list