Jump to content











Photo
- - - - -

ImDisk Toolkit

imdisk toolkit ramdiskui discutils image file mount

  • Please log in to reply
289 replies to this topic

#26 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 19 May 2013 - 03:57 PM

hi,
may I request: please add functionality for auto saving disk image at system shutdown, and auto reloading of same image at system up again.

I am aware that some ramdisk softwares are implementing this feature, but finding a clean and reliable way to do such a thing would take a lot of time.
There is already some discussions on this forum about that.

However, there is a workaround that you can do yourself: write a batch file with a first command that saves your ramdisk content (for example with rawcopy, a command line tool from Olof) and a second command that start the shutdown of Windows (shutdown.exe).

#27 R o x

R o x
  • Members
  • 5 posts
  •  
    Taiwan

Posted 21 May 2013 - 12:12 PM

... merci !

 

but, without guidance too difficult for me im afraid, so till the features have been implemented,

I'll just stick with the (slower!) Dataram solution ... :whistling:



#28 Nethan

Nethan
  • Members
  • 6 posts
  •  
    France

Posted 29 May 2013 - 12:41 AM

@Nethan

I am not sure about what you are after, but there are several (slightly different) versions of bin/cue images.

You can try on yours this other driver:

http://wincdemu.sysprogs.org/

which does support at least *some* bin/cue images.

The "portable" version is very handy, and at 230 Kb it is slightly less bloated than a .NET based solution.

:cheers:

Wonko

 

Hi,

 

Well, I need a software who support at least one of the rare image file formats like NRG, MDS/MDF or BIN/CUE... Who can save one data track AND several audio tracks of a CD at the same time. ISOs can only get the data track.

 

But you say that there are different versions of BIN/CUE ? Annoying... I will use NRG as I thought (I found an old Nero 6.0 version), it will be easier this way.

 

Still, thanks for Wincdemu. I will keep it somewhere just in case. It seems however that it emulates a BD-ROM drive and not a CD/DVD drive, so I wonder how games will appreciate it, but I will try when required.


Edited by Nethan, 29 May 2013 - 12:47 AM.


#29 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13433 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 29 May 2013 - 01:22 PM

Nethan
It is me or you are confusing matters?
Till now we were talking of software capable of accessing/mounting a CD/DVD image, not one capable of writing anything.

And no, here you are probably wrong, a .iso file is nothing but a sector by sector copy of a CD (or DVD), what is the actual issue with data track and audio tracks?

Maybe you need a different driver, like Kernsafe Total MOunter that emulates a "hardware" device (and allows also to "burn" to it) :unsure:

:cheers:
Wonko

#30 Nethan

Nethan
  • Members
  • 6 posts
  •  
    France

Posted 03 June 2013 - 06:10 PM

Hi,

I am not confusing matters. It is just that I suck in english and so I have difficulties to express what I want to say :D

I got what I need so I won't speak about mouting softwares anymore. I just want to give you this link. In the "Limitations" section of this wikipedia page, you can find why the ISO file format is annoying in my case :

http://en.wikipedia.org/wiki/ISO_image



#31 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 11 June 2013 - 08:35 PM

Version 20130611
- improved drive letter notification in Vista and later: should avoid some remaining drive letters in Explorer after the unmount of an ImDisk device
- MountImg.exe: now automatically select Floppy type and A: or B: when you attempt to mount a floppy image file
- minor fixes and improvements

 

 

This release includes an experimental, but quite promising, fix for some issues with the display of the drive letters in Explorer with Vista and later. The fix is already submitted to Olof for a potential integration in the driver package, so any feedback about this will be very welcomed.

This also means that for now, command line tools and control panel applet are keeping the same behavior than before.

However, even an integration in the driver package will not fix the issues when you mount a device in a given privilege level and unmount it from another. It should only fix the issues we can see with commands performed on same privilege level.

 

The second point is an idea very recently submitted, but easy to implement. Like imdisk.exe and control panel applet, the detection of a floppy image is based on the file size. Thanks to the sources of Olof, I don't had to search for the different possible sizes. :P

 

The size of MountImg.exe, RamDiskUI.exe and setup.exe is also reduced.


Edited by v77, 11 June 2013 - 08:37 PM.


