Tools and utilities for Windows
Update history, most recent first
Minor update 28 January 2023
Minor update 4 January 2023
Minor update 15 November 2022
Web site update 06 November 2022
Update 13 June 2022
Update 7 November 2021
Update 5 November 2021
Update 10 September 2021
Update 30 August 2021
Update 6 August 2021
Fixed a bug in 32 bit version of swapadd that
caused an error message about an invalid second parameter.
Fixed a bug in devioctl related to the storprop
parameter that caused error message "incorrect function" in
some cases even when the underlying disk had support for
storage properties requests.
Update 21 January 2019
Update 18 November 2018
Minor update 10 November 2018
Minor update 13 May 2018
Minor update 26 Aug 2016
Minor update 24 Aug 2016
Website 9 July 2016
Bugfix 1 July 2016
- Release 0.3.0k of Stream Archiver, StrArc.
- Fixed a problem that caused restoring extended attributes
for directories to fail with "Access denied" error messages.
Extended attributes are rarely used for directories but it
has been seen for example for storing access control lists
for Linux and similar NFS clients.
Update 19 March 2016
- Added ARM architecture builds for some tools. For instance rawcopy,
strarc, devioctl, dosdev and a few
others that could be useful on Windows 10 IoT Core
ARM edition. Drivers like ImDisk and ZeroDrv
will also be published for ARM platforms in near future.
Bugfix 18 December 2015
- Devioctl tool.
- Fixed mistake that caused the RESCAN command to
not work. It should now work as expected, for instance: devioctl
Bugfix 16 December 2015
- ImDisk Virtual Disk Driver 2.0.9.
- Fixed serious issue. Attempts to create larger physical
memory RAM disks than allowed by current free amount of
memory could cause blue-screen crash.
Bugfixes 8 December 2015
- ImDisk Virtual Disk Driver 2.0.8.
- Fixed serious issue when using proxy services that support
the new unmap and zero requests (also
known as TRIM). The problem could cause hangs, crashes in
both user mode and kernel mode, the latter could cause
- Fixed another issue when using the -o sparse
flag. This problem could cause unexpected disk write
failures when writing to virtual disks backed by sparse
- Added a safe-guard check that verifies that a virtual disk
about to be created is larger than 64 KB. There have been a
few cases where various applications have created smaller
virtual disks by mistake which has caused crashes in
- Split imdisk.sys driver source code into eight source
files to improve readability.
Minor update 30 November 2015
- Devio tool
Fixed problems with building on systems with big endian
CPU architectures and some other scenarios with modern
Linux editions. There are now also links to built binaries
for Windows x86, Linux x86, FreeBSD x86 and FreeBSD x64 on
Update 16 November 2015
- ImDisk Virtual Disk Driver 2.0.7.
- Fixed problems formatting new virtual disks on latest
Windows 10 updates.
- Dropdown list with free drive letters in Control Panel
- Some changes related to source files, development etc:
- ImDisk driver source file is now C++ instead of C. New
name is sys\imdisk.cpp.
- Makefile in root of source tree is now improved to
make it easier for anyone to simply download WDK 7 and
build everything. Variables for using signing
certificates etc could be added later when needed.
- Resource (.rc) files now adjusted to work with Visual
- Experimental Visual Studio solution and project files
for making it easier to edit and build using WDK 8.1 and
later and using Visual Studio 2013 and later. WDK 7
could still be used for Makefile-based builds where that
- Devio sources modified to make it possible to build
correctly on modern Linux, FreeBSD, etc OS with gmake
and various *nix C/C++ compilers.
Bugfixes 17 August 2015
- ImDisk Virtual Disk Driver 2.0.6.
- Device list in Control Panel applet did not auto-refresh
when new virtual disks where added or removed by other
applications, such as command line tool. This has now been
corrected and it should no longer be necessary to manually
click refresh button in this case.
- Release 0.3.0h of Stream Archiver, StrArc.
- Restoring files and directories sometimes failed with
"Access denied" error messages, particularly to external
drives, attached virtual disks and similar. This should now
Bugfix 9 August 2015
- ImDisk Virtual Disk Driver 2.0.5.
- Device list in Control Panel applet did not correctly show
memory backed virtual disk that had been initialized with an
- Support for sending an image path (or any custom string)
through to proxy server. Syntax is server:port://path
where :port just like previously is optional and
defaults to 9000. The //path part is sent through
to server end as an IMDPROXY_REQ_CONNECT request and makes
it possible for one proxy service listening to one single
port to handle requests for many different images.
Bugfix 5 August 2015
- ImDisk Virtual Disk Driver 2.0.4.
- Fixed problem that could cause formatting to fail in some
Bugfix 4 August 2015
- ImDisk Virtual Disk Driver 2.0.3.
- Fixed serious issue with wrong drive formatted by command
Update 1 August 2015
- ImDisk Virtual Disk Driver 2.0.2.
- Fixed issue with saving virtual disk as image file from
Control Panel applet or Explorer context menu.
- New command line option -o shared that
forces driver to open images in shared write mode.
Update 29 July 2015
- ImDisk Virtual Disk Driver 2.0.1. Finalized version of earlier
beta, with these additions/changes.
- Fixed issue with using directories as mount point.
- Separate "zero range" and "unmap range" requests sent to
proxy, when proxy indicates support for such requests.
Minor update 21 May 2015
- w32ver.exe and w32verc.exe updated to display correct version
number even on Windows 8.1 and later.
- New features and updated help text added to devioctl.exe.
Update 16 May 2015
Website update 3 May 2015
- Added link to Arsenal Image Mounter.
Bugfix 2 April 2015
- ImDisk Virtual Disk Driver 1.9.4.
- Fixed bug in awealloc driver that appeared in version
1.9.3. This bug made it impossible to use physical RAM as
storage for virtual disks.
Update 1 April 2015
- ImDisk Virtual Disk Driver 1.9.3.
- Uninstall script now shows Control Panel applet if there
are any existing drives that can be removed by user. If
devices exist that are already in the process of being
removed, uninstall carries on and may ask for reboot at the
- Corrected bug in command line tool. The -m #:
syntax did not work if it appeared before -a on
the command line.
- Fixed bug that could cause image file saving to fail. This
happened when dismounting a memory backed disk from Explorer
context menu and this disk had been created without using an
- Symbolic links are now created for each ImDisk device.
Device number 0 can be opened using path \\?\ImDisk0
from a Win32 application.
- Modified the dosdev tool so that it returns
errorlevel other than zero if an error occurs.
Update 26 March 2015
- Added several new features to devioctl tool. It can
now offline and online disks and volumes, set or reset readonly
property on disks and show physical disk extents for each
disk volume. It can also change partition type for existing disk
- Corrected a minor mistake in strarc syntax help.
Also updated strarc.txt document and added
descriptions about recently added features.
Minor update 21 Feb 2015
- Minor corrections to history page.
Update 2 Feb 2015
- Added some tools in the .NET section. For example tools for
zip files, database queries, sending and receiving e-mails as
files, calculating checksums, coordinate transformations and
calculations and a few other things.
Layout changes 10 Jan 2015
- Some layout changes on the website to make it easier to view
on mobiles, tablets etc.
Bugfix 17 Dec 2014
- Bugfix release 1.9.2 of ImDisk Virtual Disk Driver.
- Data corruption could occur when loading large disk images
into virtual memory on Windows XP and older Windows
versions. Thanks to v77 for reporting this bug.
Bugfix 15 Dec 2014
- Bugfix release 1.9.1 of ImDisk Virtual Disk Driver.
- There was a problem related to drive letters when mounting
drives in Control Panel applet in 32 bit version of ImDisk
Virtual Disk Driver 1.9.0. Thanks to v77 for
reporting this bug.
Update 14 Dec 2014
- Release 1.9.0 of ImDisk Virtual Disk Driver.
- "Error" event log records changed severity level to
- Possible performance reducing code path corrected in
AWEAlloc. Page mapping function had a local unwind from
exception protection code. Some tests show that AWEAlloc
memory disk access performance has increased by around
- ImDisk virtual disk objects now support
ZwQueryInformationFile/FileStandardInformation to query size
as file size.
- devio.exe 3.03.
- Supports --novhd switch to disable dynamic
vhd file detection.
- Safer detection of dynamic vhd format (no longer
detects diff format).
- ImDisk "raw" (non-disk) mode now supports file pointer
requests to emulate one single file volume.
- Added a few more security checks to various function calls
in ImDisk and AWEAlloc.
- ImDisk now ignores any errors when attempting to read
volume boot record to auto-detect geometry parameters.
- ImDisk source code: Cleaned up annotations and debug
- ImDisk API: New API functions for manually sending shell
notifications for arrived or removed drive letters.
- ImDisk, fixed bug: Notifications on drive removal did not
remove MountPoints/MountPoints2 registry keys.
- Fixed missing function exports in "core version" of
Bugfix 8 Dec 2014
- Release 0.3.0f of Stream Archiver, StrArc.
- Bugfix: Compression attribute was not restored for
directories, only for files. Thanks to Alexander
Steinbrecher for reporting this bug.
Update 17 Sept 2014
Important fix 10 July 2014
Important fix 4 July 2014
Update 28 May 2014
- Release 1.8.2 of ImDisk Virtual Disk Driver.
- New command line switch -P that can be used with -a to
persist settings for creating a virtual disk in registry, or
with -d to remove such settings for an existing virtual
disk. Only a few, rather basic, settings could be saved in
this way. Settings for formatting or similar that requires
interaction with other applications are not possible to save
with this new -P switch.
- AWEAlloc driver: Protection against possible data
corruption when multiple I/O requests are handled
simultaneously. Not necessary when used with ImDisk, but
could add some extra protection when awealloc is used from
other applications or drivers.
- ImageOffset REG_QWORD registry setting, to specify offset
within image file. Implemented primarily to make it possible
to save -b switch settings in registry.
- Corrected some calls to IoCallDriver to make sure that not
the wrong level driver is called in the device stack used
for proxy communication. No problems have been reported
because of this, though, but this correction makes sure that
proxy communication works correctly even if filter drivers
are loaded for the communication device.
- Cache latest I/O block in the same way as in Arsenal Image
Mounter, to be returned directly in dispatch routine. This
could improve performance in cases where applications or
filesystem drivers frequently access the same areas on the
- AWEAlloc driver: Support for automatically expanding the
in-memory "file" when writing beyond EOF.
- Support for passing through IOCTL/FSCTL requests through
ImDisk driver down to the image file. Could be useful to
send direct filesystem control commands directly to the
driver that handles the underlying image file..
Update 1 May 2014
- Release 1.8.0 of ImDisk Virtual Disk Driver.
- "Emergency remove" option in Control Panel applet. Similar
to -R on command line.
- Command line tool could get stuck in endless loop when
error occurred when attempting to load hung driver. There
are now a few further protections to avoid this.
- Temporary drive letter assignment during formatting from
command line tool. This will hopefully fix the problem with
formatting wrong drive when drive letter is already defined
by an already existing other device. It also means that it
will be possible to format new virtual disks with no
assigned drive letters, as long as a temporary drive letter
could be assigned during format operation.
- A minor mistake in imdisk.h, about
ImDiskOpenDeviceByNumber: the description speaks of a
"FileName" argument instead of "DeviceNumber".
- Byte-swap feature. A new command line option to instruct
driver to byte-swap all I/O buffers. This is useful when
recovering files from hard disks from some embedded devices
or similar that store data in reverse byte order.
- Setup helper applications without crtdll.dll dependencies.
This makes it easier to install on Windows Server Core
editions where 32 bit crtdll.dll is not included.
Minor update 18 March 2014
- Release 0.3.0a of Stream Archiver, StrArc.
- Corrected a problem that caused extraction to stop on
files with alternate data streams.
Minor update 7 March 2014
- Change behaviour when output device/file cannot be opened
with the OPEN_ALWAYS flag. Now, in case of failure, it falls
back to trying OPEN_EXISTING instead, which should make it
possible to write raw blocks to disk devices even on
"modern" versions of Windows.
Minor update 21 February 2014
Minor update 13 February 2014
Minor update 8 February 2014
Update 25 October 2013
Update 14 June 2013
Update 13 June 2013
Update 27 May 2013
- Release 1.7.3 of ImDisk Virtual Disk Driver.
- Another bug, similar to the one corrected in 1.7.2, has
been found. This one could cause blue screens when a new
virtual disk was created after the driver had been in use
for a while. The cause of this bug has been identified and
the problem is fixed in version 1.7.3.
- Fixed the setup package so that awealloc driver
is now set to auto-start at system startup. This means that
physical memory backed virtual disks now could be created
without any further configuration after setup.
Update 13 May 2013
- Release 1.7.2 of ImDisk Virtual Disk Driver.
- A bug was introduced in 1.7.0 when support for more than
64 devices was added. This bug could, in rare cases, cause
blue screens when the ImDisk driver had not been in use for
a while and user requested a list of existing devices. This
bug has now been fixed and 1.7.2 is a release version.
Update 28 March 2013
- Beta release 1.7.1 of ImDisk Virtual Disk Driver.
- The awealloc driver can now pre-load allocated
memory with contents of an image file. This feature can be
used through the ImDisk API by specifying file type virtual
disk together with an AWE flag when mounting an image file.
Command line users can specify -o awe and
Control Panel applet users can tick a "physical memory" box
to use this feature.
- .NET assemblies, C/C++ headers and libraries etc has been
updated with the new AWE flag. Also a few new API functions
to detect "memory disks" of any kind, either directly using
virtual memory in the ImDisk driver or physical memory
Update 21 March 2013
- Release 0.2.0 of strarc
- Paths longer than 260 characters were not possible to
backup or restore. This has now been fixed and strarc can
now be used to backup and restore directory paths containing
up to 32,767 characters.
- In backup mode (-c), it is now possible
to specify -n instead of archive file.
This skips actual backup operation and just enumerates
directories and files that would have been backed up. Useful
to find possible errors and/or in combination with -l
(or -v) to list files that would have been
Update 15 March 2013
- Fixed issue with data corruption when restoring sparse files
from strarc archives. Archives containing sparse
files, made with older versions of strarc, are
compatible and can be restored correctly with the new version.
Update 10 March 2013
- Notice about known bugs and limitations for strarc.
Some serious bugs have been found, that may cause data
Update 8 March 2013
- Beta release 1.7.0 of ImDisk Virtual Disk Driver.
- Changed entire logic around device numbers. In practice,
this means that ImDisk now supports 64,000 simultaneous
virtual devices instead of 64. On the other hand, some
existing applications that use ImDisk may experience
compatibility issues if they rely on the old 64 bit device
list bit field. There is a new API function in imdisk.cpl
(ImDiskGetDeviceListEx) that returns complete drive list
with the new driver version. For .NET applications, no
changes should be necessary as long as applications work
with the new version of ImDiskNet.dll, which takes care of
changes internally. Also, note that devices are now not
necessarily returned in device number order.
- New function exported from imdisk.cpl. RunDLL_MountFileW.
This makes it possible to send Unicode filenames to "mount
new" dialog, which means that Unicode filenames now work
correctly when for example right-click on a file in Windows
- New device type option "raw", in addition to existing
"fd", "cd" and "hd". Raw creates a device with type
FILE_DEVICE_UNKNOWN, which means that Windows will not try
to mount any filesystems or similar on the virtual device.
This could be useful in combination with third-party drivers
which could provide other device objects and just use this
ImDisk device as backing store.
- Fixed problem with "media type" when auto-detecting
geometry from BIOS Parameter Block (Volume Boot Record)
- Driver now creates a global event object that
applications can open to synchronize with refresh events.
This event is fired by driver after changes such as drives
added or removed or settings changed for existing drives.
The event object can be opened using a new API function
ImDiskOpenRefreshEvent and used with operating system wait
functions. .NET applications can use a new method
ImDiskAPI.OpenRefreshEvent to get a WaitHandle in a similar
way, or just consume a static event,
ImDiskAPI.DriveListChanged. For example, the Control Panel
applet now uses this refresh event and thereby refreshes
drive list automatically when drives are added or removed
from other places, such as command line, API or Windows
Explorer context menu options.
- "Estimated size" for Control Panel Add/Remove Programs
changed to 320 KB. Should look more realistic.
- Please note that this version has some major
technical changes and is currently in beta stage. Until it
is proved stable, it will only be available through
separate beta release links.
- Control Panel applet changed so that no drive letters are
displayed for drives with "lost" drive letters. This could
happen if a new drive has been mounted with the same drive
letter afterwards, or similar. This also means that it
should now be possible to remove such "lost" drives directly
from Control Panel applet.
Minor update 13 Feb 2013
- Bug fixed in devioctl tool. When using "geometry"
parameter, the wrong source data was presented as "BPB physical
drive number". Also added a few more fields from FAT Extended
BPB and changed some fields to hexadecimal display.
Update 2 Nov 2012
- Release 1.6.0 of ImDisk Virtual Disk Driver.
- Changes to virtual disk geometry. The driver now reports
disk geometry based on volume boot sector values, when such
values exist. There were also errors in LBA to CHS
conversion when building image files with master boot
records, which should now be fixed.
- Partition auto-detection works with partition entries that
start at beginning of raw image file. This practically only
happens for "hybrid" ISO/HDD image files, which did not work
correctly with ImDisk partition auto-detection in earlier
versions. This change has also been made to the partition
detection logic in devio in a
- Support for sparse image files. A new command line option
-o sparse causes ImDisk to create a sparse image file. This
effectively sets sparse flag using FSCTL_SET_SPARSE, it
causes image file size not to be increased to virtual disk
automatically and it causes the image write routines to call
FSCTL_SET_ZERO_DATA when an all-zero block is written to
- The driver now uses tagged kernel pool allocations. This
means that poolmon.exe and other kernel memory monitoring,
verifying and leak detecting tools that work on running
drivers will work more like expected with ImDisk. Pool tag
for imdisk.sys is now "ImDi" and for awealloc.sys it has
been changed to "AWEA".
- The "wait for Windows Explorer" feature when double click
on a drive icon in Control Panel applet, introduced in
version 1.5.7, now has a timeout of five seconds.
- New API functions. One for detecting ISO CD/DVD image
files by recognizing a filesystem signature. Another for
reading disk geometry values defined in volume boot record
fields, into a DISK_GEOMETRY data structure. Functions
available both in C/C++ "flat" API and in .NET API library.
- Discussion about this ImDisk release in this forum thread.
Update 26 Aug 2012
- Update to checksum tool. Added parameters for using
HMAC keyed hash providers. Such providers can mix in a secret
key so that hashes only matches if same secret key is known when
hash is later verified. Also added parameters for loading hash
providers from custom assemblies.
Update 30 July 2012
- Release 1.0.1 of Zero and Random Device Driver.
- Corrected an issue where read buffers of non-multiple of
four bytes to the random device were not filled with random
numbers to the last up to three bytes.
- Changed the random data generator slightly to fill all
possible bits randomly. Previously, the high-order bit of
each fourth bytes were never filled with 1, and the
low-order bit of next coming bytes were not filled with 1
with same probability as other bits.
- Corrected an issue where read buffers of non-multiple of
four bytes to the random device were not filled with random
numbers to the last bytes.
- The random device is now a little bit slower, but still
works a lot faster and with better random data on 64 bit
Windows compared to 32 bit.
- Update to ImDisk Virtual Disk Driver setup package. The
install script in ImDisk setup package has changed so that it
skips displaying message boxes if environment variable IMDISK_SILENT_SETUP is set to the value
Minor update 16 Feb 2012
- Release 1.5.7 of ImDisk Virtual Disk Driver. Change in
Control Panel applet: When user double clicks on a disk icon in
device list, the applet will now check first that drive letter
is recognized by Windows Explorer, before sending a command to
Windows Explorer to open the drive root folder. This check
avoids the possible "Path does not exist" error messages from
Windows Explorer that could turn up in earlier versions. The
change does not apply on Windows NT 4.0 and older where there is
no drive list internally cached within Windows Explorer. While
the applet code is waiting for drive letter to appear in
Explorer, user can click a "Cancel" button to cancel out from
the wait operation.
Update 15 Feb 2012
- Corrected a problem with txtcnv32. In-place
conversion of files larger than 1 GB were not correct.
- Release 1.5.6 of ImDisk Virtual Disk Driver:
- API has been extended with new functions. Read inc\imdisk.h
in source archive for documentation about C/C++ usage, or
look here for documentation about .NET API. There are
also, as usual, xml files with method/parameter descriptions
available to each assembly file.
- Control Panel applet: When a new virtual disk is created, it
is automatically selected in device list.
Update 14 Jan 2012
- Added 64 bit ports of some more tools.
- Added some console based .NET tools, coordtool, checksum
and netcheck .
Update 15 Nov 2011
- New feature added to the rawcopy tool. Differential
copy mode where each block is compared between source and target
and only copied when different. There is a new switch -D
for this. Thanks to "LZ" for idea and modification.
- Release 1.5.3 of ImDisk Virtual Disk Driver:
- A serious bug in awealloc driver has been corrected. Data
corruption could occur on awealloc backed disks larger than 4
- Function ImDiskStartService in API has changed so
that it returns TRUE when the service is already running.
GetLastError() will return ERROR_SERVICE_ALREADY_RUNNING in that
case. This means that imdisk.exe and Control Panel applet will
behave more correctly now when another start control has been
sent to driver or service while these ImDisk control programs
are waiting to be able to start them. Thanks to "dickfitzwell"
in reboot.pro forum for reporting this problem.
- .NET/COM API has changed to use the modified ImDiskStartService
native API function instead of .NET ServiceController class
which means that no exception is thrown now when LoadDriver or
LoadHelperService methods are called when driver or service are
Minor update 5 Nov 2011
- The -i switch to rawcopy did not work
correctly. The copy progress stopped on read errors even if -i
switch was given on command line and error messages were not
displayed correctly in verbose mode for each I/O error. This is
- Changed the swapadd tool to display both current
size and used size of paging files.
Update 17 Oct 2011
Update 15 Oct 2011
- Release 1.5.2 of ImDisk Virtual Disk Driver. Fixed an error
in setup package. On some systems, ImDisk could be upgraded but
not installed without an existing older version already
installed. Application notifications changed when virtual disks
are created or removed. Added a flag to tell Windows not to wait
for applications that appear hung to process the notification.
Update 8 Oct 2011
- Release 1.5.1 of ImDisk Virtual Disk Driver.
- Setup package changed. It now registers drivers and service
with start mode set to "auto" so that they will start
automatically at system startup. It also automatically starts
drivers and service automatically at the end of setup so that
they will be immediately available. This should make setup
easier, particularly on Windows versions with UAC.
- Setup package now operate as follows. First, it checks if
there is an existing version of ImDisk installed and if there
are any virtual disks mounted. If there are any, it displays a
message that existing virtual disks should be dismounted before
upgrade. Otherwise it stops any existing drivers and service
that are about to be upgraded and continues with install/upgrade
.inf script. Then, starts the drivers and service and displays a
message box that setup was successful. This means that installed
or upgraded version will be available immediately.
- A new switch has been added to ImDisk command line control
program. The new option is -R and it can be
used to remove a hung virtual disk when nothing else helps. It
is a dangerous operation though, it does not attempt to dismount
the filesystem on the virtual disk or any other cleanup
operation, so it should only be used when no other option is
available. It could be useful for example for proxy type virtual
disks where the proxy server has stopped responding and driver
thread is hung waiting for a proxy response.
- The devio program has moved to version 3.01. It now
checks if the object name to be used for shared memory
communication is already used. In that case it just displays an
error message and exits. The objects for shared memory
communication are now also automatically created in global
namespace so explicitly prefix object names with Global
prefix is no longer needed. The DiscUtilsDevio tool
has also been changed in the same ways.
Minor update 8 May 2011
- Release 1.5.0 of ImDisk Virtual Disk Driver.
- Rewrote allocation logic in awealloc driver in
ImDisk package. From this version awealloc attempts to allocate
blocks from as high memory addresses as possible, even if not
all requested memory is available there, then allocating rest of
requested memory at lower addresses. This makes it transparent
to user, but each failing allocation attempt is logged in
Windows event log.
- ImDisk now supports shared memory and kernel synchronization
objects for transferring I/O requests and data between driver
and user mode proxy service. This should speed up I/O request
somewhat, although performance gain compared to TCP/IP is most
notable on old Windows versions, especially prior to Windows XP.
- The devio tool, the sample proxy service for
proxy-mode ImDisk operation has got some new features. Most
notably support for new shared memory communication described
above, but also support for loading third-party DLL files
implementing a simple I/O request API which makes it easier for
developers to write modules that support other image file
formats and similar. The I/O request API could be either plain
DLL function calls or a class in a .NET class library. This has
for example been tested with DiscUtils library, a library that
supports many image file formats.
- Fixed a problem in ImDiskNet.dll, the .NET/COM class library
for using ImDisk API. The problem caused exceptions about
missing functions on 64 bit Windows and when that was later
fixed the same exceptions started to occur on 32 bit Windows
instead. The current combination of latest imdisk.cpl and
ImDiskNet.dll should work correctly.
Minor update 21 Apr 2011
- Chsize32 updated to support larger file sizes than 4 GB.
- Rawcopy updated to support skipforward and copylength
parameters in files larger than 4 GB. Also added a new switch -f
that can be used to retry failed I/O operations a specified
number of times before the operation is considered failed.
Update 13 Mar 2011
- Release 1.4.2 of ImDisk Virtual Disk Driver. Added a new API
function, ImDiskCreateDeviceEx where caller can get device
number of created device. Also added a corresponding function to
.NET/COM DLL (now version 1.002).
Update 11 Jan 2011
- Release 1.4.1 of ImDisk Virtual Disk Driver. Corrected some
serious memory allocation bugs, memory access bugs etc for 64
bit version. Hopefully this will solve problems reported for
large memory disks. Thanks to David Wren, Passmark, for
debugging. Also changed the "attached disk notification" sent to
other applications in an attempt to solve a few problems
reported about invisible and incompatible ImDisk drives on
Update 9 Dec 2010
- Final release ImDisk Virtual Disk Driver 1.4.0.
Update 2 Dec 2010
- Beta release ImDisk Virtual Disk Driver version 1.4.0:
- Corrected a serious bug that seems to have particularly
caused blue screen crashes on 64 bit Windows versions on
multi-processor computers. Thanks to Bruce Cran for helping the
project with debugging on 64 bit architecture.
- Graphical user interface, that is Control Panel applet and
right-click menu option in Explorer now shows option to add MBR
(Master Boot Record) while saving disk contents to image file.
- Algorithm for selecting default virtual disk geometry (C/H/S
geometry) for virtual hard disk volumes changed. From this
version, driver will auto-select 255/63/512 geometry in most
cases. Only exception from this is when virtual disk is smaller
than about 2 GB in which case smaller tracks per cylinder size
is chosen. User defined virtual geometry can still be manually
selected using command line or API directly.
- ImDisk source archive now contains a subdirectory called
ImDiskNet. This is a .NET dll file which could be used from for
example VB.NET or C# to create/modify/delete/save etc virtual
disks. This dll also contains a class that can be used as a COM
object from VB6 or VBScript etc. This dll is also available for
- 64 bit setup now installs 32 bit imdisk.cpl and imdisk.exe in
addition to the usual 64 bit versions. This means that API calls
and command line calls will work from 32 bit applications even
on 64 bit Windows without tweaking with installing dlls manually
in correct directories etc.
- Updated "devio" tool. This version supports both reading and
writing dynamic resizing .vhd files used by Microsoft Virtual
PC, Virtual Server and Hyper-V. Earlier version had a serious
bug that would corrupt disk image when mounted for both reading
- Changed notification that is sent to other applications when
a new virtual disk is created. ImDisk does no longer wait for
all applications to process the notification. It however still
waits for all applications to process the notification that is
sent when a virtual disk is about to be deleted.
Update 27 July 2010
- Some files were missing in the source.7z archive and some old
files included by mistake. Cleaned up Makefile etc. Thanks to
Alberto Martínez for notifying me about this.
Update 7 June 2010
- Release 1.3.1 of ImDisk
Virtual Disk Driver . Two problems have been
- Device control code IOCTL_IMDISK_QUERY_DEVICE did not report
image file offset.
- On Windows versions with UAC, proxy connection did not work
because of permission errors when connecting to the helper
Minor update 13 April 2010
- Release 1.3.0 of ImDisk
Virtual Disk Driver . New registry setting DisallowedDriveLetters that
can be used to specify drive letters not allowed to be used for
ImDisk virtual disks. It should be a string value containing
drive letters to disallow. The value should be created under the
Update 9 March 2010
- The zip archives for 64 bit editions of strarc and regrepl had been replaced
by 32 bit versions by mistake in the recent updates of this
page. This has been corrected now. Thanks to Anton Yermakoff for
notifying me about this problem. If you have got 32 bit versions
because of this during this time you can now correct that by
downloading the new archives.
Update 6 March 2010
- Release 1.2.8 of ImDisk
Virtual Disk Driver . Further corrections to the
routine that saves disk contents as an image file. Buffer sizes
are now adjusted to make sure that the complete disk contents
- New features to rawcopy
including options to select unbuffered I/O and direct DASD I/O.
Update 5 March 2010
- Release 1.2.7 of ImDisk
Virtual Disk Driver . A correction was made to the
routine that saves disk contents as an image file. Thanks to
"TheK" for suggesting this fix.
Update 2 March 2010
- Release 1.2.6 of ImDisk
Virtual Disk Driver . When contents of a disk volume
is saved as an image file from Control Panel applet or using
Explorer context menu option it is now ensured that the
resulting image file has the same size as the saved disk volume.
This means that even if the underlying filesystem driver does
not return all data at the end of the disk volume the image file
will still be padded and filled up to the matching size so that
everything works correctly when the image file is later mounted
as a virtual disk.
Update 25 Feb 2010
- Release 1.2.5 of ImDisk
Virtual Disk Driver . Registry settings for
auto-creating a virtual memory backed virtual disk pre-loaded
with an image file did not work without setting disk size
explicitly on 64 bit versions. This has now been corrected to
work as expected, that is, disk size is automatically detected
from image file size like in 32 bit version.
Update 18 Feb 2010
- Release 1.2.4 of ImDisk
Virtual Disk Driver . When registry settings where
setup for the driver to auto-create a virtual disk when driver
is loaded, specified drive letter was not assigned for the
device. This has now been corrected.
Minor update 16 Feb 2010
- ImDisk Virtual Disk Driver
and Zero and Random Device
Driver 64 bit drivers are now digitally signed with a
certificate trusted by Microsoft. This means that they now work
on 64 bit editions of Windows Vista, Windows Server 2008 and
Windows 7 without Windows running in testsigning mode.
Update 23 Dec 2009
- Modified sizdir32.exe
so that it now displays correct allocation size for sparse files
as well as compressed files.
Minor update 10 Dec 2009
- Release 1.2.3 of ImDisk
Virtual Disk Driver .
- The driver now supports 64 virtual drives instead of 32.
- ImDisk virtual disks can now hold Windows swap files. Useful
if you want to create a swap file on a disk-less (RAM-booted)
machine, or if you want to create a swap file on a network
- Security change. On Windows XP and later, file permissions
are now checked so that user mounting a new virtual disk
actually has requested access to the image file to mount. If
user does not have access to the image file, the device creation
operation is denied by the driver and is reported as an "Access
denied" error message to the user. On Windows 2000 and earlier
the driver works like in previous versions, that is, without any
- Security fix. There was a privilege check missing in a
callback that the helper service uses to callback into the
driver when a proxy connection has been established and is ready
to be used by the driver. Without this privilege check there is
a backdoor into privileged kernel space. This has now been
Update 7 Dec 2009
- 64-bit versions of Zero
and Random Device Driver now uses a new faster kernel
API for generating random characters.
Update 23 Nov 2009
- Release 1.1.6 of ImDisk
Virtual Disk Driver .
- Added further support for dismounting virtual disks without
administrative privileges. Previously ordinary users could not
force dismount of "fixed" virtual hard disks. This has now been
changed so that any user can force a dismount.
- Changed the routine that removes virtual disks so that in
case of RAM disks the drive letter and used memory are freed
first before it waits for handles to close and actually removes
the device object. This means that RAM can now be freed
immediately when a RAM disk is deleted even if the device cannot
be immediately removed.
- Changed rawcopy so
that parameters accept K, M and G suffixes for kilobytes,
megabytes and gigabytes.
- Added 64-bit versions of regrepl,
strarc and winlogoncfg for better
compatibility with 64-bit versions of Windows.
Update 21 Apr 2009
- Release 1.1.5 of ImDisk
Virtual Disk Driver . Corrected a few things regarding
creating and removing drive letters. Sometimes drive letters
were not successfully removed when non-privileged users
unmounted a virtual disk. This seems to be fixed now. Also
corrected shell notifications when drives are mounted and
dismounted so that applications get correct notifications.
Earlier, for example, notifications where sent out for drive
letter X when drive Y was created or removed. A confirmation
dialog has also been added where user has to confirm mounting a
virtual disk over a drive letter that is already in use.
Minor update 28 Jan 2009
- Release 1.1.4 of ImDisk
Virtual Disk Driver . Automatic partition recognition
was not successful with other sector size than 512 bytes. This
is now fixed.
Update 27 Jan 2009
- Release 1.2.1 of rawcopy.
The behaviour when -s
switch is used has changed. It now skips writing blocks
containing all zeroes and instead just moves the file pointer
Update 5 Dec 2008
- Release 1.2.0 of rawcopy.
There is now a -s
switch that creates output files as sparse files.
Minor update 2 Dec 2008
- Release 1.1.3 of ImDisk
Virtual Disk Driver . Corrected one additional problem
with the auto-detection of master boot records in image files.
Corrected a serious problem with proxy-type virtual disks where
a malformed I/O message from the proxy server could cause
blue-screens in some cases. The install package now also
includes binaries for 64-bit AMD and Intel architectures.
- The server-end program for ImDisk in proxy-mode, devio.exe has been updated.
Auto-detection of file sizes now works under both Windows and
*nix and it also supports auto-detection of master boot records
and selecting parameters for a partition read from the master
boot record. Support has also been added for dynamically
expanding Microsoft .vhd files used with Virtual PC and Virtual
Server. Fixed size .vhd files have been possible to mount
directly with ImDisk before but this adds support for
dynamically expanding .vhd files via devio.exe as a I/O proxy. The tool devio.exe is a command line
tool and can be
downloaded here (Windows version) or here (FreeBSD
Minor update 25 Nov 2008
- Release 1.1.2 of ImDisk
Virtual Disk Driver . Corrected some problems with the
auto-detection of master boot records in image files and added a
new feature where the driver sets a flag when a virtual disk has
been written to. This flag can be cleared with the imdisk -e -o saved command
and is shown for example with
imdisk -l -m R: or similar. This should make it
possible to script a solution where a RAM disk could be saved to
an image file if it has been modified. Thanks to "Zero3K" for suggesting
Update 23 Nov 2008
- Release 1.1.1 of ImDisk
Virtual Disk Driver . The driver now automatically
detects .iso, .nrg and .bin files as CD/DVD images.
Minor update 18 Nov 2008
- Release 1.1.0 of ImDisk
Virtual Disk Driver . The user interface now supports
auto-selecting values for offset and size by reading partition
table in raw hard disk images. This makes it a lot easier to
mount a partition within a hard disk image file. For the command
line tool a new switch -v has been added used to select which
partition to mount. The user interface also support
auto-selecting offset when mounting Nero .nrg and Microsoft .sdi
image files. With the command line tool imdisk.exe the switch -b
with parameter auto is
used for this.
Minor update 4 Nov 2008
- Updated error reporting in strarc
so that the name of any directory that cannot be created or
changed to is displayed in the error output. This could be
useful for example when error output from many strarc runs are
appended to the same error log file. The new version is 0.1.4a.
Minor update 7 Aug 2008
- Release 1.0.4 of ImDisk Virtual Disk Driver. Added an option
to force removal of ImDisk virtual disks from command line even
when devices are in use. Use a capital letter 'D' in the delete
switch to imdisk.exe to use this option, for example: imdisk -D -m R:
Minor update 28 May 2008
- Correction to the sector size in the geteltorito tool. The
extracted boot images were always four times larger than
expected. Thanks to Jose Acevedo for notifying me about this and
for suggesting a fix.
Minor update 15 Feb 2008
- Changed the ImDisk
install script so that a fixed estimated size is used by the
Add/Remove Program Control Panel applet. This should fix the
problem with Windows 2000 calculating the entire size of the
system32 as the size of ImDisk. Thanks to Stefan Kanthak for
notifying me about this and for suggesting a fix.
Minor update 4 Feb 2008
- New ImDisk feature. It is now possible to type a negative
size value on the command line when creating a virtual disk.
This means that the size of the virtual disk will be the amount
of free physical memory minus this value. This is useful when
creating large RAM-disks where the size should depend on the
amount of free memory.
Minor update 18 Nov 2007
- Corrected some texts in ImDisk components, for example some
typos and errors in messages and source code comments.
Minor update 16 Oct 2007
- Changed the icons in the Control Panel applet and added a
context menu. It is now possible to right-click on a device in
the list and get a menu with commands for that device.
Minor update 6 Sept 2007
- Fixed an error in the ImDisk Control Panel Applet. The unit
selection radio buttons for offset in image files did not work
- Added broadcasting of WM_DEVICECHANGE messages when devices
are about to be removed as an attempt to resolve this issue:
TortoiseSVN incompatibility issue
Minor update 19 Jul 2007
- Minor layout changes to the "Mount new" dialog box in ImDisk
Control Panel Applet.
Minor update 13 Jul 2007
- Two errors in buffer-checking code found, one in ImDisk and the other in Zero and Random Device Driver.
I recommend all users to install the latest versions as these
bugs under some circumstances can blue-screen the system. Thanks
again to Sebastian Gottschalk for code reviewing.
Minor update 8 Jul 2007
- Two buffer-overrun bugs found and fixed in ImDisk. Special thanks to
Sebastian Gottschalk for code reviewing.
Update 13 Jun 2007
- Some minor changes to ImDisk.
The window style for the Control Panel applet has been changed
so that it shows up on the taskbar and can be minimized as well.
The image size visualization for some common floppy sizes are
now changed in the Control Panel applet to the more commonly
used "thousands of KB". This is done for the floppy sizes 2,880
KB, 1,722 KB, 1,680 KB, 1,440 KB and 1,200 KB.
Minor update 3 Jun 2007
- Some changes have been made to ImDisk. It is now possible to set or reset the
removable and read-only media characteristics of an existing
virtual disk. This means for example that a virtual memory
backed virtual disk now can be made read-only without first
saving an image of it and re-mount that image read-only. I/O
delays to virtual memory backed virtual disks has been removed
so the write performance should be much better now.
Minor update 29 May 2007
- Added a "Filesystem" column to the virtual disk list in the ImDisk Control Panel
- Corrected an error in the ImDisk
command line tool imdisk.exe. If the -p parameter was
used with a virtual disk without a drive letter the program
crashed. It now displays a message telling that a drive letter
is required for the -p parameter to work.
Minor update 25 May 2007
- Fixed a problem with ImDisk.
When the menu item "Save disk contents as image file" on a drive
icon in Windows Explorer was selected on a drive that was in use
a message box was displayed asking whether or not to continue
without dismounting the volume. The operation continued even if
"Cancel" was selected in the message box. That is now corrected.
Update 16 May 2007
- Added support for a couple of more floppy disk sizes to ImDisk.
- Fixed the character set used for file name reporting in the fileinfo tool.
Minor update 12 May 2007
- Release of version 1.0.3 of ImDisk Virtual Disk Driver . The following
are some of the new features and changes.
- Corrected auto-selection of geometry so that sector size of
512 bytes is selected for virtual hd and fd and 2048 for virtual
cd. It is still possible to manually override the default
settings using the -S parameter on the command line.
- The buttons in the Control Panel applet have been re-ordered
and the 'Done' button is renamed to 'Close'.
- Corrected some very difficult-to-understand or just mistyped
texts in the help text displayed when imdisk.exe is run without
parameters (or when incompatible or bad syntax is used).
- All numeric parameters to imdisk.exe are now checked so that
they are really numeric. Earlier it was possible, although
confusing, to type for example imdisk -d -u F:. Because
-u takes a device number as parameter it translated F: into a
number and because F: is not a number it got zero and removed
device number zero even if that was not actually F:. There was a
risk that users removed the wrong device in such cases.
- It is now possible to extend the size of RAM-disks too.
However note that the resizing of RAM-disks may take a long time
because the driver needs to allocate a new block of memory with
the new size, copy the contents of the old memory block to the
new one and then release the old block. This means that RAM and
CPU usage may be very high during the resize operation.
- The behaviour when creating a RAM-disk pre-loaded with an
image file has changed so that the loading of the image file
into the RAM-disk memory block is done after control has
returned to the caller but before the driver actually starts
service I/O requests for the virtual disk. This means that when
a RAM-disk with pre-loaded image file is created from for
example a batch file the batch file does no longer hang waiting
for the RAM-disk to be completely loaded with the image file.
- It is now possible to format virtual disks directly from the
Control Panel applet.
- When a new virtual disk is created using the command line
tool imdisk.exe it is now possible to have the newly created
virtual disk automatically formatted. This is implemented by
imdisk.exe calling format.com after virtual disk creation. The
new -p command line option is used for specifying
additional parameters to the format.com command line, such as
switches for specifying filesystem, volume label etc. Type
imdisk.exe without parameters for more information about this
- Support has been added for mounting image files and
specifying offset where the disk partition image begins within
the image file. The new -b command line option is used
- It is now possible to double-click on a virtual disk in the
list in the Control Panel applet to open the virtual disk root
folder in a Windows Explorer window.
- It is now possible to specify a per cent sign % as a
suffix to the size parameter, -s on the command line. It
means percentage of free physical memory which could be useful
when creating RAM-disks. For example -s 20% creates a
RAM-disk of 20 per cents of the size of currently free physical
memory. (Note that you will need double per cent signs if you
are using this syntax in a batch file.)
- A refresh command has been added to the Control Panel applet.
While the list of current virtual disks has keyboard focus it is
now possible to press F5 to refresh the list. This is useful
when virtual disks are added or removed from the command line or
directly from Windows Explorer while the Control Panel applet is
- Corrected and added virtual disk geometries for some old
- Added a new item to the context menu that is displayed when
right-clicking a drive in Windows Explorer. The new menu is used
to save the contents of a disk as an image file.
- Most of the these changes come from ideas discussed at forums
boot-land forum . If you have any ideas you would like to
share you are welcome to discuss the development of my open
source tools there.
Minor update 11 May 2007
- Fixed a command line parsing bug in the imdisk.exe command line
tool for ImDisk Virtual Disk
Driver . Any string was accepted as a device number
with the -u parameter and in case it was not a number it was
translated to zero. This was confusing and misleading and is now
corrected so that only numbers are accepted with the -u
- Changed enumwinw.exe
(the graphical tool for finding and manipulating windows) so
that it now uses ShowWindowAsync() instead of ShowWindow() when
showing or hiding windows. This fixes the problem that caused enumwinw.exe to hang when
trying to show/hide a window that belonged to a hung
Minor update 24 Apr 2007
- I have tried to clarify the license for ImDisk Virtual Disk Driver
and there is now a discussion forum about ImDisk and other tools here
on the boot-land
forum. More about that in the section about ImDisk.
- It is now possible to use the first unused drive letter even
when mounting virtual disks from the command line with ImDisk. Specify #: as drive letter for this
- Changed the behaviour of the context menu items in Windows
Explorer. There is now only one menu item and that one brings up
the "create new virtual disk" dialog before doing anything. This
way I hope to reduce the risk of mounting files as a virtual
disks by mistake as that could be dangerous and lead to
destroyed contents of mounted files.
Update 23 Apr 2007
- Updated strarc so
that it now correctly restores the sparse file attribute (unless
the -s:c option is specified).
- Small fixes to ImDisk,
mainly to the install routine. It now adds two context menu
items for file objects in Windows Explorer, one for read-only
and one for read/write mounting and it adds one menu item for
drive objects to unmount them.
Update 14 Apr 2007
- Release of version 1.0.2 of ImDisk. This version includes some new
features and small fixes. Formatting FAT/FAT32 on Windows 2000
now works again. Faster TCP/IP forwarded I/O through a modified
helper service. Removable and hot-plug device properties with
the -o rem switch. Better handling of removal of devices where
I/O to underlying device have failed. It is now possible to
extend the size of mounted virtual disks with the new -e switch.
First free drive letter is now automatically suggested in the
"Mount new virtual disk" dialog box. When removing virtual disks
it is now possible to force dismounting of the filesystem if it
cannot be gracefully dismounted. A right-click menu item for
mounting files as a virtual disks is now added for Windows
Explorer file objects.
- Also added some new features to the devioctl tool. It can now be used to extend
the size of partitions and filesystems and also display more
detailed geometry and size information about disk drives.
- Adjusted the default I/O buffer size in strarc. Should be more
cache-effective and reasonable now.
Update 19 Mar 2007
- Release of version 1.0.1 of ImDisk. Corrected the driver so that the
auto-selection of device type never overrides the device type
selected manually on the command line (like it should have
worked). Also updated the format the user interface applications
and the driver use to send information about the virtual device
geometry and volume length so that the volume length (from
existing file size or specified by user) is always preserved and
the number of cylinders rounded down if necessary. This was only
a problem when mounting a volume that was meant to be later
written out as a physical partition and the virtual geometry has
to be equal to that of the future physical volume when
filesystem is created or checked.
Update 17 Mar 2007
- Added a new tool called geteltorito.
More information by the link to geteltorito.zip.
Minor update 14 Mar 2007
- Several fixes and changes in ImDisk Virtual Disk Driver.
- There have been some issues with using subdirectories as
mount points for virtual drives, for example related to file
listing etc. That should be fixed now.
- On most Windows NT 3.51 or 4.0 systems it has not been
possible to dismount virtual CD/DVD-ROM drives. Even though
there still seem to be some problems, especially in combination
with some filesystem drivers, it now seem to work at least in
- The behaviour of the driver is now changed so that it keeps
information about associated drive letter even on Windows NT
3.51 or 4.0. This was changed mainly because it simplified the
development of GUI control tools.
- Developed a small Control Panel applet for controlling the
ImDisk Virtual Disk Driver. The default install package installs
it and adds an ImDisk
icon to the Control Panel. The applet can be used for the basic
tasks with ImDisk,
mounting/dismounting virtual disks, but it does not have the
full functionality the command line interface has.
- Also fixed a problem in the devioctl tool so that it now can eject
CD/DVD-ROM drives in Windows NT 3.51 or NT 4.0.
Minor update 11 Mar 2007
- Fixed the ImDisk
install package. The old .inf file seems to have been packaged
with the new version from 11 march (incompatible). Should be
- Fixed a problem with strarc.
If a file read operation fails during a backup job, the restore
routine could get confused about the data stream and not
restoring any files until the size of the failed file was
streamed to it, which means that it could skip restoring files
under these circumstances. The behaviour of the restore routine
is now changed so that if a file restore fails it immediately
returns to scanning the stream for new file headers, which
should solve most of these problems.
Minor update 4 Feb 2007
- Fixed a bug in the ImDisk
driver. If the system would run out of kernel pool memory during
driver initialization in combination with registry settings for
creating virtual drives while the driver was loaded, it could
attempt to free other drivers memory and possibly blue screen.
Also rebuilt ImDisk
new Windows Driver Kit (WDK) .
Minor update 13 Dec 2006
- Modified the way ImDisk
emulates multi-session CD/DVD. Images of multi-session CD/DVD
were not handled correctly which confused some UDF filesystem
drivers which made it very difficult to read for example the WDK
images from Microsoft with some UDF filesystem drivers
installed. This seems to be fixed with this modification. Thanks
very much to Federico Bianchi for notifying me about this
Minor update 1 Dec 2006
- Fixed a problem with ImDisk.
Write permission was required for the image file unless the -o
command line option specified ro
for a read-only virtual disk. This was true even for virtual
CD-ROM drives even though they are always read-only and never
make any use of the write permission for the image file. This is
now corrected so that only read permission for the image file is
required to create virtual CD-ROM drives.
Minor update 23 Nov 2006
- Fixed a problem with ImDisk.
The command line tool imdisk.exe
did not accept multiple options separated by commas as the
documentation stated. This is now corrected.
Minor update 21 Nov 2006
- Fixed a problem with ImDisk.
The command line tool imdisk.exe
had a misleading help text telling that a b suffix to virtual disk
sizes meant bytes and that sizes without suffixes meant number
of 512-byte blocks. Actually, the b suffix was not accepted and sizes without a
suffix was taken as bytes. Now, added a b suffix that takes the
size as number of 512-byte blocks. Without suffix still means
bytes. Also corrected and updated the help text to reflect this.
Minor update 21 Sept 2006
- Changed sizdir32.exe
so that the summary now includes total used, total free and per
cent used and free.
Minor update 29 Jun 2006
- Fixed a problem with ImDisk.
The command line tool imdisk.exe
did not accept the cd
parameter to the -o option.
Minor update 27 Jun 2006
- Corrected the link to dosdev.zip.
Minor update 26 Jun 2006
- Revision 0.1.3c of strarc.
Corrected a mistake from yesterday. Extended characters were not
displayed correctly in file listings (converted to OEM charset
Minor update 18 Jun 2006
- Revision 0.1.3b of strarc.
Changed the file listing with the -l switch to not attempt to
break lines at spaces in paths. The reason to this change is to
make it possible to write the backup listing to a log file
without having the paths modified for console display.
Minor update 27 Apr 2006
- Fixed several broken links on this page.
Minor update 10 Mar 2006
- Fixed a problem with popdump
that caused it to not receive messages from some servers. Thanks
to Joseph Brown for notifying me about this bug.
Serious bugfix 8 Mar 2006
- Small change of the install routine for the Zero And Random Device Driver.
The driver will now load automatically when install is finished.
Minor update 7 Mar 2006
- Revision 0.1.3a of strarc.
Fixed a problem when restoring over existing files with more
than one hard link. The bug caused existing file to be truncated
to zero bytes. Update your strarc.exe
to the latest version before restoring over existing files with
more than one hard link.
Minor update 5 Mar 2006
- Still some problems with displaying error messages with
correct line breaks etc. Seem to be fixed now.
Minor update 2 Mar 2006
- Added some new features to txtcnv32.
It is now possible to specify codepages to convert from and to,
or to convert from or to 16-bit Unicode from or to a specific
Update 1 Mar 2006
- Fixed an error in my CRT that caused error messages with file
names to be displayed with the wrong character set for the file
name but the correct one for the error message string. At least
it is now consequent after this fix...
Minor update 21 May 2005
- Added a new section called
Device driver projects on this page. Here I will
publish the open-source driver projects I am working on.
- Introducing a new device driver project called ImDisk. This is basically a
virtual disk driver for Windows NT/2000/XP/Server 2003 that can
use disk files, virtual memory or a device on another computer
on the network to emulate disk drives. It is even possible to
boot a machine with NTFS partitions using a Unix Live-CD and use
the included devio
tool to let ImDisk on
another computer running Windows on the network mount the NTFS
partition on the machine you booted with the Unix Live-CD. This
way you can recover information and even run chkdsk on drives on
machines where Windows does not boot.
- Fixed an issue with fdf.
Previously when the -c switch were used to split links, fdf did
not check if two links found actually were the same link which
could cause it to delete the last link to the file. This
happened when the -j switch was not used and the same link was
found following two paths where one included a junction point
that pointed to the other path. When following the directory
trees fdf did not check if the two paths followed actually were
the same. With this fix, fdf no longer deletes the last link to
a file when running with the -c switch.
- Release 0.1.3 of strarc.
With the new switch -r is now possible to include the registry
database files of a running Windows system in a backup. This
makes it much easier to create a complete backup of a running
system. For more information read the strarc.txt file in the zip
file. The default buffer size is now changed from 512 KB to 2
MB. After some benchmark tests I have realized that 512 KB was
not an optimal size for speed, but of course for memory usage.
It is still possible to specify on the command line a smaller or
bigger buffer size than the default.
- Added a new device driver called Zero And Random Device Driver. It creates two
device objects called \\.\zero
and \\.\random that
works like /dev/zero and /dev/random in *nix environments. This
makes it possible to create a file filled with zeros using dd, example: dd if=\\.\zero of=zerofile
- Added some new features to devioctl.
It is now possible to query disk geometry and partition length
- Added a new check box in winlogoncfg.
It is now possible to enable/disable the requirement of pressing
Ctrl+Alt+Delete to log on to Windows.
- Rewrote some CRT stuff again and rebuilt most of the
programs. The change made many of the larger exe files smaller
and some of the smaller files got slightly bigger but in many
other ways more optimized for speed and memory usage. I also
corrected the way Windows error messages are displayed in
console applications so that line breaks now works correctly.
Minor update 15 May 2005
- Added a new feature to fdf.
It is now possible to skip certain bytes at the beginning of
each file when comparing their contents. This is good if you
e.g. want to search your mp3 archive and find similar files
where only the header is different.
- Rebuilt some "Windows NT only" tools as fixed
(non-relocatable) exe files. This saved some file size.
Minor update 11 May 2005
- Fixed a problem in strarc.
The problem occurred when restoring hard links to files with
read-only attribute set.
Update 19 Apr 2005
- Found and fixed a small memory leak in strarc and fdf when the utilities
created new hard links to files.
- Rewrote some CRT stuff and rebuilt some of the programs. The
change made some of the exe files smaller and in other ways more
optimized, nothing else.
- Added some new switches to the movent tool.
- Added some better error reporting in logonwrap.
Update 10 Apr 2005
- Release 0.1.2b of strarc.
I have received reports about an error in strarc that causes
hard links not to be restored in some directories and I have
only been able to reproduce the error on Windows NT 4.0. I have
changed the restore code so that the hard link restore code now
uses the NtSetInformationFile() API directly and does not use
BackupWrite() API at all and that seems to have corrected the
error. I also made a correction so that an error message is
displayed when hard links cannot be restored and files are
copied instead, unless of course hard link restore is disabled
by command line parameters.
Update 18 Mar 2005
- Release 0.1.2 of strarc
with some new features, e.g. an extract option that only
freshening existing files.
- Added winlogoncfg.
Update 25 Jan 2005
- Fixed a bug in the CRT library that could cause exception
when no command line parameters were sent from some shells.
Rebuilt most of the files here.
- Release 0.1.1b of strarc
with some new features.
- Finally got some time to rebuild the old regrepl and fsplitw tools so that they
linked with my CRT library. The size of regrepl.exe is now 15 360
bytes instead of 396,288 bytes as it was with the old Borland
CRT. I added some new features to regrepl too, like connecting to remote
computers and selecting subkeys.
- Added enumproto and
Update 21 Jan 2005
- Fixed some bugs in the CRT library and rebuilt most of the
- Release 0.0.7 of strarc
with lots of new features and a strarc.txt with usage description and
Update 2 Dec 2004
- Fixed some minor bugs in different applications and
libraries, especially one in the CRT library that caused Unicode
applications to crash on Win 9x/ME platforms.
- One of my archive/backup tools from the old Windows NT
3.51/4.0 days is now released on this page as open source under
the name strarc,
"Stream Archiver". This will replace the old xcopynt which was
unable to completely backup all meta data on NTFS volumes. I now
stop development except bugfixes for xcopynt and recommend all
users of xcopynt to use strarc instead.
- Added some new features to fdf.
- Added a small tool called junc
that is used to manage junction points. This one creates
junctions to native paths,
such as \Device\Floppy0\ or \??\C:\Directory and may therefore
be used to create junctions to volumes or directories not
available through a drive letter under Win32.
- Added a small tool called psmod
to this list.
Update 28 Sept 2004
- Added link to RegMagik
- Added a port of bzip2 optimized for Pentium 4 processors.
- Added a new utility called logonwrap
used to run an application and automatically log off the user
session when that application terminates.
- Also added some new features to fdf and fileinfo.
Update 18 Sept 2004
- Fixed some bugs in fdf.
with updated unicode CRT library.
- Changed free space and total space report in sizdir32 and it now also
displays used percentage of total space and displays statistics
for the correct volume when the current directory is under a
- Added fileinfo to
- Added a new utility called fdf,
"find duplicate files".
- Also corrected OEM codepage display of filenames on the
console for many of my console based tools.
- Rebuilt some other programs due to minor corrections in my
Click to recommend this site:
Back to Tools and utilities for Windows