Running Eraser on virtual machine


I did some search on the forum and I didn't find a definitive answer on this. I would like to test the eraser to erase the whole computer ( basically erase the whole c: driver) However I could not test it on my dev machine (so we know that :-)).

I just wonder if it is safe to run it on a virtual machine ( VMWare) so that it won't mess up my dev machine. I would think that it should be fine. However I feel more comfortable to check with forum here first before I run.

Thanks a lot.
Eraser definitely won't erase the system drive on which it is running (on any machine).

I don't run Eraser on a virtual machine, but Joel has repeatedly said that he does. I think that's reasonable assurance that it will be OK to do anything on a VM that you would do on a normal Windows installation.

Thanks Dave.

>>Eraser definitely won't erase the system drive on which it is running (on any machine)
could you elaborate on this a little bit? I am not sure if I fully understand this. So do you mean that even if I use Eraser to wipe the whole c: driver and my OS won't get wiped and still working?
pli said:
So do you mean that even if I use Eraser to wipe the whole c: driver and my OS won't get wiped and still working?
Eraser needs Windows and.NET 4 as well as its own executables to run. So it clearly cannot erase the drive (or, at least theoretically, drives) on which those files are stored. Of course Eraser can erase a drive that contains a Windows installation which is not the one that is running and which is mounted as a non-system drive.

So, to clear a Windows installation, you can for instance remove a drive from its parent machine, put it in a dock or whatever, connect it to another machine and erase it from there. The ideal would be to have a portable version of Eraser 6 that could run from a bootable CD or flash drive, but that will be some time coming. Some earlier versions of Eraser (which are, in fact, totally different code) can be run in such an environment.

I also see that your post could be read as asking whether Eraser can erase the free space on the C: drive, leaving the OS in place. It can do that, of course.

For us, we don't really care if machine is working or not after erasing. The main purpose is that we would like to erase all the possible files on the whole machine without using wipe tool from booted externally. From reading so far, I think that there are 2 approaches I could go:

First approach:
1. our program would loop thru the all drives (such as C: and D: etc) and delete any files which we could deleted (unlocked files and some file locations of our own application)
2. then run eraser to erase unused spaces on all drives.

I guess with this, the OS is still working after erasing.

Second approach:
1. just run one eraser on each drive (might need to run first on non-system drive such as D: and then system drive such C:).
2. it would be up to Eraser to erase whatever files it could erase.
Yes, while you as a user aren't too concerned about messing with the Windows install, Eraser (and the rest of Windows) does! The second approach you propose will still not work as expected since Eraser relies on Windows for disk I/O.

You can try doing an erase of C: (make a folder erasure target), if you've got time. Run through it, and see how much won't erase (I'm guessing a lot). So the efficacy of such an erasure is severely limited.
Thanks a lot Joel for your information.

Yes, I did try that on a windows XP machine over the weekend. Yes, you are right, a lot of files are not able to eased although a lot of files are erased as well. It is a little strange to me that if I re-run, I could erase more files. When I erase the c:\windows folder, initially it was very quick and then it got really slow and the progress percentage was hardly moving. Then I stopped it and tried to erase the c:\windows for the second time, the running pattern was same. It was erasing files very quickly and then it slowed down to a point where it didn''t move forward at all. However with this second run, I started to get dialog from OS to ask me to insert the Windows OS CD to repair the OS. Then after I stopped this run to go for third run. The eraser was failed to launch with error (application failed to initialize). So it means that eraser does erase some of OS successful. By the way, I am running eraser launcher of version 5.8.8.

Any explanation for why it is running slower and slower on erasing c:\windows folder? I saw this post: viewtopic.php?f=2&t=8033&p=23883&hilit=Eraser+ridiculously+slow%2C+and+getting+slower#p23572 which talks about the slowness as well, from the post, here is explanation:
Your evidence has been very carefully collected, and I'm coming to the same conclusions that you are. The explanation for the decrease in drive performance as the erase progresses is that disks generally write data from the outermost rim to the innermost rim, at a constant rotational speed. As such, within a single unit of time, data can be written to the outermost parts of the disk faster than that in the inner tracks. An example would be an old SATA drive I had, 250gb in capacity, which would start out at 70mb/s at the start, and get to around 45-50 mb/s midway through the process.

However I am not sure if that could explain what I saw here. It would be appreciated if you could shed some lights on what I saw here.
Taking your second point first, I think that Joel's response in the thread to which you linked is currently the best information on the subject. I have tested free space erasing on probably a couple of dozen different drives over the years, and my experience is that it is quite hard to work out why some drives just seem to work faster than others and why performance is not always predictable.

Your experience with the C: drive is exactly what I would expect. I go back to the days of CP/M, when the whole of the operating system, the running program and any data in use had to be contained in 64KB (or, very often, much less) of RAM and it was perfectly possible (if you were careless) to overwrite the operating system floppy disk (hard drives were then unheard of luxuries). Those days are long gone; the OS is now a vast collection of files on the hard drive, and it will be perfectly possible to erase some of them before the system stops working.

Eraser 5 (any version) certainly needs the Windows UI and other resources to function. So even a portable version will function (or fail to) in the way I have described.

Hi, David, thanks a lot for your insight on this. By wiping partial OS to make it unbootable is good enough for us for now. The tricky part is that my application needs to try to rerun the eraser here by killing the eraser if it doesn't move forward (I need to figure out a way to know this).

As for the performance explanation, I understand it is hard to really understand why it is slower. I would think that the same file should be located at same rim position of hard drive no matter how many times we run the eraser, however I think rerun would speed up cleaning up same files (maybe it doesn't go to same files, I didn't have a log file to really compare in details). However I don't really know much about the hard disk at all, so it might be that I missed sth here.
I've got nothing to add. What you're doing here isn't really going to be found in any textbooks, either.

It's probably best if you collected your own empirical evidence since if your purpose is to defeat Windows (which will try it's best not to let you succeed) it's pretty much a whole new ball game. I'm interested to find out what your results will be though. I've got opinions, but I'd reserve them and let the evidence do the talking.
Sure, will keep an eye on this.

Based on my observation, when it is really slow, it is staying on one particular file and its percentage is 0 and after a really long time, its percentage would be changed from 0% to 100% very quick, then it will stay on next file with same pattern. So I am thinking that it might be hanging on some windows API call. I think that it would help to identify such calls. Unfortunately I haven't got that much time to read and understand Eraser code to know where to put some logging to find that call (first need to add some code change to be able to log into a log file at eraser dll). Will try to see if I could narrow down further when I have some times.
If the files in question are not necessarily large, this sounds like attempts to force unlock or otherwise get handles to files that are not immediately available.

If the files in question are not necessarily large, this sounds like attempts to force unlock or otherwise get handles to files that are not immediately available

Yes, the file is not large. It is from Eraser 5.8.8. so I would assume that it doesn't have the force unlock unless I am missing sth here. "handles to files that are not immediately available" seems a more reasonable explanation.
I'm guessing those are files which the system uses on/off, like the HKLM registry hive.
That's a good point. Let me do more testing and report back on this. I know that the first run, it hang on the some windows help file. Second run, it hang on some windows drive pnf (pre complied inf file). However I am not sure how it would be related with registry. I am not sure if the slowness would only show up on windows folder or also on some other folders (would do some testing on some big folders here as well).
pli said:
It is from Eraser 5.8.8. so I would assume that it doesn't have the force unlock unless I am missing sth here.
This is correct. I chose my words carefully to cover all possible cases ... :)