A program to create both VHD or VMDK images of a windows drive or multiple drives
Ideally written in C#.NET or C++
1. must be standalone and not need installing, except for .NET framework if required
2. must be command line and not have a GUI.
3. must send progress output as it is going along to stdout saying progress % and file size so far and expected final size.
4. must return a code to say success or failure, reason for failure should be sent to stdout, with prefix of ERROR:
5. select from command line options what drive to image or multiple drives
6. must work on all versions of windows (XP, 2003 onwards, including windows7 and server 2008)
7. it must put the all necessary IDE drivers, HAL, Kernel and registry changes into the VHD or VMDK so that it starts up in Virtual Box / ESX / Hyper V
8. must be able to select file output format (VHD or VMDK)
9. must be able to image locked files using Volume Shadow Service, must VSS and snapshot all disks at start, to ensure consistency across the disks
10. must be able to supply a filter file with a list of directories/file
(inc. wildcards) that are not to be put into the image, i.e. C:\[url removed, login to view]
11. the image file must copy the boot sectors if there are any
12. all ACL/SECURITY/OWNER information for all files must be copied
13. The output file location will be specified on the command line as an option and could include a network share location and filename
14. must work even if the drive is listed as dynamic / mirrored in diskpart
i.e. [url removed, login to view] /DRIVE C: /FORMAT:VMDK /OUTPUT:\\192.168.1.1\SHARE
Will create one file called: [url removed, login to view] which is bootable and includes the boot sectors of that drive
[url removed, login to view] /DRIVE C:,D:,E: /FORMAT:VHD /OUTPUT:\\192.168.1.1\SHARE\[url removed, login to view]
Will create three files called:
[url removed, login to view], [url removed, login to view] and E.VHD.
[url removed, login to view] is bootable and has the boot sectors.
We'd like something similar to Disk2VHD from Microsoft sysinternals, however note the following
Disk2VHD has a GUI, whereas we want it command line.
Disk2VHD will create 1 VHD file even if there are multiple disks, we want 1 file for each disk.
Disk2VHD does not deal with drivers correctly (point 7)
* BSL will own the source code.
* You will let us know in detail how you are going to develop the program prior to beginning work.