0

我正在尝试创建一个应用程序,它将以编程方式将硬盘上的 Windows 分区从 X 扇区移动到 Y 扇区。

到目前为止我已经尝试过:

  • 将有效数据从起始扇区 X 复制到扇区 Y(读/写)
  • 更新 MBR 上的分区表,使特定分区位于偏移 Y
    执行第二步我正在使用 DeviceIoControl 函数的 IOCTL_DISK_SET_DRIVE_LAYOUT 控制代码,但我总是以蓝屏结束( *kernel_stack_inpage_error* )

我还缺少什么?

我的解决方案是使用 c++/winapi,我只在 windows XP 上尝试过。

4

1 回答 1

0

您是否正在尝试移动 Windows 当前正在访问的分区(或者甚至是当前安装 Windows 的分区)?

这将是一个非常糟糕的主意,因为在这种情况下缓存算法将不再正常工作,因此蓝屏并不令人惊讶。

于 2013-10-01T20:15:43.943 回答