vdk
vdk copied to clipboard
VMware Virtual Disk Driver for Windows
Virtual Disk Driver for Windows NT platform.
Copyright (C) 2003-2005 Ken Kato ([email protected])
http://chitchat.at.infoseek.co.jp/vmware/vdk.html
Copyright (c) 2021 Gianluigi Tiesi <[email protected]>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
The GNU General Public License is also available from:
http://www.gnu.org/copyleft/gpl.html
This program owes a great deal to Bo Brantén's 'ntifs' project and
'filedisk' program (http://www.acc.umu.se/~bosse/).
This program simply could not happen without his great works.
INTRODUCTION
This is a Virtual Disk Driver (VDK) Version 3 for Windows NT / 2000 / XP.
I have received some reports that it also works on Windows 2000 Server.
With VDK you can mount a VMware virtual disk to your Windows hosts and
use them as another disk drive attached to your system.
VDK can open the following VMware virtual disk types for both read-only
and read-write access:
- VMware 2.x Plain Disks (*.pln).
- VMware 2.x / 3.x Virtual Disks (*.dsk, *.vmdk).
- VMware 2.x / 3.x REDO log files based on both Plain Disks and
Virtual Disks.
- VMware 2.x / 3.x differential / nested Virtual Disks (which actually
are renamed REDO logs), based on both Plain Disks and Virtual Disks.
There is no limitation on the nesting level.
- VMware 4.x Flat virtual disks (both split and monolithic).
- VMware 4.x Sparse virtual disks (both split and monolithic).
- VMware 4.x REDO log files (which actually are the same thing as
split-sparse virtual disks) and differential / nested virtual disks
(ditto).
VDK allows you to use these types of virtual disks with minor errors,
such as timestamp mismatch, sequence number mismatch, etc.
(VDK simply ignores those errors, it does not fix them.)
VDK can also open the following types of virtual disks.
- Raw sector image which you can create with regular disk dump tools
such as Linux dd command.
- Non-partitioned disk image, such as floppy image, removable disk image,
and dd image of one partition. (This is not actually a type of virtual
disk, but rather how the virtual disk is formatted.)
In this case, the whole image is treated as a single partition.
VDK is also capable of creating REDO log files which VMware can use.
This means that VDK can open virtual disks in undoable mode, then you
can commit the changes using VMware, or discard the changes by simply
deleting created REDO log files.
VDK cannot use the following virtual disks for the time being, but I'm
planning to implement them:
- Any disk types with serious errors.
VDK cannot use the following disk types, and I have no intention of
implementing them:
- Raw Disks for any version of VMware.
- REDO log files for Raw Disks.
In this text, the term "Virtual Disk" (with capitals) specifically means
growable virtual disk created with VMware 2.x / 3.x, whereas "virtual
disk" (in lower case) is used in more generic sense as opposed to
"physical disk". I know it's kind of confusing, but I just couldn't
come up with more suitable terms.
WARNING & LIMITATIONS
The VMware virtual disk format and structure on which VDK was
developed is entirely the result of my *personal* investigation.
Absolutely no official information is provided by VMware, Inc. or any
other resources.
Please note that there is ABSOLUTELY NO WARRANTY and be sure to use it
AT YOUR OWN RISK.
You must have administrative privileges to use the VDK. This is
becuase Windows does not allow non-administrative users to manipulate
hard disk volumes.
VDK is a *disk* driver, not a file system driver, therefore you can
only access partitions which your Windows host can recognize.
For example, you cannot access ext2 partitions on virtual drives unless
you have a 3rd party ext2 file system driver installed on your Windows
system (See NOTES below for more information).
VDK does not communicate with Windows 2000/XP Mount Manager.
Therefore:
- Disk Management Console (partition manipulation and mount point
configuration) does not recognize the VDK virtual drives.
Most of third party utilities, such as PartitionMagic, should work.
- Disk Defragment utility does not recognize the VDK virtual drives.
Third party defrag utility, such as Diskeeper, works file.
- Graphical mode of Check Disk may not work. Sometimes it works and
sometimes it doesn't for me, though I couldn't figure out the pattern
so far. (command line chkdsk.exe works fine).
VDK does not handle GPT partitioned disk (I don't really know what it
is. All I know is that it's a new type of partition table.)
Also, I suspect that you cannot use Windows NT Fault Tolerant Volumes
(mirror, stripe, volume set, etc) or Windows 2000/XP Dynamic Volumes on
virtual drives. I simply don't know because I've never used them.
TO DO
- Allow non-administrative users to use the program.
- Better compatibility with Win2K/XP
(PnP support, Mount Manager support, etc).
- GUI front end program.
- Virtual disk error correction.
- Virtual disk type conversion.
FILES
vdk.sys Virtual Disk kernel-mode Driver.
vdk.exe Virtual Disk Driver control program (console).
README.TXT Explanation of the Virtual Disk Driver (this file).
COPYING.TXT GNU GENERAL PUBLIC LICENSE Version 2.
INSTALL
Place VDK.SYS and VDK.EXE into a directory on a local drive.
Then use VDK.EXE to install the driver (VDK.SYS) onto the system.
Read the following sections for more information.
If you have previous version of VDK.SYS installed on your system, you
don't usually need to uninstall the previous driver from the system.
You can just stop the old driver, replace the driver file, and restart
the driver.
!!! NOTE !!!
Device drivers cannot be started from a network drive. Make sure that
at least the driver file (VDK.SYS) is placed on a local drive.
UNINSTALL
Use VDK.EXE to remove the driver entry from the system registry.
Then delete VDK.SYS and VDK.EXE from the local drive.
VDK.EXE REFERENCE
VDK.EXE is a command line front end program to control the Virtual
Disk Driver (VDK.SYS).
SYNTAX:
VDK.EXE command [command specific options...]
COMMANDS:
INSTALL Install the Virtual Disk Driver.
REMOVE Uninstall the Virtual Disk Driver.
START Start the Virtual Disk Driver.
STOP Stop the Virtual Disk Driver.
DRIVER Print Virtual Disk Driver status.
DISK Set the initial number of Virtual Disk devices.
CREATE Create a new Virtual Disk device.
DELETE Delete a Virtual Disk device.
VIEW Print disk image files information.
OPEN Open disk image files as a virtual drive.
CLOSE Close disk image files.
LINK Assign a drive letter to a partition.
ULINK Remove a drive letter from a partition.
IMAGE Print opened image file information.
HELP Print command help.
All commands and options are case insensitive.
VDK INSTALL
Install the Virtual Disk Driver.
SYNTAX:
VDK.EXE INSTALL [driver] [/AUTO]
OPTIONS:
driver Specifies the path to the Virtual Disk Driver file (VDK.SYS).
Default is VDK.SYS in the same directory as VDK.EXE.
(Note: *NOT* current working directory.)
/AUTO Configures the driver to start at the system startup.
(Note: this option does not start the driver after
installation is completed.)
By default the driver has to be started manually.
Device drivers cannot be started from network drives.
Make sure to place VDK.SYS on a local drive.
VDK REMOVE
Uninstall the Virtual Disk Driver.
SYNTAX:
VDK.EXE REMOVE
OPTIONS:
NONE
This command removes the Virtual Disk Driver entries from the system
registry, but does not delete the driver file from the drive.
If the driver is running, this command closes all image files and
stops the driver before removing it from the system.
VDK START
Start the Virtual Disk Driver.
SYNTAX:
VDK.EXE START
OPTIONS:
NONE
If the driver is not already installed, this command attempts to install
it with the default options.
VDK STOP
Stop the Virtual Disk Driver.
SYNTAX:
VDK.EXE STOP
OPTIONS:
NONE
This command closes all image files before stopping the driver.
The driver cannot be stopped if virtual drives are used by any other
programs.
VDK DRIVER
Print Virtual Disk Driver status.
SYNTAX:
VDK.EXE DRIVER
OPTIONS:
NONE
This commands prints the following information:
Driver file path
Driver file version
Driver start type (AUTO/MANUAL)
Current running state
Number of disk devices
VDK DISK
Set the initial number of virtual disks.
SYNTAX:
VDK.EXE DISK number
OPTIONS:
number Number of virtual disks between 1 and 22.
The default value is 4.
This command sets the number of virtual disk devices created when the
driver is started.
If the driver is already running, this value takes effect the next time
the driver is started.
VDK CREATE
Create a new virtual disk device.
SYNTAX:
VDK.EXE CREATE
OPTIONS:
NONE
This commands creates a new virtual disk device.
The created disk has the highest disk number.
VDK DELETE
Delete a virtual disk device.
SYNTAX:
VDK.EXE DELETE
OPTIONS:
NONE
This command deletes a virtual disk device with the highest disk number.
A disk cannot be deleted if an image is opened, or any process is using it.
Disk #0 cannot be deleted (there must exist at least one disk device).
VDK VIEW
Print disk image information.
SYNTAX:
VDK.EXE VIEW image [/SEARCH:path]
OPTIONS:
image Path to the image to print the information.
/SEARCH:path
Specifies a path to search the image file (and related files).
The specified path has the highest priority in the searching
order, and searched even before the explicit paths in the
command line, descriptor files and virtual disk files.
This command prints the following information for the specified image:
Virtual disk capacity (in 512 byte sectors)
Number of files composing the image
Type, capacity and path of each component file
Size and type of each partition in the image
VDK OPEN
Open a disk image as a virtual drive.
SYNTAX:
VDK.EXE OPEN disk# image [/RW | /WB | /UNDO | /UNDO:path]
[/SEARCH:path] [/P:part#] [/L:drive]
OPTIONS:
disk# Specifies the virtual disk number.
This must be the first parameter.
'*' means the first available disk, and if all existing disk is
busy a new virtual disk is created.
image Specifies the path to the disk image file.
This must be the second parameter.
See IMAGE TYPES section below for more information
/RW Open the image in Read-Write mode.
/WB Open the image in Write-Block mode.
/UNDO | /UNDO:path
Creates a REDO log for the image and open in Read-Write mode.
If you specify a path, the REDO log is created in the specified
directory.
/P:part# Specifies a partition number to set a drive letter.
Drive letters can be set/removed later with LINK/ULINK commands.
By default, drive letters are assigned to all mountable partitions.
/L:drive Specifies drive letters to assign to partitions.
By default, the first available drive letter is used.
/SEARCH:path
Specifies a path to search the image file (and related files).
The specified path has the highest priority in the searching
order, and searched even before the explicit paths in the
command line, descriptor files and virtual disk files.
Only one of /RW, /WB and /UNDO can be used at a time.
When none of these is specified, the image is opened in Read-Only mode.
See ACCESS MODES section below for more information about these options.
VDK CLOSE
Close a disk image.
SYNTAX:
VDK.EXE CLOSE disk#
VDK.EXE CLOSE drive
OPTIONS:
disk# Specifies the target virtual disk number.
'*' means all existing virtual disks.
drive Specifies one of drive letters of partitions on the target
disk.
/Q Suppresses prompting and fails the operation when an error
has occured.
/F Suppresses prompting and forces the image to close even if
an error has occured.
Make sure that other programs are not using any partitions on the drive
before closing the image. Generally, the image should not be closed
while the virtual drive is used by any processes.
Although you can force to close the image by answering to do so when
asked or by using the /F option, you should be aware that to forcibly
closing an image may lead to loss of data or unexpected behavior of the
operating system.
VDK LINK
Assign a drive letter to a partition.
SYNTAX:
VDK.EXE LINK disk# part# [drive]
OPTIONS:
disk# Specifies the target virtual disk number.
part# Specifies the target partition number.
drive Specifies a drive letter to assign.
By default, the first available drive letter is used.
You cannot assign more than one drive letters to one partition.
You cannot assign a drive letter already used for another volume.
Use IMAGE command to see partition numbers and the current drive
letter assignment.
With usual (partitioned) virtual disks, the first partition on the disk
is partition 1, the second is partition 2, and so on.
Unlike Linux, partition numbers for primary partitions and logical
partitions are not distinguished -- logical partition number starts just
after the last primary partition and can be any number from 1.
Partition 0 represents the whole disk (like /dev/hda, /dev/hdb,
/dev/sda, etc. in Linux) and you should not assign a drive letter to it.
You can assign a drive letter, but file system drivers cannot access the
partition, because it is not formatted in any file system. It is just
like you don't usually mount /dev/hda in Linux.
Non-partitioned virtual disks (such as floppy image and removable disk
image) only have partition 0, and a drive letter is to be assigned to
this partition. Again, it is like mounting /dev/fd0 in Linux.
VDK ULINK
Remove a drive letter from a partition.
SYNTAX:
VDK.EXE ULINK disk# part#
VDK.EXE ULINK drive
OPTIONS:
disk# Specifies the target virtual disk number.
part# Specifies the target partition number.
drive Specifies the drive letter to remove.
This command can remove drive letters of virtual disk drives only.
Use IMAGE command to see partition numbers and the current drive
letter assignment.
Closing a virtual disk automatically unlinks all drive letters assigned
to partitions on the virtual disk.
VDK IMAGE
Print current virtual disk image information.
SYNTAX:
VDK.EXE IMAGE [disk#]
VDK.EXE IMAGE [drive]
OPTIONS:
disk# Specifies the target virtual disk number.
drive Specifies one of drive letters of partitions on the target
disk.
This command prints the following information for the target disk:
Virtual disk access mode
Virtual disk capacity (in 512 byte sectors)
Number of files composing the virtual disk
Type, capacity and path of each component file
Drive letter, size and type of each partition on the virtual disk
When target is not specified, information for all drives are printed.
VDK HELP
Print VDK.EXE command help.
SYNTAX:
VDK.EXE HELP [command]
OPTIONS:
command Specifies a VDK.EXE command to display help.
Following commands can be specified:
INSTALL REMOVE START STOP DRIVER
DISK CREATE DELETE VIEW OPEN
CLOSE LINK ULINK IMAGE HELP
If not specified, the general help is printed.
IMAGE TYPES
You can use virtual disks on both local and network drives.
VIEW and OPEN commands accept the following path expressions:
relative paths [<dir>\]<filename>
absolute paths x:\<dir>\<filename>
UNC paths \\<server>\<share>\<dir>\<filename>
VIEW/OPEN commands can handle the following types of virtual disks:
- VMware 2.x Plain Disk
Consists of one descriptor file (*.pln) and one or more raw data
files (*.dat).
Use the path to the descriptor file for VIEW/OPEN commands.
- VMware 2.x Virtual Disk / REDO log / differential disk (COWD version 1)
Consists of only one virtual disk file (*.dsk or *.REDO).
Use this path for VIEW/OPEN commands.
- VMware 3.x Virtual Disk / REDO log / differential disk (COWD version 3)
Consists of one or more virtual disk files (*.vmdk or *.REDO)
Use any one of the composing files for VIEW/OPEN commands.
- VMware 4.x Monolithic Flat Virtual Disk
Consists of a descriptor file (*.vmdk) and a data file (*-flat.vmdk).
Use the path to the descriptor file for VIEW/OPEN commands.
- VMware 4.x Split Flat Virtual Disk
Consists of one descriptor file (*.vmdk) and one or more raw data
files (*-fxxx.vmdk).
Use the path to the descriptor file for VIEW/OPEN commands.
- VMware 4.x Monolithic Sparse Virtual Disk (VMDK version 1)
Consists of only one virtual disk file (*.vmdk).
Use this path for VIEW/OPEN commands.
- VMware 4.x Split Sparse Virtual Disk / REDO log / differential disk
(VMDK version 1)
Consists of a descriptor file (*.vmdk or *.REDO_*) and one or more
virtual disk files (*-sxxx.vmdk or *-sxxx.REDO_*).
Use the path to the descriptor file for VIEW/OPEN commands.
- Single raw sector image file
Consists of only one raw sector image file. The file size must
be an integer multiple of 512.
Use this path for VIEW/OPEN commands.
- A set of raw sector image files
Consists of a descriptor file and one or more raw sector image files.
Use the path to the descriptor file for VIEW/OPEN commands.
The descriptor file in this case is a plain text file which simply
lists composing image files:
e.g.1
image01.dat
image02.dat
image03.dat
...
e.g.2
c:\data\volume.001
c:\data\volume.002
c:\data\volume.003
...
e.g.3
disk.img
c:\work\part2.dsk
..\image\data
ACCESS MODES
When an image is opened for read-only access (without any access mode
options) the virtual drive is treated as a write protected volume.
Even with /RW or /UNDO option, underlying files for REDO log,
differential/nested Virtual Disks are always opened for read-only access.
Use /RW option with extreme care because this option causes VDK to
modify the virtual disk files.
When you use /WB (write-block) option, you should avoid using the drive
for a long period of time or writing large amount of data to the drive.
The difference between data on the drive, which is unmodified, and data
in the OS's disk cache, which the OS believes to be written successfully
to the drive, may lead to an unpredictable behavior.
NOTES
Encrypted/compressed virtual disk files
NTFS has native support for encrypting/compressing files on the
volume. However VDK does not allow to open encrypted or compressed
virtual disk files. This is because the Windows cache manager may
deadlock if a virtual disk file is encrypted/compressed.
Resolving relative paths
If relative paths are used in descriptor files or REDO log,
differential/nested Virtual Disks, VMware resolves them from the
*.vmx file's location. However VDK.EXE tries to resolve them from
the current file's location, and VDK.EXE may not be able to find
the target files. In such cases, VDK.EXE will prompt you for the
correct path.
REDO logs created with /UNDO option
If you use /UNDO option for opening *.pln, *.dsk or *.vmdk files,
VMware will recognize the REDO log created by VDK.EXE, and you can
commit or discard the REDO log using VMware.
However VMware will not look for the REDO log for *.REDO files, so
if you use /UNDO option for opening *.REDO files, you have to
manually delete the created REDO log files afterward.
Opening REDO logs
VDK.EXE does not automatically open REDO log for the target disk as
VMware does (unless /UNDO option is specified). If you want to
open a REDO log, you have to explicitly specify the path to the REDO
log file as shown in the examples below:
VDK.EXE OPEN VDISK.VMDK
Opens VDISK.VMDK, even if VDISK.VMDK.REDO exists.
VDISK.VMDK.REDO is not used at all.
VDK.EXE OPEN VDISK.VMDK.REDO
Opens VDISK.VMDK.REDO, which must exist.
Also uses VDISK.VMDK for read-only access.
VDK.EXE OPEN VDISK.VMDK /UNDO
Creates VDISK.VMDK.REDO, which must NOT exist, then opens it
for read-write access.
Also uses VDISK.VMDK for read-only access.
VMware can use VDISK.VMDK.REDO and will automatically recognize
it when you use VDISK.VMDK as a virtual disk.
VDK.EXE OPEN VDISK.VMDK.REDO /UNDO
Creates VDISK.VMDK.REDO.REDO, which must NOT exist,
then opens it for read-write access.
Also uses VDISK.VMDK.REDO and VDISK.VMDK for read-only access.
VMware can use VDISK.VMDK.REDO.REDO but will not automatically
recognize it when you use VDISK.VMDK or VDISK.VMDK.REDO.
You must explicitly specify VDISK.VMDK.REDO.REDO for VMware to
use it.
Using REDO logs, differential/nested Virtual Disks
When changes are made to Virtual Disks, VDK does not update
timestamp or sequence number in the Virtual Disk header as VMware
does.
If you made any changes to parent/underlying disks of REDO log or
differential/nested Virtual Disks, VMware wouldn't know that they
are consequently invalidated.
Make sure not to make any changes to parent/underlying disks.
Do not use /RW option to open them, and use /UNDO or /WB option
instead if you need read-write access to the virtual drive.
Partition types on virtual disks
After successfully opened the virtual disk, VDK.EXE assigns drive
letters to partitions of the following types on the virtual drive:
- FAT16, NTFS partitions on Windows NT
- FAT16, FAT32, NTFS partitions on Windows 2000/XP
If you have 3rd party file system drivers installed on your system
and want to access those partitions, you have to manually assign
drive letters with VDK.EXE LINK command.
The following file system driver works on VDK without any known
problems:
- FAT32 for Windows NT
FAT32 file system driver for Windows NT 4.0
available from Sysinternals.
http://www.sysinternals.com/
- Paragon Ext2FS Anywhere Demo version
ext2/ext3 file system driver for Windows 95/98/ME/NT/2000/XP
(free trial version with restricted features)
available from Paragon Software Group
http://www.paragon-gmbh.com/
Thanks to Dave Parsons for mentioning this product to me.
I suppose that the product version also works, but I cannot
confirm it because I cannot afford it for the time being ;-)
The following file system drivers work on VDK with some issues:
- Ext2Fsd
ext2 file system driver for Windows 2000/XP
written by Matt Wu.
http://sys.xiloo.com/
* This driver only partially supports dismounting of the
volumes. Once you have mounted an ext2 partition, this driver
keeps hold of the partition object and prevents the VDK driver
from unloading (means that you cannot stop the VDK driver without
rebooting your system).
- Ext2 File System Driver for Windows NT 4.0
ext2 file system driver for Windows NT 4.0
written by Manoj Paul Joseph
http://freesourcecodes.tripod.com/ext2.htm
* This driver does not support dismounting of the volumes.
As a consequence, once you have mounted an ext2 partition, this
driver keeps hold of the partition object and prevents the VDK
driver from unloading.
- EXT2IFS
ext2 file system driver for Windows NT/2000/XP
written by John Newbigin
http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm
* This driver does not support dismounting of the volumes.
As a consequence, once you have mounted an ext2 partition, this
driver keeps hold of the partition object and prevents the VDK
driver from unloading.
** The GUI front end program included in EXT2IFS assumes
that all ext2 partitions exist only on fixed disks (very
reasonable assumption, I must say), so its drive letter
assignment method does not work well with VDK.
However if you assign drive letters to ext2 partitions on the
virtual drive with VDK.EXE, the EXT2IFS driver recognizes the
partition and you can access it.
You can also use other utitity programs to access such partitions:
- explore2fs
A program to access ext2 volume from Windows.
http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm
Thanks to João Alves for mentioning this program to me.
Read-only virtual drives and Windows
By default VDK.EXE opens virtual disks read-only for some safety.
However stupid Windows does not seem to cope well with the idea of
read-only hard disk drives:
- Windows NT and Windows 2000 simply cannot access NTFS partitions
on read-only volumes. (See the next section)
- Windows may occasionally complain that it cannot write to the
disk and warn you about loss of data. You can safely ignore it.
How can you lose data on read-only volumes anyway?
When VDK opens a virtual disk for read-only access, it properly
sets a flag to declare the drive as read-only, answers that the
volume is write protected whenever asked by the system, and
declines every write request with polite "no, you can't write
to this volume because it's write protected" status code.
Still, Windows tries to write. If Windows does not believe what
the drivers say and try to write anyway, why does it bother to
ask in the first place?
- Windows NT Disk Administrator causes the whole system to freeze
if you are using a read-only virtual drive.
- and, I suspect, many more...
Using NTFS partitions on virtual drives
Windows NT and Windows 2000 cannot mount NTFS partitions if the
volume is read-only, so you have to open virtual disks in writable
mode if you want to use NTFS partitions on it.
(Windows XP can mount read-only NTFS partitions).
However you must be very careful when you use NTFS partitions
created with Windows NT from Windows 2000/XP.
Windows NT and Windows 2000/XP actually use different versions of
NTFS (Windows NT uses NTFS 4, Windows 2000/XP uses NTFS 5).
When Windows 2000/XP finds NTFS 4 partitions it automatically
upgrades the file system to NTFS 5 WITHOUT EVER ASKING IF THE USER
WANTS IT. Actually Windows 2000/XP cannot mount NTFS 4 partitions
without converting it to NTFS 5.
On the other hand, Windows NT cannot access NTFS 5 partition at all
without the Service Pack 4 or later applied to the system, or even
with proper Service Packs some disk management programs cannot work
on NTFS 5 partition (chkdsk, certain defragment application, etc).
And it is impossible to revert the upgrading process.
Outrageous, isn't it?
When you want to access NTFS 4 partitions from Windows 2000/XP, do
not EVER use /RW option. Use /UNDO or /WB option instead.
HISTORY
05-06-2021 Version 3.3 (VDK.SYS 3.3, VDK.EXE 3.3)
- Modernization, cmake and fixes
06-04-2005 Version 3.2 (VDK.SYS 3.1, VDK.EXE 3.2)
- Accept virtual disks created with VMware 5.x
- Accept virtual disks with "lsilogic" virtual controller.
- Added /SEARCH option to VIEW and OPEN commands.
- Added /UNDO:path option to OPEN command.
10-11-2003 Version 3.1 (VDK.SYS 3.1, VDK.EXE 3.1)
- Fixed a bug that the driver could cause the system to stall
during the system shutdown.
- Fixed a bug that vdk.exe could not read extended partition
tables stored beyond 4GB from the beginning of the disk.
- Added /Q (quiet) and /F (force) options to CLOSE command.
- Corrected description of required privileges in the help
and the doc.
04-11-2003 Version 3.0 Release (VDK.SYS 3.0, VDK.EXE 3.0)
Added support for multiple virtual drives, write-block
mode, sector image file set, view information command.
30-07-2003 Version 2.0 Release (VDK.SYS 2.0, VDK.EXE 2.0)
Added support for VMware 4.0 virtual disks, simple sector
image files, non-partitioned disk image files.
27-05-2003 VDK.SYS 1.01
Fixed a major bug where it couldn't handle virtual disks
larger than 4GB properly.
20-05-2003 Initial Release (VDK.SYS 1.0, VDK.EXE 1.0)