#32 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 12 June 2013 - 09:35 AM

So, here is my own feedback (I am also a user after all :)).

With the default settings, all seems to work smoothly. But with Windows 8, when I check the "Show all folders" option in Explorer, the tree view at the left side of Explorer is not automatically refreshed when I mount a volume.

This issue seems to affect only this option, and only with Windows 8.

After all my mails on  this topic, when I will say that it can be fixed by using... SHChangeNotify, Olof will really laugh at me. :ph34r:

 

Anyway, the interesting side is that SHChangeNotify seems to be required in some cases starting from Windows 8. So, I think that for a better future compatibility, we should use SHChangeNotify in all cases: when mounting and unmounting.

 

I will make a new release shortly to include this.


  • ericgl likes this

#33 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1333 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 June 2013 - 04:31 PM

There have been many ideas about how to solve this over the years. However, most ideas have just solved some of, or parts of, the problems. Some ideas have looked really promising initially, but have proven to cause all sorts of strange behaviour in other ends.

 

I remember once, some four years ago or something like that, when I really thought that we had found a solid solution to the problem with remaining "dead" drive letters in Vista. I don't remember right now exactly what we tried, but after a while some users found out that it caused Windows Explorer to not recognize drive properties in all scenarios. That lead to some confusing behaviour where Explorer, among other strange things, thought that the new drive only could handle 8.3 DOS-style filenames...

 

Anyhow. I have done some tests now with sending a few more WM_DEVICECHANGE notification messages and some SHChangeNotify. I must say that everything looks really promising. I skip the entire process of creating double drive letter links in 64 bit versions, which seems to have the promising effect that drive letter arrival/removal seems to work regardless of whether creating or removing inside or outside UAC elevated context. I will do a few more checks and hope to be able to publish some update very soon.

 



#34 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 13 June 2013 - 07:49 PM

I also made more tests and I can confirm the suggestion I sent you with the addition made here: for the device arrival, add a call to SHChangeNotify with SHCNE_DRIVEADD, and for the device removal, add a WM_DEVICECHANGE message with DBT_DEVICEREMOVECOMPLETE event, and a call to SHChangeNotify with SHCNE_DRIVEREMOVED.

 

 

By the way, I introduced a bug in MountImg.exe: unmounting from the Invalid File System dialog box could make disappear some drive letters in Explorer by mistake, because the additional notifications are sent before the unmounting of the device and not after. Explorer does not like that...

It is now fixed, but the fix would be more pretty with the additional notifications integrated in your tools.

Also made a little improvement for this dialog box, which can be a bit confusing with the automatic ask of Explorer to format the drive in Windows 7/8...



#35 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 13 June 2013 - 08:23 PM

About the 1.7.4: I see you are not using SHChangeNotify in 32-bit version of imdisk.exe. Is there a compatibility issue?

I also don't understand this "double drive letter links in 64 bit versions" matter. Is it related?

Not very hady for me: the executables of the Toolkit are 32-bit... On the other hand, I will not have a lot of things to change.



#36 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1333 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 June 2013 - 08:41 PM

About the 1.7.4: I see you are not using SHChangeNotify in 32-bit version of imdisk.exe. Is there a compatibility issue?

I also don't understand this "double drive letter links in 64 bit versions" matter. Is it related?

Not very hady for me: the executables of the Toolkit are 32-bit... On the other hand, I will not have a lot of things to change.

 

I will probably add SHChangeNotify in 32-bit version too in some future version, when I get some time. It is a little more complicated because it requires dynamic linking (LoadLibrary/GetProcAddress etc). Otherwise everything will stop working on older versions than NT 4.0. But at least it is fixed now on 64 bit versions.

 

Double drive letter links in 64 bit versions refers to that ImDisk used to define drive letter symbolic links both in current session namespace and global namespace. This is really only required on Windows NT 4.0 TSE and Windows 2000 Server in Terminal Services mode. It is required because these specific versions did not automatically link in objects from global namespace into user sessions. Rather, objects were copied when user sessions were created. This means lots of trouble when creating and removing things on-the-fly, while user sessions already exist.

 

At least all of this could be removed for 64 bit versions, since there are no 64 bit versions of Windows with this behaviour. It will remain for 32 bit versions though, which unfortunately causes remaining "dead" drive letters in user session when a device is removed from elevated context.

 

