DriveCleanup V1.6.
3 - removes non present drives from the device tree
Freeware by Uwe Sieber (c) 2007-2022
Works under Windows XP and higher only. Under x64 edtitions of Windows
only the x64 version works.
Removes from the device tree non present
- USB hubs
- USB mass storage devices
- Disk devices
- CDROM devices
- Floppy devices
- Storage Volumes
- USB drive's WPD devices (Vista, Win7, Win8, Win10)
and their registry items under
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\
CPC\Volume
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\
Volume
Usage:
DriveCleanup [-t] [-n] [-u] [-d] [-c] [-f] [-v] [-r]
no params: cleanup all
-t test mode
-n no wait for keypress when finished if started standalone
-u only USB mass storage devices
-d only Disk devices
-c only CDROM devices
-f only Floppy devices
-v only Storage Volume devices
-r only registry items of storage volumes
-w only USB drive's WPD devices
Called with admin previleges and without a parameter it removes all types of
devices
listed above and cleans the registry.
Without admin previleges it switches to test mode and shows the items it would
remove.
Samples:
DriveCleanup -t
test mode, lists devices and registry items to remove
DriveCleanup
removes non present devices related to drives and their registry items
DriveCleanup -v -d
removes non present USB Storage Volumes and USB Disks
Administrator previleges are required for cleanup.
DriveCleanup isn't stricly limited to drives. USB hubs, UsbFlags and the Enum\
NextParentID.xxxxx.n
values may be not drive related.
For other devices there the GUI tool DeviceCleanup:
http://www.uwe-sieber.de/misc_tool_e.html#devicecleanup
DriveCleanup calls Windows device manangement functions for deleting devices
entries. If it shows OK
then Windows responded that this succeeded. When finished DriveCleanup checks all
again and should
find zero devices if it showed OK for all before. Sometimes Windows says OK but in
fact the device
is still present.
Since regular device management functions are used, any removed device's
CoInstallers are called
as planned, so you might loose for instance custom Explorer icons for card reader
volumes. Just
have the card reader attached while executing DriveCleanup to prevent this.
Starting with Vista, Administrators have no more write access to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
and even being the owner they have no right to change the permissions. Therefore
deleting unreferenced
NextParentID.xxxxx.n items needs more than admin previleges. To get these,
DriveCleanup steals the access
token of a system process and impersonates its context to change Enum's security
descriptor, then performs the
cleanup and restores the security descriptor. Maybe this alerts security software.
Since V1.4 volumes of the Windows volume shadow copy facility are't skipped
anymore. Before they where skipped
because I wasn't sure if it is ok to delete them. Since Microsoft offers it's own
tool to do so, I is ok
obviously: https://support.microsoft.com/en-gb/help/982210
Licence: Freeware
Allowed:
- usage in any environment, including commercial
- include in software products, including commercial
- include on CD/DVD of computer magazines
- making available for download by means of package managers
Not allowed:
- modify any of the files
- offer for download by means of a "downloader" software
Uwe Sieber
May 2022