View Single Post
Light Poster
3Jul2009,16:44  
krishnampkkm's Avatar
Hiii...

I wanna copy the hard disk partition to another partition. I have tried so many methods,,,but all are slow ..and I wanna get a good speed...

First I tried by copying all files in the source to destination volume using Windows API Copyfile()...But this one is same as the speed of copy int he windows explorer..

Then I tried to copy at a Ring 0 level(Kernel mode )... .But this one also a slow one....

After that I did a row copy partition ( blindly reading a big chunk )...with out any checking ..whether the space used or free...this one gives speed....

But here I copy the unused space also....

For example ..If a partition contains only one text file ... to copy that partition ...copy blindly all the space( used + frees) is bad manner....

Then I decide to copy the used space only... In NTFs Master File Table ..One record contains the used space details (Volume bitmap)....

I read this bitmap using (FSCTL_GET_VOLUME_BITMAP)...It gives the address of used or free clusters.....


Presently I work using this method...... Here the block size is only the cluster size( 2kb / 4 kb)...so the process is so slow....and I am coping single cluster by cluster....

I wanna make it fast....... with this method or any other method....

Any idea to .......

Link to any white papers...

Any new copy algorithms.....




-----------------
with regards
Krish
----------------