【问题标题】:How do open a partition in Windows a la Linux style /dev/sdXY?如何在 Windows 中以 Linux 风格 /dev/sdXY 打开分区?
【发布时间】:2010-12-08 04:53:48
【问题描述】:

如何在 Windows 中打开分区 Linux style /dev/sdXY 目前我正在打开 \\\\.\\PhysicalDrive%d 然后调用 DeviceIoControl(IOCTL_DISK_GET_DRIVE_LAYOUT, ...) 来获取分区 布局,并存储包含区域的偏移量和大小 文件系统。在我的代码中,我将设备上的 IO 操作偏移到分区的偏移量。

此外,如何消除明显的同步行为? Windows 上的物理驱动器原始设备上的操作非常缓慢,我希望操作系统在可能的情况下进行缓存。

【问题讨论】:

  • 你试过\\.\C:(没有斜线)吗?
  • @J-16 SDiZ: 分区!== 挂载的文件系统。
  • 驱动器号 != 挂载的文件系统。您可以有未安装的驱动器号(chkdsk umount 磁盘),并且您可以有没有真正“分区”的驱动器号(动态磁盘)。不是精确的映射,但它是您可以在 Windows 中获得的最佳映射。

标签: windows linux device ioctl disk-partitioning


【解决方案1】:

您可以使用\\?\GLOBALROOT\Device\Harddisk0\Partition0 之类的路径来访问分区。有关命名空间的一般信息,请参阅here。也不妨试试WinObj;它允许您浏览对象管理器命名空间。

【讨论】:

  • 浪费了大量时间来发现,您需要在 \Device\Harddisk0\Partition0 前面加上 \\?\GLOBALROOT\ 。谢谢你,卢克!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 2016-05-31
  • 1970-01-01
  • 2022-07-27
  • 1970-01-01
  • 2023-02-11
相关资源
最近更新 更多