How to copy a hard disk partition?

Home Forums C Programming How to copy a hard disk partition?

This topic contains 0 replies, has 1 voice, and was last updated by  TheresaSmithson 8 years, 4 months ago.

  • Author
    Posts
  • #2207

    Hii

    I wanna copy an NTFs partition to another partition of same type and same size.And I tried with windows function
    Copyfile() and it worked but slow speed is a problem.Then I did with readfile() and WriteFile() instead of Copyfile() again speed is a problem.

    How can I get a better speed…??

    I did the same operation in kernel mode and getting slow performance using zwCreatefile() ,zwReadfile() & zwWriteFile()…

    How can I get a better speed …..?

    I want to copy a hard disk partition into another partition. My source and destination partitions are of NTFs and same size. For that purpose first I did by copying all sectors and it is working, But I wanna copy only used sectors…

    Then I find the used clusters by reading the FSCTL_VOLUME_BITMAP. But this one also a slow one ..I want to get better speed. And I tried to get the used clusters by using the FSCTL_GET_RETEIVAL_POINTER also. But it’s a slow one…..

    At last I tried the windows API CopyFile() also…But everything gives a slow performance…

    I know fundamentally Kernel mode(ring 0) is slower than User mode in speed ,(even if ring 0 can access Hardware directly)…..

    Apart them these I tried also Asynchronous operation by setting OVERLAPPED flag in CreateFile…. getting small improvement….

    And I’ve taken snapshot (Volume shadow copy)of the Volume and copied the files using Hobo copy method…but everything gives the same speed…..

    Any idea to help…

    I have used the Software Acronis Disk director suite .I exclaimed after finding it’s speed……!!!!!!

    Any idea to help me…to get a good speed…….???

    Any links to the white papers related to this section…???


    Thanking you


You must be logged in to reply to this topic.

0 Shares
Share
+1
Tweet
Share
Stumble