Tag: 磁盘分区

如何访问隐藏的分区/卷

我必须编写一个代码来使用c#或c ++访问隐藏的磁盘分区/卷。 但在这件事上找不到任何帮助参考。 作为隐藏卷,它不包含“磁盘字母”,因此您不能只键入“C:\”并访问它。 一个例子是Windows附带的“恢复分区”。 你无法在资源管理器上看到它但它就在那里。 我的应用程序将从thoose分区写入和读取数据,我必须找到一种方法来执行类似“c:\”的操作。 在上图中,卷5和6是隐藏的分区。 我在stackoverflow上找到了这个链接,但它只是“列出”de分区: https : //msdn.microsoft.com/en-us/library/cc542456(v = VS.85).aspx 编辑 问题是:即使使用WMI作为建议,我也找不到在查找文件时如何过滤卷。 例如, select * from win32_DataFile将列出机器中的所有文件。 我认为应该是一种使用ID(或名称)过滤Volumes的方法。 就像是: select * from win32_DataFile where volumeId = ‘\\?\Volume{2d5f3a68-75f5-44c4-aa42-716b45811916}\’ 或者更美丽的方式: var files = Directory.GetFiles(@”\\?\Volume{6ff7748e-78db-4838-8896-254b074918f5}\”); 此外,我发现了一个关于分区和卷的优秀的awenser(它们不是一回事) https://social.technet.microsoft.com/Forums/en-US/e7b2ddd6-f245-49ed-8fec-3b6e08e75369/how- DO-找到的最分区全局唯一标识符?论坛= winservergen EDIT2 正如Harry所说,使用“\。\ Volume ….”是恢复文件的好方法。 但我找不到使用c#编写(创建)新文件的方法。 到目前为止,最好的approch是使用pinvoke来实现c ++ CreateFile方法/句柄。 任何建议?

列出磁盘上的所有分区

我正在C#中为Windows不支持的文件系统创建一个实用程序,这意味着我不能只访问该驱动器。 我需要一种方法来列出硬盘上的所有分区并写入/格式化它们。