Mounttools gibts viele für Windows. Viele sind kostenpflichtig, andere nerven mit Werbung, und die meisten davon sind absolute Bloatware. Mehr als eine Handvoll CD-Images einzubinden können aber die Allerwenigsten. Stellt man fest, dass es praktisch wäre, jetzt gerne den Inhalt eines CD-Images zu betrachten, führt der Gang ins Web, um ein geeignetes Tool runterzuladen. Spätestens nach der bunten Installation, zigmaligem Klicken auf „weiter“ und der – unter Windows meist obligatorischen Aufforderung, das System neuzustarten – merkt man, dass das Programm ohne eben diesen nervigen Neustart gar nicht funktioniert, weil der Treiber für das virtuelle Laufwerk nicht modular in den Kernel geladen werden kann. Nervig! Alles speichern, neustarten und sich wieder erinnern, warum man das Ding gerade installiert hat…
Doch es geht auch anders: schnell, schlank, mächtig und kostenlos – mit der Software ImDisk.
Die Installation ist in 3 Schritten schnell erledigt – es wird lediglich der Treiber, ein Kommandozeilenwerkzeug und ein Applet in der Systemsteuerung (inkl. Kontextmenüeintrag im Explorer) von Windows installiert. Ohne Aufforderung zum Neustart. Der virtuelle Diskdriver ist für 32 und 64 bit Windowssysteme verfügbar und verfügt über eine gültige Signatur.
Die spärlich ausgestattete GUI ermöglicht alle Aktionen, die auch die Konkurrenz kann – und sollte für 95% der user ausreichend sein. Es dürfte sogar in den meisten Fällen ein Rechtsklick auf die Imagedatei -> Mount as IMDisk Virtual Disk -> OK genügen, wobei automatisch der nächste freie Laufwerksbuchstabe vorselektiert wird, die änderbaren Standardwerte funktionieren auch fast immer.
In der Programmbeschreibung wird das reine Mounten von (CD) Images gar nicht explizit erwähnt, einen so geringen Teil des Funktionsumfangs macht das bei diesem Programm aus, startet man ImDisk einmal auf der Kommandozeile (aka Eingabeaufforderung / Windows PowerShell), offenbart sich erst das wahre Potenzial dieser Software.
ImDisk kann virtuelle Festplatten, Disketten- oder CD/DVD Laufwerke aus Imagedateien oder dem Arbeitsspeicher (RAMDisk) erstellen. Ausserdem bringt er den awealloc Treiber mit, was die 4GB Grenze für RAMDisks in 32bit Systemen aushebelt, indem er PAE (Physical Address Extension) nutzt. Ausserdem kann IMDisk Devices und Images auf entfernten Rechnern über Netzwerk mounten und nutzen. Dabei wird remote der devio Treiber benutzt, der für alle Betriebssystem verfügbar ist – neben Linux auch FreeBSD und … sogar Windows. Auf das letzte Feature einzugehen, würde den Rahmen dieser Vorstellung sprengen, Claus Valca hat sich auf seinem Blog aber ausführlich damit beschäftigt.
Beispiele
Images
einfaches Disk Image auf Y: mounten:
PS C:\> imdisk -a -f D:\sda1_backup.img -m Y:
RAMDisks
eine 512MB große RamDisk auf Laufwerk R: erstellen:
PS C:\> imdisk -a -s 512M -m R: -p "/fs:ntfs /q /y"
eine RAMDisk erstellen und ein Image reinladen:
PS C:\> imdisk -a -t vm -f D:\grml96-full_2012.05.iso -m R:
nachträglich 128MB Speicher zur gerade erstellten RAMDisk hinzufügen:
PS C:\> imdisk -e -s 128M -m R:
Das Sichern einer RAMDisk zurück in eine Imagedatei ist so vom ImDisk nicht vorgesehen, aber dafür kann rawcopy des gleichen Herstellers verwendet werden (32-bit Version / 64-bit Version):
PS C:\> rawcopy -mld \\.\R: D:\ramdisk.img
ImDisk ohne Parameter aufgerufen, gibt die Hilfe mit den umfangreichen Optionen aus:
Control program for the ImDisk Virtual Disk Driver. For copyrights and credits, type imdisk --version
Syntax: imdisk -a -t type -m mountpoint [-n] [-o opt1[,opt2 ...]] [-f|-F file] [-s size] [-b offset] [-v partition] [-S sectorsize] [-u unit] [-x sectors/track] [-y tracks/cylinder] [-p "format-parameters"] imdisk -d|-D [-u unit | -m mountpoint] imdisk -R -u unit imdisk -l [-u unit | -m mountpoint] imdisk -e [-s size] [-o opt1[,opt2 ...]] [-u unit | -m mountpoint]
-a Attach a virtual disk. This will configure and attach a virtual disk with the parameters specified and attach it to the system.
-d Detach a virtual disk from the system and release all resources. Use -D to force removal even if the device is in use.
-R Emergency removal of hung virtual disks. Should only be used as a last resort when a virtual disk has some kind of problem that makes it impossible to detach it in a safe way. This could happen for example for proxy-type virtual disks sometimes when proxy communication fails. Note that this does not attempt to dismount filesystem or lock the volume in any way so there is a potential risk of data loss. Use with caution!
-e Edit an existing virtual disk.
Along with the -s parameter extends the size of an existing virtual disk. Note that even if the disk can be extended successfully, the existing filesystem on it can only be extended to fill the new size without re-formatting if you are running Windows 2000 or later and the current filesystem is NTFS.
Along with the -o parameter changes media characteristics for an existing virtual disk. Options that can be changed on existing virtual disks are those specifying wether or not the media of the virtual disk should be writable and/or removable.
-t type Select the backingstore for the virtual disk.
vm Storage for this type of virtual disk is allocated from virtual memory in the system process. If a file is specified with -f that file is is loaded into the memory allocated for the disk image.
file A file specified with -f file becomes the backingstore for this virtual disk.
proxy The actual backingstore for this type of virtual disk is controlled by an ImDisk storage server accessed by the driver on this machine by sending storage I/O request through a named pipe specified with -f.
-f file or -F file Filename to use as backingstore for the file type virtual disk, to initialize a vm type virtual disk or name of a named pipe for I/O client/server communication for proxy type virtual disks. For proxy type virtual disks "file" may be a COM port or a remote server address if the -o options includes "ip" or "comm".
Instead of using -f to specify 'DOS-style' paths, such as C:\dir\image.bin or \\server\share\image.bin, you can use -F to specify 'NT-style' native paths, such as \Device\Harddisk0\Partition1\image.bin. This makes it possible to specify files on disks or communication devices that currently have no drive letters assigned.
-l List configured devices. If given with -u or -m, display details about that particular device.
-n When printing ImDisk device names, print only the unit number without the \Device\ImDisk prefix.
-s size Size of the virtual disk. Size is number of bytes unless suffixed with a b, k, m, g, t, K, M, G or T which denotes number of 512-byte blocks, thousand bytes, million bytes, billion bytes, trillion bytes, kilobytes, megabytes, gigabytes and terabytes respectively. The suffix can also be % to indicate percentage of free physical memory which could be useful when creating vm type virtual disks. It is optional to specify a size unless the file to use for a file type virtual disk does not already exist or when a vm type virtual disk is created without specifying an initialization image file using the -f or -F. If size is specified when creating a file type virtual disk, the size of the file used as backingstore for the virtual disk is adjusted to the new size specified with this size option.
The size can be a negative value to indicate the size of free physical memory minus this size. If you e.g. type -400M the size of the virtual disk will be the amount of free physical memory minus 400 MB.
-b offset Specifies an offset in an image file where the virtual disk begins. All offsets of I/O operations on the virtual disk will be relative to this offset. This parameter is particularily useful when mounting a specific partition in an image file that contains an image of a complete hard disk, not just one partition. This parameter has no effect when creating a blank vm type virtual disk. When creating a vm type virtual disk with a pre-load image file specified with -f or -F paramters, the -b parameter specifies an offset in the image file where the image to be loaded into the vm type virtual disk begins.
Specify auto as offset to automatically select offset for a few known non-raw disk image file formats. Currently auto-selection is supported for Nero .nrg and Microsoft .sdi image files.
-v partition Specifies which partition to mount when mounting a raw hard disk image file containing a master boot record and partitions.
Specify number 1-4 to mount a partition from the primary partition table and 5-8 to mount a partition from an extended partition table.
-S sectorsize Sectorsize to use for the virtual disk device. Default value is 512 bytes except for CD-ROM/DVD-ROM style devices where 2048 bytes is used by default.
-x sectors/track See the description of the -y option below.
-y tracks/cylinder The -x and -y options can be used to specify a synthetic geometry. This is useful for constructing bootable images for later download to physical devices. Default values depends on the device-type specified with the -o option. If the 'fd' option is specified the default values are based on the virtual disk size, e.g. a 1440K image gets 2 tracks/cylinder and 18 sectors/track.
-p "format-parameters" If -p is specified the 'format' command is invoked to create a filesystem when the new virtual disk has been created. "format-parameters" must be a parameter string enclosed within double-quotes. The string is added to the command line that starts 'format'. You usually specify something like "/fs:ntfs /q /y", that is, create an NTFS filesystem with quick formatting and without user interaction.
-o option Set or reset options.
ro Creates a read-only virtual disk. For vm type virtual disks, this option can only be used if the -f option is also specified.
rw Specifies that the virtual disk should be read/writable. This is the default setting. It can be used with the -e parameter to set an existing read-only virtual disk writable.
rem Specifies that the device should be created with removable media characteristics. This changes the device properties returned by the driver to the system. For example, this changes how some filesystems cache write operations.
fix Specifies that the media characteristics of the virtual disk should be fixed media, as opposed to removable media specified with the rem option. Fixed media is the default setting. The fix option can be used with the -e parameter to set an existing removable virtual disk as fixed.
saved Clears the 'image modified' flag from an existing virtual disk. This flag is set by the driver when an image is modified and is displayed in the -l output for a virtual disk. The 'saved' option is only valid with the -e parameter.
Note that virtual floppy or CD/DVD-ROM drives are always read-only and removable devices and that cannot be changed.
cd Creates a virtual CD-ROM/DVD-ROM. This is the default if the file name specified with the -f option ends with either .iso, .nrg or .bin extensions.
fd Creates a virtual floppy disk. This is the default if the size of the virtual disk is any of 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K or 234752K.
hd Creates a virtual fixed disk partition. This is the default unless file extension or size match the criterias for defaulting to the cd or fd options.
ip Can only be used with proxy-type virtual disks. With this option, the user-mode service component is initialized to connect to an ImDisk storage server using TCP/IP. With this option, the -f switch specifies the remote host optionally followed by a colon and a port number to connect to.
comm Can only be used with proxy-type virtual disks. With this option, the user-mode service component is initialized to connect to an ImDisk storage server through a COM port. With this option, the -f switch specifies the COM port to connect to, optionally followed by a colon, a space, and then a device settings string with the same syntax as the MODE command.
shm Can only be used with proxy-type virtual disks. With this option, the driver communicates with a storage server on the same computer using shared memory block to transfer I/O data.
-u unit Along with -a, request a specific unit number for the ImDisk device instead of automatic allocation. Along with -d or -l specifies the unit number of the virtual disk to remove or query.
-m mountpoint Specifies a drive letter or mount point for the new virtual disk, the virtual disk to query or the virtual disk to remove. When creating a new virtual disk you can specify #: as mountpoint in which case the first unused drive letter is automatically used.
Eine RAM-Disk ist momentan auch eine Möglichkeit, Diablo 3 von einer langsamen Festplatte zu spielen, ohne ständig durch die Ruckler zu sterben. Ich habe mal Batch-Dateien geschrieben, die eine RAM-Disk mittels ImDisk erstellen und die entsprechenden Spieldateien kopieren und mittels mklink verlinken: http://eu.battle.net/d3/de/forum/topic/4211005802?page=2#38
Sehr schöne Lösung