diff options
Diffstat (limited to 'tools/dd-0.6beta3/ddchanges.txt')
| -rw-r--r-- | tools/dd-0.6beta3/ddchanges.txt | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/tools/dd-0.6beta3/ddchanges.txt b/tools/dd-0.6beta3/ddchanges.txt new file mode 100644 index 0000000..b238d58 --- /dev/null +++ b/tools/dd-0.6beta3/ddchanges.txt @@ -0,0 +1,131 @@ +TODO: notrunc feature + +0.6beta3 +======== +- add errorlevel exit code +- progress is written to stderr + +0.6beta2 +======== +- Implemented of=/dev/null which will just throw away the data +- skip on stdin now works +- fix checking size of floppy disks + +0.6beta1 +======== +- --progress output is in the same unit as bs is specified with +- new filter type 'file' which will Only write to a fileystem file +- new feature id=<drive>/od=<drive> for input disk and output disk. + if <drive> is the only partition on a disk, then the entire disk is selected + if you insert a USB disk and it is mounted as f: then 'id=f:' will select the + USB disk (not just the partition like if=\\.\f: would do) + +0.5 +=== +- count, seek and skip can now use a multiplicative suffix like bs +- stdin and stdout are now the defaults + +0.4beta6 +======== +- Implemented of=- for stdout +- Renamed if=- for stdin +- Messages are now printed to stderr + +0.4beta5 +======== +- If a partial block write fails, the buffer is padded to the end of the block and the write is attempted again. + This allows disk images which are not an exact multiple of the block size to be written to disk. + +0.4beta4 +======== +- Implemented if=stdin +- added --filter=<filter> to limit the types of devices which can be written to + <filter> can be one of: + fixed Only write to a fixed disk + removable Only write to a removable disk + disk Only write to any kind of disk + partition Only write to a partition + + These filters may change in the future. +- set default filter by renaming to dd-<filter>.exe (eg. dd-removable.exe can only write to removable disks) + + +0.4beta2 +======== +- --list shows disk and partition sizes +- --size added + +0.4beta1 +======== +- --list shows correct syntax for drive letters +- virtual devices added + +0.3 -> 0.4 +========== +- rrtool runs on Linux + +0.2 -> 0.3 +========== +- Modified native device scan to find noncontigiously numbered devices +- Show symlink destinations in device scan +- Open source file with FILE_SHARE_READ +- Stupid bug opening native output devices (assigned handle to input instead of + output) +- Stupid bug where native devices were always read only +- addedd progress indicator + + +WTF is the deal with all the device names? +========================================== +With every version of windows, the real name of disks and partitions changes. +If you realy want to know what is going on, grab a copy of System Internals +WinObj. + +There are 2 main sets of devices. Those which are exported to the Win32 +namespace and those which can only be accessed from NT Native API. + +Win32 devices names are also called "Dos Devices" and are opened using the Win32 +CreateFile function (This means Create a File handle, which may refer to an +already existing file). The filename is passed in as '\\.\devicename'. +This gets confusing because the "Dos Devices" are stored inside the NT directory +called '\??' so the Win32 API converts '\\.\devicename' into '\??\devicename'. + +For these "Dos Devices", dd uses the prefix '\\.'. When it sees this prefix it +open the device using the Win32 API like a normal file. + +The other devices are only exported into the NT object namespace. These devices +are normally in the 'Device' directory so for example, the first cdrom CdRom0 +is called '\Device\CdRom0'. This name must be passed into NtCreateFile so dd +introduces a special prefix '\\?' to indicate this. Therefor, 'dd --list' will +show names like '\\?\Device\CdRom0' + +Multiple names +Unfortunatly, there are multiple ways to identify a single device. Each version +of windows is different but normally there is only a single device and the +alternative name is a symbolic link. Symbolic links will be familiar to Unix +users but for the sake of Windows users, it is like a shortcut to another file. +These symbolic links can only exist in the NT object namespace and are not +generaly exported to Win32. (AFAIK, the normal NT filesystems do not suport +Unix like symbolic links, though there is no reason why they couldn't) + +'dd --list' will print out the destination of a link under the name of the +device. These links are always is the NT namespace and start with '\\?'. +You can use these links to match up which devices from each namespace are +indeed the same device. + +Simple eh? + +Unmounting devices +================== +Before writing to a device, it is probably a good idea to make sure that it is +not mounted. This is especially important if you will be writing a new +partition table. For this reason dd also implements a --unmount=<mount point> +flag. This will unmount the particular mount point. This should only be used +for removable media. The flag can be combined with regular dd options and can +be used multiple times to unmount from multiple locations + +dd --umount=i:\ + +WARNING: This removes the drive letter assignment. To restore the drive letter +you may have to use the Disk Manager (diskmgmt.msc)! + |