Edit: It turns out that SHChangeNotify probably exists before NT 4.0 after all. Just not documented, but it is definitely exported by shell32.dll in NT 3.51. Strange... but great.



#37 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 13 June 2013 - 09:28 PM

Thanks for the explanation.

 

About SHChangeNotify, I once seen someone talking about it for NT 4.0. That is why I was quite optimistic for an easy integration.

 

About NT 3.51... Oh my... XP already looks so old for me... :) But it is a good challenge to support as many systems.



#38 ericgl

ericgl

    Frequent Member

  • Expert
  • 314 posts
  •  
    Israel

Posted 14 June 2013 - 06:33 AM

Olof & V77,

 

Thank you for your great tool(s). Keep up the good work.

 

Cheers!!



#39 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 15 June 2013 - 06:04 PM

Version 20130615
- updated to driver 1.7.5, which lets to remove experimental notifications added in 20130611
- MountImg.exe: in case of an invalid file system, dialog boxes are now automatically closed if the drive is formatted or unmounted from Explorer
- MountImg.exe: if .NET 4 is not installed, it now attempts to mount all files with driver tools instead of DiscUtils
- fix in MountImg.exe: unmounting from the Invalid File System dialog box could make disappear some drive letters in Explorer by mistake
- minor fixes and improvements

 

 

The 2nd point should help to deal with the automatic dialog box that Explorer of Windows 7/8 displays for formating the drive when there is not a valid file system. Now, if you format the drive with the Explorer dialog box, MountImg.exe closes itself automatically. And if the drive is just unmounted from Explorer or elsewhere, the "Invalid File System" dialog box only will close itself.

 

The 3rd point should reduce .NET dependency and avoid some unfounded error messages in case where .NET is not installed. About that, I also rephrased the requirements to make them more clear and more suited to this new behavior.



#40 Zoso

Zoso

    Silver Member

  • Advanced user
  • 610 posts
  •  
    Isle of Man

Posted 18 June 2013 - 02:41 AM

even though XP pro x64 is not listed I tried to install the tool kit anyway but no luck. just wanted to let you know and if it is not much trouble..

dont bother if it is a big deal though, I doubt that there are a lot of users.

if I could figure out how to get EWF working on XPPx64 I would use it alot more but no luck so far.

but thanks for the tool, I am using it on my other OS's

#41 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 18 June 2013 - 01:04 PM

even though XP pro x64 is not listed I tried to install the tool kit anyway but no luck. just wanted to let you know and if it is not much trouble..

dont bother if it is a big deal though, I doubt that there are a lot of users.

if I could figure out how to get EWF working on XPPx64 I would use it alot more but no luck so far.

but thanks for the tool, I am using it on my other OS's

 

Except the warning message about the system while the install, what are the issues you have got?

 

About the compatibility, at the beginning, I wanted to support Windows 2000, but there are some issues which are not easy to fix, and not users enough to give a great interest for this support. Moreover, Microsoft has already ended his support.

For XP Pro x64, I have simply not yet tested it on this system, it is so uncommon... :) But I can hardly imagine a major issue...

 

Anyway, I will give it a try. If the issues are easy to fix, this could be interesting to add this support.



#42 Zoso

Zoso

    Silver Member

  • Advanced user
  • 610 posts
  •  
    Isle of Man

Posted 18 June 2013 - 01:55 PM

when I installed it, a pop up stated "unsupported system, continue anyway?" I clicked yes and then I started it and only the ram UI would open instead.

XPx6 is the only x64 I have before vista, I havnt spent much time with it but so far I have it working good except ewf and this. I would rather spend time on server2003 x64 but I dont have the x64 version.

if you have specific questions about it I can retry but since ewf is not working yet I need to restore the image each time I work with it.

#43 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 18 June 2013 - 04:34 PM

when I installed it, a pop up stated "unsupported system, continue anyway?" I clicked yes and then I started it and only the ram UI would open instead.

XPx6 is the only x64 I have before vista, I havnt spent much time with it but so far I have it working good except ewf and this. I would rather spend time on server2003 x64 but I dont have the x64 version.

if you have specific questions about it I can retry but since ewf is not working yet I need to restore the image each time I work with it.

 

