{"id":18804232,"url":"https://github.com/glennmatthews/vmdktool","last_synced_at":"2026-07-21T20:33:06.415Z","repository":{"id":73759876,"uuid":"80027283","full_name":"glennmatthews/vmdktool","owner":"glennmatthews","description":"Fork of http://www.freshports.org/sysutils/vmdktool/","archived":false,"fork":false,"pushed_at":"2017-01-25T15:44:29.000Z","size":18,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-05-21T23:11:20.769Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glennmatthews.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-25T15:28:25.000Z","updated_at":"2023-12-11T10:48:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa900bf4-59fb-4a08-8e12-2644e7c914ed","html_url":"https://github.com/glennmatthews/vmdktool","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/glennmatthews/vmdktool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glennmatthews%2Fvmdktool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glennmatthews%2Fvmdktool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glennmatthews%2Fvmdktool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glennmatthews%2Fvmdktool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glennmatthews","download_url":"https://codeload.github.com/glennmatthews/vmdktool/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glennmatthews%2Fvmdktool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015056,"owners_count":26085643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T22:38:40.859Z","updated_at":"2025-10-13T12:34:44.646Z","avatar_url":"https://github.com/glennmatthews.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vmdktool — VMDK file converter\n\nFork of `vmdktool` (https://manned.org/vmdktool, http://www.freshports.org/sysutils/vmdktool/).\n\n```\nSYNOPSIS\n     vmdktool [-di] [-r fn1.raw] [-s fn2.raw] [-t sec] [[-c size] [-z zstr] -v\n              fn3.vmdk] file\n\nDESCRIPTION\n     The vmdktool utility converts raw filesystems to the VMDK format and vice\n     versa.  It can also produce information for a given VMDK file.\n\n     vmdktool was written based on VMware Inc., Virtual Disk Format 1.1,\n     Revision: 20071113 Version: 1.1 Item: NP-ENG-Q204-099,\n     http://www.vmware.com/interfaces/vmdk.html, November 2007.\n\n     The switches and command line arguments behave as follows:\n\n         -c size\n               Use disk capacity size rather than the size of file.  The size\n               value is in bytes unless suffixed by one of the following:\n\n                   k    kilobytes (1024 bytes).\n\n                   M    megabytes (1048576 bytes).\n\n                   G    gigabytes (1073741824 bytes).\n\n                   T    terabytes (1099511627776 bytes).\n\n                   P    petabytes (1125899906842624 bytes).\n\n                   E    exabytes (1152921504606846976 bytes).\n\n         -d    Increase diagnostics.\n\n         -i    Show VMDK info from file.\n\n         -r fn1.raw\n               Read random vmdk data from file, write raw data to fn1.raw.\n\n         -s fn2.raw\n               Read stream vmdk data from file, write raw data to fn2.raw.\n\n         -t sec\n               Show VMDK table info at sector sec.\n\n         -v fn3.vmdk\n               Read raw data from file, write VMDK data to fn3.vmdk.\n\n         -z zstr\n               Set the deflate strength to zstr.\n\n         file  A raw disk or VMDK image.  file is always the input file and is\n               opened for reading.  If -v is being used, file may be a character\n               device (but must be seekable).\n\n     When using the -r or -s switches, the output file fn1.raw or fn2.raw will\n     be the same.  The only difference is in how we read the vmdk file; using\n     random access in a \"whatever's convenient\" manner, or as a stream, allowing\n     file to be a character special file.\n\n     A given VMDK must be stream-optimized in order for vmdktool to read it\n     (with the -s switch) as a stream.  The inverse however is not true; any\n     VMDK file may be read using random access.\n\nEXAMPLES\n     To obtain high level information about file.vmdk:\n           vmdktool -i file.vmdk\n\n     To convert a raw filesystem image fs.raw to a stream-optimized vmdk file:\n           vmdktool -z9 -v fs.vmdk fn.raw\n\n     To convert the same raw filesystem image but set the virtual disk size to\n     2GB:\n           vmdktool -c2G -z9 -vfs.vmdk fn.raw\n\n     To modify the content of partition 1 on fs.vmdk, the following might be\n     done on a FreeBSD system:\n           vmdktool -s tmp.raw fs.vmdk\n           unit=$(mdconfig -a -t vnode -f tmp.raw -n)\n           mount /dev/md${unit}a /mnt\n           echo added \u003e/mnt/added\n           umount /mnt\n           mdconfig -du$unit\n           vmdktool -vfs.vmdk -z9 tmp.raw\n           rm tmp.raw\n\n     To do the same on a linux system:\n           vmdktool -s tmp.raw fs.vmdk\n           bounds=$(echo p | sudo fdisk -u tmp.raw 2\u003e/dev/null | grep tmp.raw1 |\n           awk '{print $3, $4}')\n           off=$((${bounds% *} * 512)); sz=$((${bounds#* } * 512 - $off))\n           loop=$(losetup -o $off --sizelimit $sz -f --show tmp.raw)\n           mount $loop /mnt\n           echo added \u003e/mnt/added\n           umount /mnt\n           losetup -d $loop\n           vmdktool -vfs.vmdk -z9 tmp.raw\n           rm tmp.raw\n\nSEE ALSO\n     fdisk(8), mdconfig(8), newfs(8).\n\nHISTORY\n     vmdktool was originally written by Brian Somers \u003cbrian@Awfulhak.org\u003e in\n     2009 after a great deal of frustration over not finding any free tools to\n     create VMDK files.  It was updated and fixed as necessary and \"donated\" to\n     various companies where the author worked, finally being released to the\n     general public in 2012.  Shortly after this, support was added for the\n     minor spec update from version 1.1 to version 5.0.\n\n     Although developed under FreeBSD, vmdktool will build fairly easily under\n     Linux and OSX.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglennmatthews%2Fvmdktool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglennmatthews%2Fvmdktool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglennmatthews%2Fvmdktool/lists"}