我正在尝试创建一个应用程序,它将以编程方式将硬盘上的 Windows 分区从 X 扇区移动到 Y 扇区。
到目前为止我已经尝试过:
- 将有效数据从起始扇区 X 复制到扇区 Y(读/写)
- 更新 MBR 上的分区表,使特定分区位于偏移 Y
执行第二步我正在使用 DeviceIoControl 函数的 IOCTL_DISK_SET_DRIVE_LAYOUT 控制代码,但我总是以蓝屏结束( *kernel_stack_inpage_error* )
我还缺少什么?
我的解决方案是使用 c++/winapi,我只在 windows XP 上尝试过。