Not sure to understand what you are saying... I just tested ImDisk Toolkit on XP Pro x64, and it seems to work smoothly.

Of course, there is a first warning message about the system, another about .NET Framework 4 (which also require "Windows Imaging Component" on this system), but once they are installed, the tools are working without issue.

 

So, I am thinking to add explicitely XP x64 as supported system.


Edited by v77, 18 June 2013 - 04:36 PM.


#44 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1333 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 18 June 2013 - 08:35 PM

when I installed it, a pop up stated "unsupported system, continue anyway?" I clicked yes and then I started it and only the ram UI would open instead.

XPx6 is the only x64 I have before vista, I havnt spent much time with it but so far I have it working good except ewf and this. I would rather spend time on server2003 x64 but I dont have the x64 version.

if you have specific questions about it I can retry but since ewf is not working yet I need to restore the image each time I work with it.

 

One way to solve the write filter part could be to mount a vhd differencing image through DiscUtils. This will write changes to the diff vhd, which you could remove and recreate using a script or similar. Your original vhd will stay unmodified with that approach.



#45 Zoso

Zoso

    Silver Member

  • Advanced user
  • 610 posts
  •  
    Isle of Man

Posted 18 June 2013 - 10:48 PM

Not sure to understand what you are saying... I just tested ImDisk Toolkit on XP Pro x64, and it seems to work smoothly.
Of course, there is a first warning message about the system, another about .NET Framework 4 (which also require "Windows Imaging Component" on this system), but once they are installed, the tools are working without issue.

So, I am thinking to add explicitely XP x64 as supported system.
I do not have dotnet installed (I forgot to mention) I installed it again, the first time I did not check the start menu so I missed that the general preferences is available the first time. I will install net 4 next and test again now.




One way to solve the write filter part could be to mount a vhd differencing image through DiscUtils. This will write changes to the diff vhd, which you could remove and recreate using a script or similar. Your original vhd will stay unmodified with that approach.
Thank you Olaf, as of yet I have not had success installing to vhd and booting it with Gru4Dos so I am using a USB HDD directly file-backed for most boot testing.

I am slowly learning on reboot. my awkward but useful procedure now is: basically, install XP in vmware workstation 5.5 and then use usboot to make it usb bootable. then I use clonedisk to file copy (keep ACL) that to USB drives.

so far my usage of ImDisk has been to mount .vdmk so that I can use clonedisk to file copy to elsewhere. I use Qemu manager7 to create raw images then mount them with ImDisk so that I can format them and use clonedisk for transfers.

originally I found ImDisk in diddy's Grub4Dos guide to ram booting. I have success booting in ram this way.

I dont have much time to experiment is the reason I learn slowly. I have minor success using wimbs create vhd for an empty vhd then using that vhd and transferring my usboot'd XP into it and booting that vhd with Grub4Dos but it not always repeatable because BSODs (not always 7b, sometimes is 6e an process initialization, etc.)

my goal is to learn how to install OS in vhd and boot that with Grub4Dos in ram and filebacked with firadisk and WinVblock like how wimbs tools work but without using them because they are hard for me to understand and seems to require starting each OS from scratch install.

I would like to learn to work with ImDisk like you post here so that ewf is not needed but it will take time for me.

is it possible to do this same except on OS booted on usb directly and not vhd on usb?

I have tried to use ImDisk to make an Image of exsisting drive too but I dont need unused sectors in the image.

your tool is so great that it will take me a long time to learn how to utilize it properly.

reboot is really great, so many generous advanced users here with so many cutting edge tools! I wish I could spend all day learning about these things. I try to give something back if I can somehow too but Im very limited. I will install dotnet4 on this XPx64 and report back what I see but I can not test it fully since I dont have enough knowledge of ImDisks capibilities yet. I can provide basic report is all.


thanks


edit to add: yes, installed dotnet4 in the x64 XP and the tool kit installed and apeared to be fully functional.

#46 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 04 July 2013 - 09:59 AM

Version 20130704
- RamDiskUI.exe: it can now load ramdisk content from a folder instead of an image file
- MountImg.exe: now try several ways to mount an image file in case of error
- added support of Windows XP Professional x64 Edition
- installer: changed dialog box if .NET 4 is not installed to avoid incomplete install
- minor fixes and improvements

 

 

