首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何复制硬盘分区?

如何复制硬盘分区?
EN

Stack Overflow用户
提问于 2009-06-30 08:35:13
回答 2查看 639关注 0票数 0

Hii

我想将一个NTFs分区复制到另一个类型相同的分区上,与我用windows函数Copyfile()尝试过的相同的size.And相同,而且它工作正常,但是慢速度是我用readfile()和WriteFile()而不是Copyfile()做的一个problem.Then,速度也是个问题。

我怎样才能获得更好的速度?

我在内核模式下做了同样的操作,并且使用zwCreatefile()、zwReadfile()和zwWriteFile()获得了缓慢的性能.

我怎样才能获得更好的速度……?

我想要将硬盘分区复制到另一个分区。我的源分区和目标分区都是NTFs,大小相同。为此,我首先复制了所有扇区,并且它正在工作,但我只想复制使用过的扇区…。

然后通过阅读FSCTL_VOLUME_BITMAP找到使用过的集群。但是这个也是一个慢的,..I想得到更好的速度。我也尝试使用FSCTL_GET_RETEIVAL_POINTER来获取使用过的集群。但这是一个缓慢的..。

最后,我尝试了windows ()和…但是一切都给出了一个缓慢的性能…

我知道从根本上讲,内核模式(环0)在速度上比用户模式慢(即使0环可以直接访问硬件).

除了它们,我还尝试了在CreateFile中设置重叠标志的异步操作.小小的进步..。

我已经拍摄了卷的快照(卷影副本),并使用Hobo复制method...but复制了文件,一切都以相同的速度.

想帮忙吗..。

我已经使用软件Acronis磁盘指导套件.I后,发现它的速度.!

有没有办法帮助me...to获得一个好的速度.??

与本节相关的白皮书有任何链接吗?

谢谢你

EN

回答 2

Stack Overflow用户

发布于 2009-06-30 16:10:25

我认为最简单的方法是使用Linux分发版或Linux救援磁盘。

在终端启动后,您必须键入(如果“/dev/hda1 1”是源分区,“/dev/hdb1 1”是目标):

代码语言:javascript
复制
dd if=/dev/hda1 of=/dev/hdb1 bs=64k

您也可以使用"dd_rescue“代替一些救援发行版的"dd”。

要小心使用正确的设备!除了这个,它工作得很好!

沃纳

票数 2
EN

Stack Overflow用户

发布于 2009-06-30 08:48:19

为了帮助您,您必须与我们分享您的定义“更好的速度”。

为了计算预期的速度(粗略),你需要知道1。你的块设备(在你的例子中是硬盘)的原始性能是什么? 2.你需要传输的数据的大小?

因此,如果您的分区获得X1和X2 mb/s,并且有Y mb要复制,并且两个分区不在同一物理设备上,那么您应该期望Y/ min(X1,X2)秒内完成复制yo。再次-这是一个粗略的估计,只是一些参考点,这样我们才能给“更好的速度”这个词赋予意义。

你得到的结果比这个估计要慢多少?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1062455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档