Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UNTITLED()			     LOCAL			    UNTITLED()

vmdktool -- VMDK file converter

SYNOPSIS
       [-di]  [-r  fn1.raw]  [-s  fn2.raw]  [-t	 sec]  [[-c size] [-z zstr] -v
       fn3.vmdk] file

DESCRIPTION
       The utility converts raw	filesystems to the VMDK	format and vice	versa.
       It can also produce information for a given VMDK	file.

       was written based on VMware Inc., Virtual Disk  Format  1.1,  Revision:
       20071113	       Version:	       1.1	  Item:	      NP-ENG-Q204-099,
       http://www.vmware.com/interfaces/vmdk.html, November 2007.

       The switches and	command	line arguments behave as follows:

	   -c size
		 Use disk capacity size	rather than the	 size  of  file.   The
		 size  value is	in bytes unless	suffixed by one	of the follow-
		 ing:

		     k	  kilobytes (1024 bytes).

		     M	  megabytes (1048576 bytes).

		     G	  gigabytes (1073741824	bytes).

		     T	  terabytes (1099511627776 bytes).

		     P	  petabytes (1125899906842624 bytes).

		     E	  exabytes (1152921504606846976	bytes).

	   -d	 Increase diagnostics.

	   -i	 Show VMDK info	from file.

	   -r fn1.raw
		 Read random vmdk data from file, write	raw data to fn1.raw.

	   -s fn2.raw
		 Read stream vmdk data from file, write	raw data to fn2.raw.

	   -t sec
		 Show VMDK table info at sector	sec.

	   -v fn3.vmdk
		 Read raw data from file, write	VMDK data to fn3.vmdk.

	   -z zstr
		 Set the deflate strength to zstr.

	   file	 A raw disk or VMDK image.  file is always the input file  and
		 is  opened  for  reading.  If -v is being used, file may be a
		 character device (but must be seekable).

       When using the -r or -s switches, the output file  fn1.raw  or  fn2.raw
       will be the same.  The only difference is in how	we read	the vmdk file;
       using  random  access  in  a  "whatever's  convenient"  manner, or as a
       stream, allowing	file to	be a character special file.

       A given VMDK must be stream-optimized in	order for to read it (with the
       -s switch) as a stream.	The inverse however is not true; any VMDK file
       may be read using random	access.

EXAMPLES
       To obtain high level information	about file.vmdk:
	     vmdktool -i file.vmdk

       To convert a raw	filesystem image fs.raw	 to  a	stream-optimized  vmdk
       file:
	     vmdktool -z9 -v fs.vmdk fn.raw

       To  convert the same raw	filesystem image but set the virtual disk size
       to 2GB:
	     vmdktool -c2G -z9 -vfs.vmdk fn.raw

       To modify the content of	partition 1 on fs.vmdk,	the following might be
       done on a FreeBSD system:
	     vmdktool -s tmp.raw fs.vmdk
	     unit=$(mdconfig -a	-t vnode -f tmp.raw -n)
	     mount /dev/md${unit}a /mnt
	     echo added	>/mnt/added
	     umount /mnt
	     mdconfig -du$unit
	     vmdktool -vfs.vmdk	-z9 tmp.raw
	     rm	tmp.raw

       To do the same on a linux system:
	     vmdktool -s tmp.raw fs.vmdk
	     bounds=$(echo p |	sudo  fdisk  -u	 tmp.raw  2>/dev/null  |  grep
	     tmp.raw1 |	awk '{print $3,	$4}')
	     off=$((${bounds% *} * 512)); sz=$((${bounds#* } * 512 - $off))
	     loop=$(losetup -o $off --sizelimit	$sz -f --show tmp.raw)
	     mount $loop /mnt
	     echo added	>/mnt/added
	     umount /mnt
	     losetup -d	$loop
	     vmdktool -vfs.vmdk	-z9 tmp.raw
	     rm	tmp.raw

SEE ALSO
       fdisk(8), mdconfig(8), newfs(8).

HISTORY
       was originally written by Brian Somers <brian@Awfulhak.org> in 2009 af-
       ter a great deal	of frustration over not	finding	any free tools to cre-
       ate VMDK	files.	It was updated and fixed as necessary and "donated" to
       various	companies  where  the author worked, finally being released to
       the general public in 2012.  Shortly after this,	support	was added  for
       the minor spec update from version 1.1 to version 5.0.

       Although	 developed under FreeBSD, will build fairly easily under Linux
       and OSX.

FreeBSD	Ports 14.quarterly     February	24, 2012		    UNTITLED()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vmdktool&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help