This new version of the mounting tool should remove several errors because it now tries to remount the image file in a different way in case of failure. For instance, raw files with a partition table or vmdk flat files (instead of its descriptor) should now successfully be mounted with this GUI.

 

The RamDisk tool should now be able to load datas into the ramdisk a lot faster because you can directly select a folder. Of course, it is not difficult to do this oneself with a little script, but it is now integrated for convenience.

 

I also considered the fact that some users were thinking that the message about .NET 4 while installing was an install failure, so I made something that should be more intuitive.


Edited by v77, 04 July 2013 - 10:02 AM.


#47 ericgl

ericgl

    Frequent Member

  • Expert
  • 314 posts
  •  
    Israel

Posted 16 July 2013 - 08:51 AM

V77,

 

Why does the toolkit install to C:\Program Files (x86)\ImDisk by default??

I think the entire toolkit should be 64bit, not just the imdisk driver.

So on 64bit OS, it would install by default to C:\Program Files\ImDisk.



#48 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 16 July 2013 - 11:37 AM

V77,

 

Why does the toolkit install to C:\Program Files (x86)\ImDisk by default??

I think the entire toolkit should be 64bit, not just the imdisk driver.

So on 64bit OS, it would install by default to C:\Program Files\ImDisk.

 

Thanks for this pretty good and not obvious question.

 

Well, let's see: we have a driver with both 32 and 64-bit binaries, several .NET files which automatically produce 32 or 64-bit executables depending on your system, and the toolkit specific binaries.

For compatibility, I choosed to compile my tools as 32-bit. Even if we ignore the driver, which installs in Windows folders, it remains .NET files and my binaries. But these ones are 32-bit, so it seems consistent that the toolkit files are installed in a folder for 32-bit executables.

 

Now, what about making a full 64-bit package? Yes, this could be done, but it would remain 32-bit binaries in the driver, except if I remove them. But in some cases, they are still needed (for instance, if you try to start the control panel applet from a 32-bit executable). So, it seems to be better to keep these 32-bit binaries.

Then, I can make 64-bit executables for the toolkit, but it would remain 32-bit executables in the toolkit package, and there is no gain in performances to have a 64-bit GUI. However, the executables would be bigger, and some users could hesitate on which one is the good file to download.

 

So, this is a complex question, and yes, I agree that using a "compatibility folder" like C:\Program Files (x86) may not look very pretty... ;) But in order to remove as much issues as possible, this may be the better compromise.



#49 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 22 July 2013 - 09:57 AM

Could someone tell me if the Toolkit works on Itanium architecture?



#50 v77

v77

    Silver Member

  • Team Reboot
  • 516 posts
  •  
    France

Posted 24 August 2013 - 04:49 PM

Version 20130824
- fix in RamDiskUI.exe: errors were found in the system event log when mounting a ramdisk at startup, fixed by implementing RamDiskUI.exe as a true service
- removed support for IA-64 (Itanium) architecture
- installer: the folder of the previous installation is now selected instead of the default one
- installer: hide "ImDisk Virtual Disk Driver" in the uninstall list of the Windows control panel to avoid confusion with the Toolkit
- minor fixes and improvements

 

 

I recently encountered on my real machines a weird issue with the service used for mounting a ramdisk at startup. The service has simply vanished (and so, the ramdisk as well).
This service produced 2 errors in the System event log at each boot, because I directly used cmd.exe as a service for starting the commands, but cmd.exe does not send the proper messages to the service control manager.
So my guess is that the service control manager or a maintenance service deletes this service after some times, because of this errors.
If I am guessing right, this new version might fix the issue, because I implemented a (minimalist) service inside RamDiskUI.exe, which is now used in place of cmd.exe to mount a ramdisk at startup.
Of course, the service is stopped after the mounting.

I also removed the support of Itanium architecture, since I have no way to test the Toolkit on this architecture and it seems that there is not a lot of users for that.
So, if you need this support, please install the driver from the Olof's page.


Edited by v77, 24 August 2013 - 04:54 PM.






Also tagged with one or more of these keywords: imdisk, toolkit, ramdiskui, discutils, image file, mount

2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users